Ir para conteúdo
Fórum Script Brasil
  • 0

DataEnvironment x Datareport


nandomneto

Pergunta

Estou com um problema em relaçao ao DataReport com o Dataenvironment.Tenho dois comandos o Command1 e o seu filho Command2.Os dois estão relacionados.Quando faço uma pesquisa com o Dataenvironment1.rsCommand1.Filter = "vendedor='A%'" tudo certo a pesquisa sai corretamente.Mais quando utilizo Dataenvironment1.rsCommand1.Filter = "vendedor='A%' and datavenda ='05/05/2007'" mostra o seguinte erro "Failed Getting Rowset(s) from current Data source".Não sei o porque da mensagem.O campo vendedor esta no Command1 e o datavenda no Command2 como os dois estao relacionados acho que o filtro deveria ser feito mais não faz.Se eu deixar Dataenvironment1.rsCommand1.Filter = "vendedor='A%', ai funciona.porque não funciona com os campos do command2.Se alguém puder me ajudar eu gradeço muito.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Hum...pelo erro que está aparecendo, parece que o campo "datavenda" não faz parte do Command que você setou no DataMember do DataReport.

Veja bem: quando você seta o DataMember do DataReport com um Command, são levados em consideração somente os Fields (campos) desse Command. Para tirar a prova do que eu estou falando, tente configurar a propriedade DataField de qualquer RptTextBox do DataReport com o campo "datavenda", e você verá que o VB não vai trazer esse campo.

Se você quer relacionar duas tabelas, te aconselho a construir seu Command com um JOIN. Aí sim, você vai ter um relacionamento para seu relatório. Deve haver uma maneira de se fazer sem o JOIN, mas não sei como proceder.

Um exemplo de JOIN:

SELECT T1.CAMPO1, T1.CAMPO2, T1.CAMPO3,
T2.CAMPO1, T2.CAMPO2, T2.CAMPO3, T2.CAMPO4
FROM TABELA1 T1
JOIN TABELA2 T2 ON (T2.CAMPO1 = T1.CAMPO1)

Link para o comentário
Compartilhar em outros sites

  • 0
Hum...pelo erro que está aparecendo, parece que o campo "datavenda" não faz parte do Command que você setou no DataMember do DataReport.

Veja bem: quando você seta o DataMember do DataReport com um Command, são levados em consideração somente os Fields (campos) desse Command. Para tirar a prova do que eu estou falando, tente configurar a propriedade DataField de qualquer RptTextBox do DataReport com o campo "datavenda", e você verá que o VB não vai trazer esse campo.

Se você quer relacionar duas tabelas, te aconselho a construir seu Command com um JOIN. Aí sim, você vai ter um relacionamento para seu relatório. Deve haver uma maneira de se fazer sem o JOIN, mas não sei como proceder.

Um exemplo de JOIN:

SELECT T1.CAMPO1, T1.CAMPO2, T1.CAMPO3,
T2.CAMPO1, T2.CAMPO2, T2.CAMPO3, T2.CAMPO4
FROM TABELA1 T1
JOIN TABELA2 T2 ON (T2.CAMPO1 = T1.CAMPO1)

O seu join está certo.Agora faça o seguinte:

1 - Agrupe pelo metodo Command1_Grouping do command1 o campo T1.Campo1

2 - No Datareporte selecione Datasource = DataEnvironment1 e Datamenber = Command1_Grouping

3 - Agora com o botão direto do mouse em cima do datareport clic e escolha Retrieve structure

4 - Agora no goupheader coloque o campo T1.Campo1 que você agrupou e no Detail coloque o campo T2.Campo2

Perfeito o relatorio esta sendo agrupado e aparecendo os dados corretos.Bem agora vem o problema.

5 - Crie um botão e coloque:

DataEnvironment1.rsCommand1_Grouping.Filter = "T2.Campo2= 'TESTE'"

DataReport1.Show

Ai está o problema, não consigo gerar o relatorio.Se você poder me ajudar eu agradeço muito.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...