CONCLUIR EXECUCAO E IR PARA O PROXIMO COMANDO
Amigos, estou com um pequeno problema...
preciso executar um loop e inserir dados em uma tabela, após a inclusão, preciso abrir um relatório com os dados inseridos, até aà tudo bem, mas o problema é que ele deve estar chamando o relatório antes ou durante a inclusão o que faz com que apareça o relatório incompleto, se eu der um refresh no relatório quando ele surge na tela, naquele raiozinho amarelo, os dados aparecem...
como estou fazendo:
For i = 1 to 100
Data1.Recordset.AddNew
Data1.Recordset.Fields(1) = [Ô]valor qualquer[Ô]
Data1.UpdateRecord
Next
CrystalReport1.ReportFileName = [Ô]C:\Teste este.rpt[Ô]
CrystalReport1.Action = 1
no exemplo acima não aparecem os 100 registros que solicitei, agora;
For i = 1 to 100
Data1.Recordset.AddNew
Data1.Recordset.Fields(1) = [Ô]valor qualquer[Ô]
Data1.UpdateRecord
Next
Msgbox [Ô]Relatório Gerado com Sucesso[Ô]
CrystalReport1.ReportFileName = [Ô]C:\Teste este.rpt[Ô]
CrystalReport1.Action = 1
neste último exemplo, incluindo a Mensagem após o loop, ele fica certinho.... tentei usar o DoEvents, mas não resolveu.
Será que alguém pode me ajudar??
Obrigado por enquanto
preciso executar um loop e inserir dados em uma tabela, após a inclusão, preciso abrir um relatório com os dados inseridos, até aà tudo bem, mas o problema é que ele deve estar chamando o relatório antes ou durante a inclusão o que faz com que apareça o relatório incompleto, se eu der um refresh no relatório quando ele surge na tela, naquele raiozinho amarelo, os dados aparecem...
como estou fazendo:
For i = 1 to 100
Data1.Recordset.AddNew
Data1.Recordset.Fields(1) = [Ô]valor qualquer[Ô]
Data1.UpdateRecord
Next
CrystalReport1.ReportFileName = [Ô]C:\Teste este.rpt[Ô]
CrystalReport1.Action = 1
no exemplo acima não aparecem os 100 registros que solicitei, agora;
For i = 1 to 100
Data1.Recordset.AddNew
Data1.Recordset.Fields(1) = [Ô]valor qualquer[Ô]
Data1.UpdateRecord
Next
Msgbox [Ô]Relatório Gerado com Sucesso[Ô]
CrystalReport1.ReportFileName = [Ô]C:\Teste este.rpt[Ô]
CrystalReport1.Action = 1
neste último exemplo, incluindo a Mensagem após o loop, ele fica certinho.... tentei usar o DoEvents, mas não resolveu.
Será que alguém pode me ajudar??
Obrigado por enquanto
Ola... experimente executar um refresh no objeto Data
For i = 1 to 100
Data1.Recordset.AddNew
Data1.Recordset.Fields(1) = [Ô]valor qualquer[Ô]
Data1.UpdateRecord
Next
Data1.Refresh
CrystalReport1.ReportFileName = [Ô]C:\Teste este.rpt[Ô]
CrystalReport1.Action = 1
For i = 1 to 100
Data1.Recordset.AddNew
Data1.Recordset.Fields(1) = [Ô]valor qualquer[Ô]
Data1.UpdateRecord
Next
Data1.Refresh
CrystalReport1.ReportFileName = [Ô]C:\Teste este.rpt[Ô]
CrystalReport1.Action = 1
Isso acontece porque os dados ainda estão no buffer e não foram efetivados na tabela.
Eu costumo gravar com execute e neste caso tem que dar um (coneção).BeginTrans e (coneção).CommitTrans para forçar a atualização.
Eu costumo gravar com execute e neste caso tem que dar um (coneção).BeginTrans e (coneção).CommitTrans para forçar a atualização.
Tópico encerrado , respostas não são mais permitidas