Para não precisar de colocar 2 botões para cada função estou querendo colocar 3 condição para meu if e não esta dando cert.
O objetivo da minha logica:
O primeiro If é verificar se o campo principal esta vazio, caso esteja ele para. (aqui OK)
O segundo If é inserir o usuário e 1 acompanhante (aqui OK)
O terceiro é inserir o usuário mais 2 acompanhantes
Dim sSQL As String
Dim DB As Database
'''''''''''Inseri com 1 acompanhante'''''''''''
'''''''''''Inseri com 2 acompanhante'''''''''''
Dim sSQL1 As String
Dim DB1 As Database
On Error GoTo trata_erro
If IsNull(Me.NdeAcompanhantes) Then
MsgBox "Informe o número de acompanhamtes", vbInformation, "TFD"
Me.NdeAcompanhantes.BackColor = vbRed
Exit Sub
ElseIf Me.NdeAcompanhantes = 1 Then
Set DB = CurrentDb
sSQL = "INSERT INTO tb_encaminhamento"
'CAMPOS----------------------------------------
sSQL = sSQL & "("
sSQL = sSQL & " IdUsuario"
sSQL = sSQL & ",Acompanhante"
sSQL = sSQL & ",CNS"
sSQL = sSQL & ",DataMarcada"
sSQL = sSQL & ",horasDoEncaminhamento"
sSQL = sSQL & ",Local"
sSQL = sSQL & ",EnderecoDoACompanhante"
sSQL = sSQL & ",CnsUsuario"
sSQL = sSQL & ",Procedimento"
sSQL = sSQL & ")"
'VALORES -------------------------------------
sSQL = sSQL & " VALUES"
sSQL = sSQL & "("
sSQL = sSQL & " '" & Trim(Me.txtIdUsuario.Value) & "'"
sSQL = sSQL & " ,'" & Trim(Me.cboAcompanhanteDoUser.Value) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtCNSAcomp.Value) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtDataDoEncaminhamento.Value) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtHoraDoEncaminhamento) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtDestino) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtEnderecoAcomp) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtCNSAcomp) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtProcedimento) & "'"
sSQL = sSQL & ")"
DB.Execute sSQL
MsgBox "Usuário encaminhado com sucesso!", vbInformation, "TFD"
DoCmd.PrintOut acPages, 1, 1, , 1 '<--vai a quantidade de cópias
'*****************************'Insere com 1 acompanhante*************************
'*****************************'Insere com 2 acompanhante*************************
ElseIf Me.NdeAcompanhantes = 2 Then
Set DB1 = CurrentDb
sSQL1 = "INSERT INTO tb_encaminhamento"
'CAMPOS----------------------------------------
sSQL = sSQL & "("
sSQL = sSQL1 & " IdUsuario"
sSQL = sSQL1 & ",Acompanhante"
sSQL = sSQL1 & ",CNS"
sSQL = sSQL1 & ",DataMarcada"
sSQL = sSQL1 & ",horasDoEncaminhamento"
sSQL = sSQL1 & ",Local"
sSQL = sSQL1 & ",EnderecoDoACompanhante"
sSQL = sSQL1 & ",CnsUsuario"
sSQL = sSQL1 & ",Procedimento"
sSQL = sSQL1 & ")"
'VALORES -------------------------------------
sSQL = sSQL & " VALUES"
sSQL = sSQL & "("
sSQL = sSQL & " '" & Trim(Me.txtIdUsuario.Value) & "'"
sSQL = sSQL & " ,'" & Trim(Me.cboAcompanhanteDoUser.Value) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtCNSAcomp.Value) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtDataDoEncaminhamento.Value) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtHoraDoEncaminhamento) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtDestino) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtEnderecoAcomp) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtCNSAcomp) & "'"
sSQL = sSQL & " ,'" & Trim(Me.txtProcedimento) & "'"
sSQL = sSQL & ")"
'2º acompanhatesSQL1 = sSQL1 & " VALUES"
sSQL1 = sSQL1 & "("
sSQL1 = sSQL1 & " '" & Trim(Me.txtIdUsuario.Value) & "'"
sSQL1 = sSQL1 & " ,'" & Trim(Me.cboAcompanhte2.Value) & "'"
sSQL1 = sSQL1 & " ,'" & Trim(Me.txtCNSAcomp2.Value) & "'"
sSQL1 = sSQL1 & " ,'" & Trim(Me.txtDataDoEncaminhamento.Value) & "'"
sSQL1 = sSQL1 & " ,'" & Trim(Me.txtHoraDoEncaminhamento) & "'"
sSQL1 = sSQL1 & " ,'" & Trim(Me.txtDestino) & "'"
sSQL1 = sSQL1 & " ,'" & Trim(Me.txtEnderecoAcomp) & "'"
sSQL1 = sSQL1 & " ,'" & Trim(Me.txtCNSAcomp2) & "'"
sSQL1 = sSQL1 & " ,'" & Trim(Me.txtProcedimento) & "'"
sSQL1 = sSQL1 & ")"
DB.Execute sSQL
Me.Requery
MsgBox "Usuario encaminhado." & vbCrLf & "Imprimir", vbInformation, "TFD"
DoCmd.PrintOut acPages, 1, 1, , 1 '<--vai a quantidade de cópias
trata_erro:
Else
End If
End Sub