Bom dia pessoal...estou desenvolvendo uma aplicação em VBA sql em access travei no duplo select.vou postar o código aki ... o que esta acontecendo não esta atualizando
nas outras linhas da listbox... se alguém pude me ajudar desde já agradeço.
o primeiro select puxa de uma tabela que esta exite relação de um para muitos de outras tabelas....em seguida os outros selects pesquisam na outras tabelas e retornan os resultados da consulta dos IDs.
em seguida carrega na minha listbox
ouvir falar do array mas nao consegui adapta vou deixar um modelo que peguei da net se esse for o problema.
[code] btn_editar.Enabled = True btn_salvar.Enabled = False btn_excluir.Enabled = False '1 ° SELECT Dim comandoSQL As String comandoSQL = "select * from tb_cota " Call Conecta Set consulta = banco.OpenRecordset(comandoSQL) '2° SELECT Dim id As Double Dim comandoSQL2 As String id = consulta(1) comandoSQL2 = "select * from tb_plano where id_plano like '" & id & "' " Call Conecta Set consulta2 = banco.OpenRecordset(comandoSQL2) '3° SELECT Dim op As String Dim comandoSQL3 As String op = consulta(2) comandoSQL3 = "select * from tb_operacao " Call Conecta Set consulta3 = banco.OpenRecordset(comandoSQL3) '4° SELECT Dim ta As String Dim comandoSQL4 As String ta = consulta(1) comandoSQL4 = "select * from tb_tarefa " Call Conecta Set consulta4 = banco.OpenRecordset(comandoSQL4) '5° SELECT Dim eim As String Dim comandoSQL5 As String eim = consulta(2) comandoSQL5 = "select * from tb_eime " Call Conecta Set consulta5 = banco.OpenRecordset(comandoSQL5) '6° SELECT Dim seto As String Dim comandoSQL6 As String seto = consulta(2) comandoSQL6 = "select * from tb_setor " Call Conecta Set consulta6 = banco.OpenRecordset(comandoSQL6) 'On Error Resume Next linhalistbox = 0 list_cotas.Clear While Not consulta.EOF With Me.list_cotas .AddItem .List(linhalistbox, 0) = consulta2(1) .List(linhalistbox, 1) = consulta3(1) .List(linhalistbox, 2) = consulta4(1) .List(linhalistbox, 3) = consulta(4) .List(linhalistbox, 4) = consulta(5) .List(linhalistbox, 5) = consulta(6) .List(linhalistbox, 6) = consulta5(1) .List(linhalistbox, 7) = consulta(0) .List(linhalistbox, 8) = consulta6(1) End With consulta.MoveNext 'consulta2.MoveNext linhalistbox = linhalistbox + 1 Wend Call Desconecta list_cotas.Locked = False ' modelo de array * obs esse modelo puxa os dados da planilha e nao da sql. Dim arrayItems() With consulta ReDim arrayItems(1 To .UsedRange.Rows.Count, 1 To .UsedRange.Columns.Count) Me.ListBox1.ColumnCount = .UsedRange.Columns.Count For linha = 1 To .UsedRange.Rows.Count Me.ListBox1.AddItem For coluna = 1 To .UsedRange.Columns.Count arrayItems(linha, coluna) = .Cells(linha, coluna).Value Next coluna Next linha Me.ListBox1.List = arrayItems() End With[/code]
Pelo pouco que entendi vc criou um select para cada uma de suas tabelas do BD e o resultado de cada consulta é carregado na listbox uma em cada coluna. É isso?
Ja pensou usar powerquery pra normalizar esses dados?
Penso que vc precise de verificar os relacionamentos do banco para que possa assim criar uma consulta que vai te trazer os dados de acordo com o que vc precisa.
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
França,
Boa tarde!
Solicitamos, por gentileza, EDITAR a sua mensagem de modo a que os códigos VBA estejam dentro da ferramenta CODE (quinto botão da esquerda para a direita).
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
isso. .....mas como faço isso
Faço isso o que?
Disponibilizar o arquivo?
É so clicar em adcionar anexo na hora de responder.
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.