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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Erro ao atualizar tabelas....
ChicoVieira
CRUZEIRO
SP - BRASIL
ENUNCIADA !
Postada em 14/07/2008 21:28 hs            
Olá. Preciso de uma orientação.
Meu aplicativo gerencia duas tabelas do tipo mdb(tbAndamento e tbTransações). Essas tabelas têm em comum campos do tipo <Data>: DataRetorno e DataDevolução. Essas tabelas acessam dois forms: um de registro dos dados digitados(frmAndamento) e uma que é atualizada automaticamente, após o usuário clicar no botão <Gravar Dados> da primeira tabela.
Se eu preencho o formAndamento com os dados requeridos, mas não digito a data de retorno (DataRetorno), a segunda tabela (tbTransações) não recebe os dados. Se digito todos os dados (incluindo a data do retorno), então a tbTransações é atualizada automaticamente, tal como ocorre com a primeira tabela (tbAndamento).
Eis a rotina da função <AtualizaCampos>:

Private Function AtualizaCampos()
    TbAndamento("NumCliente") = txtCodCli
    TbAndamento("NumFilme") = txtCodFita
    TbAndamento("Retirada") = txtdatasaída
    If txtdataretorno = "" Then
        IsNull (TbAndamento("Devolução"))
    Exit Function
    Else
        TbAndamento("Devolução") = txtdataretorno
        TbTransações.AddNew
        TbTransações("CodFilme") = txtCodFita
        TbTransações("NomeFilme") = lblFilme
        TbTransações("CodCli") = txtCodCli
        TbTransações("NomeCli") = lblCliente
        TbTransações("Saida") = txtdatasaída
        If IsEmpty(txtdataretorno) Then
            'TbTransações.Fields("Retorno") = ""
            'IsNull (TbTransações.Fields("Retorno"))
            IsNull (TbTransações("Retorno"))
            TbTransações.Update
        Exit Function
        Else
            TbTransações("Retorno") = txtdataretorno
            TbTransações.Update
        End If
    End If
End Function


Como podem ver, fiz diversas tentativas para a atualização da segunda tabela, em vão.
Alguém poderia me ajudar a visualizar onde está o erro?
Obrigado.
Chico.
   
Donkey
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 15/07/2008 11:32 hs            
Ueh, vc colocou isso:
If txtdataretorno = "" Then
        IsNull (TbAndamento("Devolução"))
        Exit Function

Não entendi o que pretendia com isso, pois Isnull retorna se o campo tem nulo ou não, então vc testa o campo txtdataretorno, estando vazio vc testa o campo (devolucao) (não entendi pq testa, pq não faz nada com isso), e em seguida sai da rotina de gravação.....

Por isso não esta gravando o resto, vc da um exit function....

Tem diversos erros nessa rotina, primeiro use Sub no lugar de function (afinal vc não ta retornando nada para quem chamou a rotina).
Vc tem q testar assim, if trim(txtdataretorno.text)= "" then (se o usuario digitar um espaço seu codigo já vai dar pau).

E tambem na hora de gravar a data é bom formatar, pois quando for usar outros bancos ou em outros sistemas operacionais com formato americano vai dar pau, entao faça assim:

Bem, acho que isso resolve os maiores problemas ai do seu código.

T+
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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