none
Condicional If then else usando campo do banco RRS feed

  • Pergunta

  • Ola pessoal ! tenho uma textbox no formulario excel onde o usuario vai informar um codigo(ID) 
    e fiz um codigo de que verifica se esse codigo eh igual ao um campo chamado "item" na tabela 
    "EQUIP"...caso o valor digitado no text box seje igual ao  campo "Item" .. a rotina tem  fazer um SELECT 
    banco de dados (Access) .  e trazer somente o  regitro do item digitado ...
    Estou usando o seguinte codigo e copilei com F8 e vi que ele passa por todas linhas mas nao me tra os registros na planilha que especifico no codigo
    sendo que se tiro o IF then else ele tras todos os item (2000 itens) sendo que minha intecao e trrazer somente um item aquele que foi digitado pelo usuario
    Private Sub btn_exibir_porCod_Click()
      Dim cn As New ADODB.Connection
      Dim Rs As New ADODB.Recordset
      
      Set cn = New ADODB.Connection
          cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=H:\Projeto\GAMOG.mdb;"
          cn.CursorLocation = adUseClient
          cn.Open
          
          Dim codigo As String
          codigo = Txt_ConsPorCod.Value
                 
           Set Rs = cn.Execute("SELECT tbl_PLURI.Item, tbl_PLURI.Descricao, tbl_Relatorio_mensal.Status_Item, tbl_Relatorio_mensal.[Tipo Item Usuário], tbl_Relatorio_mensal.Mínimo, tbl_Relatorio_mensal.Máximo, tbl_Estoque.[Saldo Consumo] FROM (tbl_PLURI INNER JOIN tbl_Relatorio_mensal ON tbl_PLURI.Item = tbl_Relatorio_mensal.Item) INNER JOIN tbl_Estoque ON tbl_PLURI.Item = tbl_Estoque.Item WHERE " & codigo & " = tbl_PLURI.item;")
                
                ' preenche o cabeçalho do relatorio
                
                Plan3.Range("A1").Value = (" Relatorio ")
                Plan3.Range("A2").Value = ("Todos os Itens Com Problemas")
                ' Vai para a planilha onde o relatorio sera mostrado
                Worksheets("Relatorio").Select
                Range("A6").Select
                ' preenshe as a planilha com a consulta entre D6 e J6
                Plan3.Range("A6, G6").Select
                Plan3.Range("A6, G6").CopyFromRecordset Rs
        cn.Close
        
    End Sub
    Vlw galero obrigado pela atencao !
    terça-feira, 10 de janeiro de 2012 21:13

Respostas

  • No teu código não vejo nenhu  If ... Then ...  Else ...

     

    Mas vejo que no WHERE da pesquisa colocas  Valor=Campo e deveria ser Campo=Valor.

    • Marcado como Resposta RJ_Silva sexta-feira, 6 de dezembro de 2013 22:01
    sábado, 14 de janeiro de 2012 11:46