MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    Alterar cadastro

    crysostomo
    crysostomo
    Super Avançado
    Super Avançado

    Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 813
    Registrado : 23/01/2018

    Alterar cadastro Empty Alterar cadastro

    Mensagem  crysostomo em 3/5/2019, 01:20

    Amigos, boa noite.
    Como posso alterar um cadastro , se eu coloquei uma condição de verificação se os nomes são iguais?
    Código:

    If (Not IsNull(DLookup("[nome]", "tblSample", _
    "[nome] ='" & Me![nome] & "'"))) Then
      MsgBox "O cliente " & Me.nome & " ja é cadastrado.", vbInformation, "Arquivamento"
      Me.nome.SetFocus
      Me.nome = ""
      Me.nome.SetFocus
    End If
    End Sub


    .................................................................................
    Uma mão ajuda a outra.
    O medo não é morrer, o medo é se alguém está morto dentro de você, assim como o fracassado é aquele que nem tentou
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 765
    Registrado : 13/12/2016

    Alterar cadastro Empty Re: Alterar cadastro

    Mensagem  Alexandre Fim em 3/5/2019, 02:20

    Crysostomo boa noite,

    Não utilize o nome como parâmetro de verificação de registros na base, pois corre o risco de você ter 2 clientes com o mesmo nome (homônimos).
    Geralmente, se faz a verificação por um campo que não se repete, no caso, o CPF.
    Ou você pode utilizar um conjunto de parâmetros (nome, nome da mãe, local de nascimento, RG, Data de Nascimento e etc...) para fazer esta verificação.

    Segue exemplo de instrução para INCLUIR ou ATUALIZAR o registro.

    Código:


    Public Sub GravarCliente(nTipo As Integer)
    On Error GoTo trata_erro
    Dim db          As DAO.Database
    Dim sSQL        As String
    Dim stracao    As String

        Set db = CurrentDb
       
        If nTipo = 1 Then
            stracao = "incluído"
            'Não inclui o código do cliente pq imagino que seja AUTONUMÉRICO
            sSQL = "INSERT INTO TB_CLIENTE "
            sSQL = sSQL & " ("
            sSQL = sSQL & "  NomeCli"
            sSQL = sSQL & " ,DataNascCli"
            sSQL = sSQL & " ,RGCli"
            sSQL = sSQL & " ,EnderecoCli"
            sSQL = sSQL & " )"
            sSQL = sSQL & " VALUES"
            sSQL = sSQL & " ("
            sSQL = sSQL & "  '" & Trim(Me.txtnomecli) & "'"
            sSQL = sSQL & " ,'" & Trim(Me.txtdtnasccli) & "'"
            sSQL = sSQL & " ,'" & Trim(Me.txtrgcli) & "'"
            sSQL = sSQL & " ,'" & Trim(Me.txtnomecli) & "'"
            sSQL = sSQL & " )"
        ElseIf nTipo = 2 Then
            stracao = "alterado"
            sSQL = "UPDATE TB_CLIENTE SET"
            sSQL = sSQL & "  NomeCli = '" & Me.txtnomecli & "'"
            sSQL = sSQL & " ,DataNascCli = '" & Me.txtdtnasccli & "'"
            sSQL = sSQL & " ,RGCli= '" & Me.txtrgcli & "'"
            sSQL = sSQL & " ,EnderecoCli= '" & Trim(Me.txtendcli) & "'"
            sSQL = sSQL & " WHERE CodCli= " & Me.txtcodcli & ""
        End If
       
        'Executa a instrução de INCLUIR OU ATUALIZAR
        db.Execute sSQL

        MsgBox "Registro " & stracao & " com sucesso.", vbInformation, "Mensagem"
       
        Exit Sub
       
    'Tratamento de erro
    trata_erro:
        MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
        Exit Sub
       

    End Sub


    O procedimento acima pode ser executado através de um botão de comando, com a seguinte instrução:

    Código:


    'informe 1 para INCLUIR ou 2 para ATUALIZAR
    Call GravaCliente(1)


    Espero ter ajudado

    Boa sorte
    crysostomo
    crysostomo
    Super Avançado
    Super Avançado

    Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 813
    Registrado : 23/01/2018

    Alterar cadastro Empty Re: Alterar cadastro

    Mensagem  crysostomo em 3/5/2019, 02:40

    Sim essa verificação nos nomes é porque aqui no sistema não precisa de cpf, mas nos próximos sistemas eu vou verificar o cpf.
    vou testear esse código.

    vlw


    .................................................................................
    Uma mão ajuda a outra.
    O medo não é morrer, o medo é se alguém está morto dentro de você, assim como o fracassado é aquele que nem tentou

    Conteúdo patrocinado

    Alterar cadastro Empty Re: Alterar cadastro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/7/2019, 10:20