LISTBOX - COMO ALIMENTAR COM DADOS DE UMA TABELA
Pessoal, preciso de ajuda na utilizacao de um Listbox só sei carregar informacoes neste campo com o .additem alguem tem uma dica?
ex.:lista_itens_pedido.AddItem txt_num_pedido.Text + "-" + txt_desc_meio1.Text + " / " + txt_desc_meio2.Text + " Valor: " + txt_valor_meio.Text + " Qtd.: " + txt_qtd_meio.Text
Desta forma estou simplesmente carregando o conteúdo dos campos .text para o listbox, preciso carregar com dados de uma consulta no banco...
valeu pessoal
agradeco mais uma vez a ajuda
ex.:lista_itens_pedido.AddItem txt_num_pedido.Text + "-" + txt_desc_meio1.Text + " / " + txt_desc_meio2.Text + " Valor: " + txt_valor_meio.Text + " Qtd.: " + txt_qtd_meio.Text
Desta forma estou simplesmente carregando o conteúdo dos campos .text para o listbox, preciso carregar com dados de uma consulta no banco...
valeu pessoal
agradeco mais uma vez a ajuda
USANDO DAO
gSQL="SELECT CODIGO,NOME FROM CLIENTES ORDER BY NOME"
Set gRSTemp = gDB.OpenRecordset(gSQL)
With pLista
.Clear
Do While Not gRSTemp.EOF
.AddItem gRSTemp!NOME
.ItemData(.NewIndex) = gRSTemp!CODIGO
gRSTemp.MoveNext
Loop
End With
gSQL="SELECT CODIGO,NOME FROM CLIENTES ORDER BY NOME"
Set gRSTemp = gDB.OpenRecordset(gSQL)
With pLista
.Clear
Do While Not gRSTemp.EOF
.AddItem gRSTemp!NOME
.ItemData(.NewIndex) = gRSTemp!CODIGO
gRSTemp.MoveNext
Loop
End With
Puxa vida, parece ser simples, mas ainda sou novato. Me esclarece por favor, gDB é o banco?, devo declarar antes mais ou menos assim: Dim gDB as database
Outra dúvida: nunca utilizei o Do While, gRSTemp.eof esta verificando se a consulta nao retornou registros?^
pLista é o nome do meu listbox?
grato
Outra dúvida: nunca utilizei o Do While, gRSTemp.eof esta verificando se a consulta nao retornou registros?^
pLista é o nome do meu listbox?
grato
Luis, creio que posso lhe ajudar, mas antes vc precisa me ajudar... rsrs
posta pra mim como vc abre sua conexão com o banco de dados, e me informa qual o banco de dados que vc utiliza, assim monto um exemplo.
Um conselho cara, sempre que for postar sobre BD aqui passe estas informações, fica mais fácil de lhe ajudar
posta pra mim como vc abre sua conexão com o banco de dados, e me informa qual o banco de dados que vc utiliza, assim monto um exemplo.
Um conselho cara, sempre que for postar sobre BD aqui passe estas informações, fica mais fácil de lhe ajudar
Segue o codigo... utilizo o Access 2003
Dim banco As Database
Dim tabela As Recordset ' clientes
Dim tabela1 As Recordset ' pedidos
Dim tabela2 As Recordset ' produtos
Dim tabela3 As Recordset 'itens pedido
Set banco = OpenDatabase(App.Path & "\PIZZARIA1.MDB")
Set tabela = banco.OpenRecordset("CLIENTES", dbOpenTable)
Set tabela2 = banco.OpenRecordset("PRODUTOS", dbOpenTable)
Set tabela1 = banco.OpenRecordset("PEDIDOS", dbOpenTable)
Set tabela3 = banco.OpenRecordset("ITENS_PEDIDO", dbOpenTable)
adiciono os dados nas tabelas atravez do código abaixo:
tabela3.AddNew
tabela3("COD_ITEM") = txt_cod_item
tabela3("NUM_PEDIDO") = txt_num_pedido
.
.
.
tabela3.update
muito obrigado.
Dim banco As Database
Dim tabela As Recordset ' clientes
Dim tabela1 As Recordset ' pedidos
Dim tabela2 As Recordset ' produtos
Dim tabela3 As Recordset 'itens pedido
Set banco = OpenDatabase(App.Path & "\PIZZARIA1.MDB")
Set tabela = banco.OpenRecordset("CLIENTES", dbOpenTable)
Set tabela2 = banco.OpenRecordset("PRODUTOS", dbOpenTable)
Set tabela1 = banco.OpenRecordset("PEDIDOS", dbOpenTable)
Set tabela3 = banco.OpenRecordset("ITENS_PEDIDO", dbOpenTable)
adiciono os dados nas tabelas atravez do código abaixo:
tabela3.AddNew
tabela3("COD_ITEM") = txt_cod_item
tabela3("NUM_PEDIDO") = txt_num_pedido
.
.
.
tabela3.update
muito obrigado.
Dim Tbsql As New ADODB.Recordset
Dim CONSULTASQL As String
privete sub cmdprocurar_click()
CONSULTASQL = "select * PRODUTOS where order by descricao" 'o campo do access será aprtesentado em ordem crescente, nese caso dei exemplo de descricao
Set Tbsql = banco.Execute(CONSULTASQL)
Do Until Tbsql.EOF 'repita até que seja fim de arquivo
LstLista.AddItem Tbsql("seu_campo no access") 'adicviona lista na tabela
Tbsql.MoveNext ' vai pro proximo
Loop
End Sub
Tebtei assim, qualquer duvida poste novamente
Dim CONSULTASQL As String
privete sub cmdprocurar_click()
CONSULTASQL = "select * PRODUTOS where order by descricao" 'o campo do access será aprtesentado em ordem crescente, nese caso dei exemplo de descricao
Set Tbsql = banco.Execute(CONSULTASQL)
Do Until Tbsql.EOF 'repita até que seja fim de arquivo
LstLista.AddItem Tbsql("seu_campo no access") 'adicviona lista na tabela
Tbsql.MoveNext ' vai pro proximo
Loop
End Sub
Tebtei assim, qualquer duvida poste novamente
Entao amigo, veja como ficou meu código, por favor se possivel apontar onde estou errando pois o VB esta enviando erro de compilacao, segue o erro:
Compile error:
Espected funcion or variable
ao prescionar ok está posicionando o cursor na seguinte linha de código:
Set Tbsql = BANCO.Execute(CONSULTASQL)
abaixo o código completo da funcao PROCURAPEDIDO que é chamada no clique localizar pedido:
Muito obrigado
Compile error:
Espected funcion or variable
ao prescionar ok está posicionando o cursor na seguinte linha de código:
Set Tbsql = BANCO.Execute(CONSULTASQL)
abaixo o código completo da funcao PROCURAPEDIDO que é chamada no clique localizar pedido:
Private Function PROCURARPEDIDO()
Dim procurapedido As String
procurapedido = InputBox("Digite o numero do pedido e prescione ENTER")
tabela1.Seek "=", procurapedido
If tabela1.NoMatch = True Then
MsgBox "Nao foi encontrado um pedido com este numero, tente novamente"
txt_num_pedido.SetFocus
Else
Dim Tbsql As New ADODB.Recordset
Dim CONSULTASQL As String
Dim NUMPEDIDO As String
Dim BANCO As Database
Set BANCO = OpenDatabase(App.Path & "\PIZZARIA1.MDB")
NUMPEDIDO = txt_num_pedido.Text
CONSULTASQL = "SELECT COD_ITEM_PEDIDO, DESC_PRODUTO, QTD_PRODUTO, VALOR_ITEM_PEDIDO FROM ITENS_PEDIDO where num_pedido = '" & (NUMPEDIDO) & "';"
Set Tbsql = BANCO.Execute(CONSULTASQL)
Do Until Tbsql.EOF 'repita até que seja fim de arquivo
lista_itens_pedido.AddItem Tbsql("COD_ITEM_PEDIDO, DESC_PRODUTO, QTD_PRODUTO, VALOR_ITEM_PEDIDO") 'adicviona lista na tabela
Tbsql.MoveNext ' vai pro proximo
Loop
txt_num_pedido.Text = tabela1("NUM_PEDIDO")
TXT_TEL_CLIENTE.Text = tabela1("tel_cliente")
txt_nome_cliente.Text = tabela1("nome_cliente")
txt_endereco_cliente.Text = tabela1("END_CLIENTE")
txt_data_pedido.Text = tabela1("DATA_PEDIDO")
txt_cod_item_pedido = tabela1("COD_ITEM_PEDIDO")
txt_valor_total = tabela1("VALOR_PAGO")
txt_troco_para = tabela1("VALOR_PARA_TROCO")
txt_valor_troco = tabela1("VALOR_TROCO")
If tabela1("CANCELADO") = "NAO" Then
FLG_CANCELADO.Value = 1
Else
FLG_CANCELADO.Value = 0
End If
If tabela1("pago") = "1" Then
flg_pago.Value = 1
Else
flg_pago.Value = 0
End If
End If
End Function
Muito obrigado
altere para
Set Tbsql = BANCO.OpenRecordset(CONSULTASQL)
Set Tbsql = BANCO.OpenRecordset(CONSULTASQL)
Nao rola, assim da o erro:
Run-time error 13
type mismatch
acho que está quase lá..
valeu amigo...
Run-time error 13
type mismatch
acho que está quase lá..
valeu amigo...
Kra, voce deve utilizar o seguinte comando para inseir os dados na tabela
CONSULTASQL = "SELECT * FROM ITENS_PEDIDO where num_pedido = '" & (NUMPEDIDO) & "';"
Set Tbsql = BANCO.Execute(CONSULTASQL)
Do Until Tbsql.EOF 'repita até que seja fim de arquivo
lista_itens_pedido.AddItem Tbsql("COD_ITEM_PEDIDO")
lista_itens_pedido.AddItem Tbsql("DESC_PRODUTO")
lista_itens_pedido.AddItem Tbsql("QTD_PRODUTO")
lista_itens_pedido.AddItem Tbsql("VALOR_ITEM_PEDIDO")'adicviona lista na tabela
Tbsql.MoveNext ' vai pro proximo
Loop
Tente assim
CONSULTASQL = "SELECT * FROM ITENS_PEDIDO where num_pedido = '" & (NUMPEDIDO) & "';"
Set Tbsql = BANCO.Execute(CONSULTASQL)
Do Until Tbsql.EOF 'repita até que seja fim de arquivo
lista_itens_pedido.AddItem Tbsql("COD_ITEM_PEDIDO")
lista_itens_pedido.AddItem Tbsql("DESC_PRODUTO")
lista_itens_pedido.AddItem Tbsql("QTD_PRODUTO")
lista_itens_pedido.AddItem Tbsql("VALOR_ITEM_PEDIDO")'adicviona lista na tabela
Tbsql.MoveNext ' vai pro proximo
Loop
Tente assim
Legal, assim deu certo embora nao foram apresentados no listbox do jeito que eu queria, gostaria que os Ãtens do pedido fossem apresentados como o exemplo a seguir:
codigo descricao qtd valor
0012 Pizza mussarela 1 R$ 10,00
Com o codigo postado como exemplo os campos foram apresentados um abaixo do outro como o ex.:
0012
Pizza mussarela
1
R$ 10,00
se tiver mais alguma dica agradeço
abr
codigo descricao qtd valor
0012 Pizza mussarela 1 R$ 10,00
Com o codigo postado como exemplo os campos foram apresentados um abaixo do outro como o ex.:
0012
Pizza mussarela
1
R$ 10,00
se tiver mais alguma dica agradeço
abr
Tópico encerrado , respostas não são mais permitidas