Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) - AJUDA: Como Carregar Informações A partir de ComboBox?


EvertonLuiz

Pergunta

Bom dia!

Sou novo na arte de programar e estou me arriscando no VBA

Estou tentando montar um formulário de consulta, com base em informações de um BD do Access (2010).

Mas encontrei dificuldade para montar uma variável

Dentro do meu form, tenho duas ComboBox.

A combo 1(ComboBoxEntidade) seleciona a Região, e com base na escolha da combo 1, a combo 2 (ComboBoxMunicipio)mostra as cidades.

Isso funcionou bem

Porem, na hora de pesquisar e carregar as informações, com base na escolha, não consigo inserir variáveis.

Estou tentando assim:

'Função Pesquisar

Function Pesquisar()

Dim SQL As String

If ComboBoxEntidade.Text = "SUL" Then

SQL = "SELECT * FROM LOGIN_SUL WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"

AbreConsulta SQL

Else

If ComboBoxEntidade.Text = "NORTE" Then

SQL = "SELECT * FROM LOGIN_NORTE WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"

AbreConsulta SQL

Else

If ComboBoxEntidade.Text = "OESTE" Then

SQL = "SELECT * FROM LOGIN_OESTE WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"

AbreConsulta SQL

If vRec.RecordCount = 0 Then

MsgBox "MUNICIPIO NÃO ENCONTRADO!"

Else

txtMunicipio.Text = Trim(vRec!MUNICIPIO) & ""

txtVencimento.Text = Trim(vRec!VENCIMENTO) & ""

TextContato.Text = Trim(vRec!CONTATO) & ""

TextTelefone.Text = Trim(vRec!TELEFONE) & ""

TextEmail.Text = Trim(vRec!Email) & ""

TextEndereçoEletronico.Text = Trim(vRec!ENDEREÇO_ELETRONICO) & ""

TextLogin.Text = Trim(vRec!LOGIN) & ""

TextSenha.Text = Trim(vRec!SENHA) & ""

TextDForma.Text = Trim(vRec!FORMA) & ""

TextOutro.Text = Trim(vRec!OBSERVAÇÃO) & ""

End If

End If

End Function

' Botão Pesquisar

Private Sub cmdPesquisar_Click()

Call Pesquisar

End Sub

Neste caso, ele só esta carregando as informações da variável “OESTE”.

Será que alguém pode me ajudar??

Obrigado

Editado por EvertonLuiz
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Você está programando na IDE Visual Basic 6.0 ou está utilizando o Editor VBA do Excel ?

Se for na IDE aqui vai minha opinião:

Acho que para sua função seria interessante utilizar o "Select Case" ao invés do "If Else"...

sem falar que você está usando o If Else errado...

Seria mais ou menos assim com o "Select Case":

'Função Pesquisar

Function Pesquisar()
Dim SQL As String
Dim v_Region As String

' Aloco na variável "v_Region" o conteúdo escolhido na ComboBox:
v_Region = ComboBoxEntidade.Text

' Inicio a rotina de decisão "Select Case" (Selecione Caso...)
  Select Case v_Region
         
      ' Caso seja SUL:
         Case "SUL"
              SQL = "SELECT * FROM LOGIN_SUL WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"
              
      ' Caso seja NORTE:
         Case "NORTE"
              SQL = "SELECT * FROM LOGIN_NORTE WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"
             
      ' Caso seja OESTE:
         Case "OESTE"
              SQL = "SELECT * FROM LOGIN_OESTE WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"
  End Select
  
' Aqui a consulta é aberta segundo a decisão tomada no "Select":
  AbreConsulta SQL


     If vRec.RecordCount = 0 Then
        MsgBox "MUNICIPIO NÃO ENCONTRADO!"
        Exit Function

     Else
        txtMunicipio.Text = Trim(vRec!MUNICIPIO) & ""
        txtVencimento.Text = Trim(vRec!VENCIMENTO) & ""
        TextContato.Text = Trim(vRec!CONTATO) & ""
        TextTelefone.Text = Trim(vRec!TELEFONE) & ""
        TextEmail.Text = Trim(vRec!Email) & ""
        TextEndereçoEletronico.Text = Trim(vRec!ENDEREÇO_ELETRONICO) & ""
        TextLogin.Text = Trim(vRec!LOGIN) & ""
        TextSenha.Text = Trim(vRec!SENHA) & ""
        TextDForma.Text = Trim(vRec!FORMA) & ""
        TextOutro.Text = Trim(vRec!OBSERVAÇÃO) & ""

     End If

End Function

' Botão Pesquisar

Private Sub cmdPesquisar_Click()

   Call Pesquisar

End Sub
Usando o "If Else" fica assim:
'Função Pesquisar

Function Pesquisar()
Dim SQL As String

 If ComboBoxEntidade.Text = "SUL" Then
    SQL = "SELECT * FROM LOGIN_SUL WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"

 ElseIf ComboBoxEntidade.Text = "NORTE" Then
    SQL = "SELECT * FROM LOGIN_NORTE WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"

 ElseIf ComboBoxEntidade.Text = "OESTE" Then
    SQL = "SELECT * FROM LOGIN_OESTE WHERE MUNICIPIO = '" & ComboBoxMunicipio.Text & "'"
    
 End If

   AbreConsulta SQL

      If vRec.RecordCount = 0 Then
         MsgBox "MUNICIPIO NÃO ENCONTRADO!", vbExclamation

      Else
         txtMunicipio.Text = Trim(vRec!MUNICIPIO) & ""
         txtVencimento.Text = Trim(vRec!VENCIMENTO) & ""
         TextContato.Text = Trim(vRec!CONTATO) & ""
         TextTelefone.Text = Trim(vRec!TELEFONE) & ""
         TextEmail.Text = Trim(vRec!Email) & ""
         TextEndereçoEletronico.Text = Trim(vRec!ENDEREÇO_ELETRONICO) & ""
         TextLogin.Text = Trim(vRec!LOGIN) & ""
         TextSenha.Text = Trim(vRec!SENHA) & ""
         TextDForma.Text = Trim(vRec!FORMA) & ""
         TextOutro.Text = Trim(vRec!OBSERVAÇÃO) & ""

      End If

End Function

' Botão Pesquisar

Private Sub cmdPesquisar_Click()

   Call Pesquisar

End Sub

Beleza ?!

Testa aí ver se tá funcionando...

Só um detalhe...para facilitar a leitura do seu código, utilize a tag "CODE".

Ela é a última opção da caixa de ferramentas que fica disponível logo acima.

VALEU ! Legal.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...