Rafaeljuni0.ti Posted January 10, 2012 Report Share Posted January 10, 2012 Ola pessoal! to com uma duvida tremenda não tenho experiencia com vba então vau la... tenhoum forumalio no excel com o textbox e no click do botao gostaria que na planilha especificadano codigo recebe uma consulta do banco ... o SELECT abaixo funciona se eu tirar o WHERE " & codigo & " = tbl_principal.iteMmas ai vem a consulta inteira ( essa SELECT tirei de uma consulta feita pelo assiste do access) e so que que mostrena planilha onde o codigo que o usuario digitou for igual ao do campo item da tabela tbl_principal Obs. declarei codigo como string porque no meu banco apesar de ser numero 8 digitos no banco esta do tipo textomas já tentei usando variant ,integer e etc. o erro da no tipo de dados incopatives com criterio acho que o erro ta depois do wherese alguém puder me ajudar Vlw muito obrigado pela atencao !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:\meubanco.mdb;" cn.CursorLocation = adUseClient cn.Open Dim codigo As String codigo = Txt_ConsPorCod.Value Set Rs = cn.Execute("SELECT tbl_principal.Item, tbl_principal.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_principal.Item = tbl_Relatorio_mensal.Item) INNER JOIN tbl_Estoque ON tbl_principal.Item = tbl_Estoque.Item WHERE " & codigo & " = tbl_principal.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 Quote Link to comment Share on other sites More sharing options...
Question
Rafaeljuni0.ti
Ola pessoal! to com uma duvida tremenda não tenho experiencia com vba então vau la... tenho
um forumalio no excel com o textbox e no click do botao gostaria que na planilha especificada
no codigo recebe uma consulta do banco ... o SELECT abaixo funciona se eu tirar o WHERE " & codigo & " = tbl_principal.iteM
mas ai vem a consulta inteira ( essa SELECT tirei de uma consulta feita pelo assiste do access) e so que que mostre
na planilha onde o codigo que o usuario digitou for igual ao do campo item da tabela tbl_principal
Obs. declarei codigo como string porque no meu banco apesar de ser numero 8 digitos no banco esta do tipo texto
mas já tentei usando variant ,integer e etc. o erro da no tipo de dados incopatives com criterio acho que o erro ta depois do where
se alguém puder me ajudar
Vlw muito obrigado pela atencao !
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:\meubanco.mdb;"
cn.CursorLocation = adUseClient
cn.Open
Dim codigo As String
codigo = Txt_ConsPorCod.Value
Set Rs = cn.Execute("SELECT tbl_principal.Item, tbl_principal.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_principal.Item = tbl_Relatorio_mensal.Item) INNER JOIN tbl_Estoque ON tbl_principal.Item = tbl_Estoque.Item WHERE " & codigo & " = tbl_principal.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
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.