Amigos, estou com um probleminha no nosso querido Access. Uso muito o access mas sempre em modo estrutura, portanto agora que estou utilizando o VB, e por sinal estou quebrando a cabeça. rsrs
Preciso popular uma lista que inserido de uma pesquisa no formulário através de uma combo, está funcionando, porém só insere o primeiro item da lista do combo, qualquer um que seleciono para inserção na lista que funciona como um subformulário, continua inserindo somente o primeiro registro. Como fazer para que seja inserido o registro foi selecionado da combo na lista?
Segue a baixo o código:
Private Sub txtPesquisar_AfterUpdate
On Error GoTo TErro
Dim Descricao As String, Cnpj As String, Cod As Double
If IsNull(Me.txtPesquisar) Or Me.txtPesquisar.Value = "" Or Len(Me.txtPesquisar) < 2 Then
MsgBox "Não foi digitado um fornecedor válido.", , "ATENÇÃO"
Me.txtPesquisar.SetFocus
Me.txtPesquisar = Null
Else
If IsNull(DLookup("nome_empresa", "cad_fornecedor", "nome_empresa" & Descricao)) Then
MsgBox "O nome_empresa """ & Descricao & """é inexistente." & vbCrLf & "Por favor, verifique e tente novamente.", vbOKOnly + vbCritical, "ATENÇÃO"
Me.txtPesquisar.SetFocus
Me.txtPesquisar = Null
Else
Me.lstFornecedor.RowSourceType = "value list"
Me.lstFornecedor.AddItem Item:=DLookup("Código", "cad_fornecedor", "nome_empresa" & Descricao) & ";" & _
Format(DLookup("nome_empresa", "cad_fornecedor", "nome_empresa" & Descricao), "currency") & ";" & _
Format(DLookup("cnpj", "cad_fornecedor", "nome_empresa" & Descricao), "currency") & ";" & _
Format(DLookup("telefone", "cad_fornecedor", "nome_empresa" & Descricao), "currency")
Me.txtPesquisar = Null
End If
End If
TErro:
If Error = 2471 Then
MsgBox "Nesse campo não deve ser digitado texto, apenas ""nome da empresa", vbOKOnly + vbCritical, "ERRO"
ElseIf Err.Number = 3075 Then
MsgBox "Nesse campo deve ser digitado apenas nome_empresa do fornecedor.", vbOKOnly + vbCritical, "ERRO"
Else
Resume Next
End If
End Sub
Preciso popular uma lista que inserido de uma pesquisa no formulário através de uma combo, está funcionando, porém só insere o primeiro item da lista do combo, qualquer um que seleciono para inserção na lista que funciona como um subformulário, continua inserindo somente o primeiro registro. Como fazer para que seja inserido o registro foi selecionado da combo na lista?
Segue a baixo o código:
Private Sub txtPesquisar_AfterUpdate
On Error GoTo TErro
Dim Descricao As String, Cnpj As String, Cod As Double
If IsNull(Me.txtPesquisar) Or Me.txtPesquisar.Value = "" Or Len(Me.txtPesquisar) < 2 Then
MsgBox "Não foi digitado um fornecedor válido.", , "ATENÇÃO"
Me.txtPesquisar.SetFocus
Me.txtPesquisar = Null
Else
If IsNull(DLookup("nome_empresa", "cad_fornecedor", "nome_empresa" & Descricao)) Then
MsgBox "O nome_empresa """ & Descricao & """é inexistente." & vbCrLf & "Por favor, verifique e tente novamente.", vbOKOnly + vbCritical, "ATENÇÃO"
Me.txtPesquisar.SetFocus
Me.txtPesquisar = Null
Else
Me.lstFornecedor.RowSourceType = "value list"
Me.lstFornecedor.AddItem Item:=DLookup("Código", "cad_fornecedor", "nome_empresa" & Descricao) & ";" & _
Format(DLookup("nome_empresa", "cad_fornecedor", "nome_empresa" & Descricao), "currency") & ";" & _
Format(DLookup("cnpj", "cad_fornecedor", "nome_empresa" & Descricao), "currency") & ";" & _
Format(DLookup("telefone", "cad_fornecedor", "nome_empresa" & Descricao), "currency")
Me.txtPesquisar = Null
End If
End If
TErro:
If Error = 2471 Then
MsgBox "Nesse campo não deve ser digitado texto, apenas ""nome da empresa", vbOKOnly + vbCritical, "ERRO"
ElseIf Err.Number = 3075 Then
MsgBox "Nesse campo deve ser digitado apenas nome_empresa do fornecedor.", vbOKOnly + vbCritical, "ERRO"
Else
Resume Next
End If
End Sub