NAVEGACAO PELOS REGISTROS NO BD

PERCIFILHO 24/10/2011 16:17:40
#387590
Imagem 1
PERCIFILHO 24/10/2011 16:19:10
#387591
Imagem 2
PERCIFILHO 24/10/2011 16:21:05
#387592
Boa tarde, amigos.
Um problema sério:
Tenho um formulário onde o usuário insere uns documentos que são controlados.
(primeira tela).
Neste formulário, mostro o número de sequencia, a data, o nome do desenhista, o nome do fornecedor e o número de ordem do documento; os desenhos referentes a esse
documento são mostrados num DataGridView.
Os botões de navegação dos registros funcionam perfeitamente no cadastro.
Mas, quando clico no botão de consulta, abre a tela para consultar.
(segunda tela).
Depois de escolher o filtro e realizar a pesquisa, o resultado é mostrado em um DataGridView.
Dando duplo clique em um registro, o sistema fecha a tela de consulta, pesquisa no BD e mostra o resultado na tela anterior.
O problema é que após mostrar o documento no formulário dos documentos controlados, a navegação já não fica correta.
Como posso fazer para saber qual a posição do registro que vai aparecer no formulário
para que eu possa navegar nos registros corretamente?

Até mais.
RODRIGOFERRO 24/10/2011 17:30:35
#387606
bom... sem o codigo vai ser dificil o pessoal matar essa !

Voce debugou a navegação pra saber qual a diferença que esta dando ??

Abraços
NICKOSOFT 24/10/2011 17:46:45
#387611
nessa tabela onde guarda os documentos controlados, tem um campo codigo? auto numeracao, sem repeticao?
poderia se basear por ele e proceder a navegacao (as buscas) usando como indice esse campo
proximo, aumenta um no valor q tem de codigo, e busca por esse codigo na tabela dos documentos controlados, se é q entendi bem
PROFESSOR 24/10/2011 19:45:22
#387620
Á princípio, acredito que você está passando o mesmo datasource da primeira tela para que a segunda o utilize. Ou é o mesmo datasource ou é um datasource tipado, comum á ambas as janelas. E isso seria um dos problemas, cuja solução seria a individualização das tarefas, ou seja, para cada tela uma fonte de dados.

A segunda possibilidade é que a segunda tela efetue alterações na ordem dos registros, que não são refletidos pela primeira. Esse problema resolve-se:
A. grava-se a posição corrente antes do formulário 1 chamar o formulário 2.
B. chamar o formulário 2, que faça quaisquer que sejam suas tarefas e aguardar seu encerramento (modal ou dialog).
C. Chamar a rotina de carga dos dados do formulário 1 após o fechamento do formulário 2 e re-posicionar os registros utilizando a posição gravada antes.

De imediato, e sem código, é o que se deduz.


PERCIFILHO 25/10/2011 08:00:57
#387658
Pessoal, desculpem a minha falha. Na pressa, enviei as telas e nem pensei que o código é o mais importante. Vou tentar montar um teste com essas telas e envio para vocês analisarem. Ok?

Até mais.
Tópico encerrado , respostas não são mais permitidas