USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  <<Problema sério de navegação - ADO>>
Luizinho
IPERÓ
SP - BRASIL
ENUNCIADA !
Postada em 17/01/2005 09:49 hs            
Caros colegas;
Estou de cara com um problema que nunca me ocorreu, analizem:
Tenho um BD.mdb para Contas, sem chave primária pois faço a verificação via código;
Ao gravar faço a seguinte verificação:
 
If Not TB.EOF Then
TB.MoveMin
Do While Not TB.EOF
    If TB!CNPJ = CNPJ.Caption And TB!Fatura = Fatura.Text Then
        MsgBox "Esta Fatura já esta Cadastrada! Verifique!", vbCritical, "Duplicação de Fatura."
        Set TB = Nothing: Exit Sub
    End If
TB.MoveNext
Loop
End If
 
Ou seja, permite faturas iguais desde que o CNPJ seja diferente...Até o momento de gravação corre tudo bem, mas, quando chega na hora de navegar entre os registros acabei me complicando, pois o código que eu costumo usar para a navegação é este...
ir para Próximo...
Set Nav = New ADODB.Command
Set Nav.ActiveConnection = BD
Nav.CommandType = adCmdText
Nav.CommandText = "select * from CCPagar where fatura =(select min(fatura) from ccpagar where fatura > ?)"
Nav.Parameters(0).Value = Fatura.Text
Set TB = Nav.Execute
 
Obs.:Quando não existem faturas iguais tudo corre bem, mas a partir do momento que se grava uma fatura com o mesmo nº (porém com outro CNPJ), começa a complicação, pois, a pesquisa sempre para na primeira e não da continuidade na navegação.
 
Caso alguem tenha uma solução, Por Favor, ME AJUDEM....
 
   
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 17/01/2005 09:56 hs         
Basta incluir o CNPJ na query:

Nav.CommandText = "select * from CCPagar where fatura =(select min(fatura) from ccpagar where fatura > ?) AND CNPJ=" & txtcnpj.text


 

 
   
Luizinho
IPERÓ
SP - BRASIL
ENUNCIADA !
Postada em 17/01/2005 10:30 hs            
Na verdade preciso achar a fatura anterior, mas o cnpj dela é diferente...
Obrigado.
   
Luizinho
IPERÓ
SP - BRASIL
ENUNCIADA !
Postada em 17/01/2005 10:49 hs            
Kerplunk; a sua dica gerou um erro, implementei o seguinte:
 
Nav.CommandText = "select * from CCPagar where fatura =(select max(fatura) from ccpagar where fatura < ?) And CNPJ <> ' " & CNPJ.Caption & " '"
 
Mesmo assim ele retorna true para .EOF, sabendo que existe uma fatura igual e com outro CNPJ...
   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página