Como trabalho com banco MySQL on-line eu teria que criar uma cópia para poder enviar a base e aí fica um pouco complicado! Mas é um ListBox normal que carrego assim:
Sub Load_ListBox()
If Not IsNull(Me.BuscarProd) Or Not IsNull(Me.Montadora) Or Not IsNull(Me.Modelo) Or Not IsNull(Me.CR.Value) Or Not IsNull(Me.ModeloReduz.Value) Or Not IsNull(Me.Comercial2.Value) Then
Me.Lista.RowSource = ""
Me.Refresh
strRS = "SELECT tbl_Aplicacao.Codigo, tbl_Aplicacao.AplApl, tbl_ProdutoGrupo.Grupo, tbl_ProdutoTipo.Tipo, tbl_Montadora.Montadora, tbl_ModeloRed.ModeloReduz, tbl_Produto.Comercial2 " & _
"FROM (tbl_Produto INNER JOIN (tbl_ModeloRed INNER JOIN (tbl_Modelo INNER JOIN (tbl_Montadora INNER JOIN (tbl_ProdutoTipo INNER JOIN (tbl_ProdutoGrupo INNER JOIN tbl_Aplicacao ON tbl_ProdutoGrupo.Codigo = tbl_Aplicacao.Grupo) ON tbl_ProdutoTipo.Codigo = tbl_Aplicacao.TipoProduto) ON tbl_Montadora.Codigo = tbl_Aplicacao.AplMont) ON tbl_Modelo.Codigo = tbl_Aplicacao.AplMod) ON tbl_ModeloRed.Codigo = tbl_Aplicacao.ModeloReduz) ON tbl_Produto.Produto = tbl_Aplicacao.AplApl) INNER JOIN tbl_CrossReference ON tbl_Aplicacao.AplApl = tbl_CrossReference.Produto " & _
"WHERE (((tbl_Aplicacao.AplApl) Like '%" & Me.BuscarProd & "%') AND ((tbl_Aplicacao.Grupo)=" & Me.GrupoProd & ") AND ((tbl_Aplicacao.TipoProduto)=" & Me.TipoProduto & ") AND ((tbl_Montadora.Montadora) Like '%" & Me.Montadora & "%') AND ((tbl_ModeloRed.ModeloReduz) Like '%" & Me.ModeloReduz & "%') AND ((tbl_Modelo.Modelo) Like '%" & Me.Modelo & "%') AND ((tbl_Produto.Comercial2) Like '%" & Me.Comercial2 & "%') AND ((tbl_CrossReference.CrossReference) Like '%" & Me.CR & "%') AND ((tbl_Produto.Status)='Ativo')) " & _
"GROUP BY tbl_Aplicacao.AplApl, tbl_ProdutoGrupo.Grupo, tbl_ProdutoTipo.Tipo, tbl_Montadora.Montadora, tbl_ModeloRed.ModeloReduz, tbl_Produto.Comercial2 " & _
"ORDER BY tbl_Aplicacao.AplApl, tbl_Montadora.Montadora, tbl_ModeloRed.ModeloReduz"
Call Cnn_Open
Set rs = New ADODB.Recordset
With rs
Set .ActiveConnection = Cnn
.Source = strRS
.LockType = adLockOptimistic
.CursorType = adOpenKeyset
.Open
End With
If Not rs.BOF Then
Do While Not rs.EOF
Me.Lista.RowSourceType = "Value List"
Me.Lista.AddItem rs!Codigo & ";" & rs!AplApl & ";" & rs!Tipo & ";" & rs!Montadora & ";" & rs!ModeloReduz & ";" & rs!Comercial2
rs.MoveNext
Loop
Else
MsgBox " Nenhum resultado para a consulta! ", vbOKOnly, "Sistema Interno ELPER"
End If
Set rs = Nothing: Close
Set Cnn = Nothing: Close
'Call ContarItensListBox
Else
MsgBox " Favor inserir ao menos um dos critérios de consulta! ", vbInformation + vbOKOnly, "Sistema Interno ELPER"
End If
End Sub