MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

2 participantes

    [Resolvido]ElseIf para verificar se já tem um registro na tabela

    avatar
    FabioCSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 17/08/2021

    [Resolvido]ElseIf para verificar se já tem um registro na tabela Empty [Resolvido]ElseIf para verificar se já tem um registro na tabela

    Mensagem  FabioCSilva 22/9/2021, 22:38

    Caros amigos, boa noite!
    Poderiam me ajudar, não estou conseguindo criar um ElseIf para verificar se já existe um registro na tabela.
    Se não tiver o registro deveria aparecer a mensagem "SAO NÃO LOCALIZADO, FAVOR VERIFICAR!"

    Private Sub OK1_AR_Click()

    If Me.SAO_AR1 = "" Then
    MsgBox "Favor verificar o número do SAO!"

    ElseIf Me.SAO_AR1 < 8000000 Then
    MsgBox "Favor verificar o número do SAO!"

    ElseIf Me.SAO_AR1 <> [SAO] Then
    "SAO NÃO LOCALIZADO, FAVOR VERIFICAR!"


    Me.SAO_AR1 = ""
    Me.SAO_AR1.SetFocus

    Else

    Dim dbl As Database
    Dim rs As Recordset
    Dim strSQL As String

    strSQL = "Select * FROM cadastro WHERE SAO = '" & Me.SAO_AR1 & "'ORDER BY id desc"

    Set dbl = CurrentDb
    Set rs = dbl.OpenRecordset(strSQL)

    If Not rs.BOF Then
    Me.SAO_HC = rs("sao")
    Me.Status_HC = rs("status_hc")
    Me.Tratamento_HC = rs("Tratamento")
    Me.Data_HC = rs("data_hc")
    Me.Hora_HC = rs("hora_hc")
    Me.Op_DIP = rs("Operador_dip")
    Me.Bastao = rs("bastão")
    Me.Op_Optimal = rs("operador_optimal")
    Me.Optimal = rs("optimal")

    End If
    rs.Close
    Set rs = Nothing
    dbl.Close
    Set dbl = Nothing

    End If

    Me.OK2_AR.SetFocus

    End Sub
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]ElseIf para verificar se já tem um registro na tabela Empty Re: [Resolvido]ElseIf para verificar se já tem um registro na tabela

    Mensagem  Alexandre Fim 22/9/2021, 23:09

    Fábio,

    Copie e cole o código abaixo:

    Código:


    Private Sub OK1_AR_Click()
    On Error GoTo trata_erro

    Dim dbl        As DAO.Database
    Dim rs          As DAO.Recordset
    Dim strSQL      As String


        If IsNull(Me.SAO_AR1) Or Trim(Me.SAO_AR1) = "" Then
            MsgBox "Favor verificar o número do SAO!", vbExclamation, "Aviso"
            Me.SAO_AR1.SetFocus
            Exit Sub '-- Se não atender a condição, pára aqui
        End If
       
        If Me.SAO_AR1 < 8000000 Then
            MsgBox "Favor verificar o número do SAO!", vbExclamation, "Aviso"
            Me.SAO_AR1.SetFocus
            Exit Sub '-- Se não atender a condição, pára aqui
        End If
       
        If Me.SAO_AR1 <> [SAO] Then
            MsgBox "Favor verificar o número do SAO!", vbExclamation, "Aviso"
            Me.SAO_AR1.SetFocus
            Exit Sub '-- Se não atender a condição, pára aqui
        End If
       
       
        Me.SAO_AR1 = ""
        Me.SAO_AR1.SetFocus
       
       
        strSQL = "SELECT * FROM cadastro WHERE SAO = '" & Trim(Me.SAO_AR1) & "' ORDER BY id DESC"
       
        Set dbl = CurrentDb
        Set rs = dbl.OpenRecordset(strSQL)
       
        If Not rs.EOF Then
            Me.SAO_HC = rs("sao")
            Me.Status_HC = rs("status_hc")
            Me.Tratamento_HC = rs("Tratamento")
            Me.Data_HC = rs("data_hc")
            Me.Hora_HC = rs("hora_hc")
            Me.Op_DIP = rs("Operador_dip")
            Me.Bastao = rs("bastão")
            Me.Op_Optimal = rs("operador_optimal")
            Me.Optimal = rs("optimal")
        Else
           
            MsgBox "SAO não localizado. Favor verificar!", vbExclamation, "Mensagem"
            '-- Se não achar o registro, limpa os campos
            Me.SAO_HC = Empty
            Me.Status_HC = Empty
            Me.Tratamento_HC = Empty
            Me.Data_HC = Empty
            Me.Hora_HC = Empty
            Me.Op_DIP = Empty
            Me.Bastao = Empty
            Me.Op_Optimal = Empty
            Me.Optimal = Empty
        End If
       
        rs.Close
        Set rs = Nothing
       
        'dbl.Close
        'Set dbl = Nothing
       
        End If
       
        Me.OK2_AR.SetFocus
       
        Exit Sub

    trata_erro:
        MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro!!"
        Exit Sub

    End Sub


    É isso.



    avatar
    FabioCSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 17/08/2021

    [Resolvido]ElseIf para verificar se já tem um registro na tabela Empty Re: [Resolvido]ElseIf para verificar se já tem um registro na tabela

    Mensagem  FabioCSilva 23/9/2021, 21:57

    Alexandre, Boa tarde!
    Desculpe não responder antes, fiquei muito ocupado.
    Eu exclui a parte inicial do código, estava dando um erro, e deixei o restante do código conforme abaixo. Esta funcionando muito bem. Retorna apenas o "SAO" se estiver na tabela.
    Era exatamente isso que precisava!

    O fórum é 10, parabéns à todos, sempre atenciosos, dedicados e dispostos a ajudar com muita boa vontade!

    Obrigado

    Private Sub OK1_AR_Click()

    On Error GoTo trata_erro

    Dim dbl As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSQL As String

    strSQL = "SELECT * FROM cadastro WHERE SAO = '" & Trim(Me.SAO_AR1) & "' ORDER BY id DESC"

    Set dbl = CurrentDb
    Set rs = dbl.OpenRecordset(strSQL)

    If Not rs.EOF Then
    Me.SAO_HC = rs("sao")
    Me.Status_HC = rs("status_hc")
    Me.Tratamento_HC = rs("Tratamento")
    Me.Data_HC = rs("data_hc")
    Me.Hora_HC = rs("hora_hc")
    Me.Op_DIP = rs("Operador_dip")
    Me.Bastao = rs("bastão")
    Me.Op_Optimal = rs("operador_optimal")
    Me.Optimal = rs("optimal")
    Else

    MsgBox "SAO não localizado. Favor verificar!", vbExclamation, "Mensagem"
    '-- Se não achar o registro, limpa os campos
    Me.SAO_HC = Empty
    Me.Status_HC = Empty
    Me.Tratamento_HC = Empty
    Me.Data_HC = Empty
    Me.Hora_HC = Empty
    Me.Op_DIP = Empty
    Me.Bastao = Empty
    Me.Op_Optimal = Empty
    Me.Optimal = Empty
    End If

    rs.Close
    Set rs = Nothing

    'dbl.Close
    'Set dbl = Nothing

    'End If

    Me.OK2_AR.SetFocus

    Exit Sub

    trata_erro:
    MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro!!"
    Exit Sub
    End Sub

      Data/hora atual: 6/10/2022, 07:32