TRAZER REGISTROS SELECIONADOS DO BANCO P/ LISTBOX
pessoal no meu banco de dados eu tenho um campo chamado situacao. Que defini como tipo Sim/Não.
porque?
no sistema tem uma tela que quando eu digito o código de pedido aparece em um listbox todos os códigos de produto. Esse listbox é com chekbox.
Só que no banco existem alguns registros no campo situacao que está com seus checkbox selecionados (ticados).
E que eu quero, quando eu digitar o código de pedido e clicar em consultar deve trazer no listbox todos os códigos de produto que estão selecionados (ticados) assim como está no banco.
como faço isso?
porque?
no sistema tem uma tela que quando eu digito o código de pedido aparece em um listbox todos os códigos de produto. Esse listbox é com chekbox.
Só que no banco existem alguns registros no campo situacao que está com seus checkbox selecionados (ticados).
E que eu quero, quando eu digitar o código de pedido e clicar em consultar deve trazer no listbox todos os códigos de produto que estão selecionados (ticados) assim como está no banco.
como faço isso?
vc vai ter que usar um sql tipo SELECT *
FROM Tabela
WHERE (((Tabela.situacao)=True));
FROM Tabela
WHERE (((Tabela.situacao)=True));
cara eu já faço esse sql, veja:
sql = "SELECT pedido.codigo_pedido, "
sql = sql & "pedido.cancelado, "
sql = sql & "Pedido.cod_pedido_vendedor , "
sql = sql & "Pedido.cod_cliente_dist, "
sql = sql & "cadastrodistribuidor.cnpj_distribuidor, "
sql = sql & "cadastrodistribuidor.razao_social as nome_distribuidor, "
sql = sql & "cadastrofarmacia.cnpj_farmacia, "
sql = sql & "cadastrofarmacia.razao_social, "
sql = sql & "cadastrofarmacia.eqz, "
sql = sql & "Brick.eqz, cadastrovendedor.nome, "
sql = sql & "cadastrofarmacia.eqz, "
sql = sql & "Pedido.apontador, Pedido.prazo, "
sql = sql & "Pedido.tipo_cd, "
sql = sql & "Pedido.eqz as eqz2, "
sql = sql & "Pedido.cliente, "
sql = sql & "Pedido.aprovacao, Pedido.obs, "
sql = sql & "Pedido.qtde, Pedido.valor_total, "
sql = sql & "Pedido.valor_bruto, "
sql = sql & "Pedido.valor_desconto_total, "
sql = sql & "Pedido.valor_liquido, "
sql = sql & "Pedido.obs2, "
sql = sql & "Pedido.Data2, itens_pedido2.codigo_produto, "
sql = sql & "itens_pedido2.desconto as descontoi, "
sql = sql & "itens_pedido2.qtde as qtdei, "
sql = sql & "itens_pedido2.Valor, "
'sql = sql & "itens_pedido2.situacao, "
sql = sql & "itens_pedido2.valor_bruto_i, "
sql = sql & "itens_pedido2.valor_desconto_total_i, "
sql = sql & "itens_pedido2.valor_liquido_i "
sql = sql & "FROM (cadastrovendedor "
sql = sql & "INNER JOIN (cadastrodistribuidor "
sql = sql & "INNER JOIN ((brick "
sql = sql & "INNER JOIN cadastrofarmacia "
sql = sql & "ON brick.eqz = cadastrofarmacia.eqz) "
sql = sql & "INNER JOIN pedido "
sql = sql & "ON (cadastrofarmacia.codigo_farmacia = pedido.codigo_farmacia) "
sql = sql & "AND (brick.eqz = pedido.eqz)) "
sql = sql & "ON cadastrodistribuidor.codigo_distribuidor = pedido.codigo_distribuidor) "
sql = sql & "ON (cadastrovendedor.codigo_vendedor = pedido.codigo_vendedor) "
sql = sql & "AND (cadastrovendedor.codigo_vendedor = brick.codigo_vendedor)) "
sql = sql & "INNER JOIN itens_pedido2 "
sql = sql & "ON pedido.codigo_pedido = itens_pedido2.codigo_pedido "
sql = sql & "WHERE (((pedido.codigo_pedido)= " & txtcodigo.Text & "))"
' MsgBox sql
' Open App.Path & "\SQL.txt" For Output As #1
' Print #1, sql
' Close #1
Set rs = db.OpenRecordset(sql)
aà depois eu faço isso para carregar o listbox:
Do While rs.EOF = False
'lstcodigopedido.AddItem rs!situacao
lstcodigopedido.AddItem rs!codigo_produto
lstdesc.AddItem rs!descontoi
lstqtdepedido.AddItem rs!qtdei
lstpreco.AddItem rs!VALOR
lstvlrbruto.AddItem rs!valor_bruto_i
lstvlrdesctotal.AddItem rs!valor_desconto_total_i
lstvlrliq.AddItem rs!valor_liquido_i
rs.MoveNext
Loop
como eu posso trazer selecionado como está no banco?
peço ajuda.
sql = "SELECT pedido.codigo_pedido, "
sql = sql & "pedido.cancelado, "
sql = sql & "Pedido.cod_pedido_vendedor , "
sql = sql & "Pedido.cod_cliente_dist, "
sql = sql & "cadastrodistribuidor.cnpj_distribuidor, "
sql = sql & "cadastrodistribuidor.razao_social as nome_distribuidor, "
sql = sql & "cadastrofarmacia.cnpj_farmacia, "
sql = sql & "cadastrofarmacia.razao_social, "
sql = sql & "cadastrofarmacia.eqz, "
sql = sql & "Brick.eqz, cadastrovendedor.nome, "
sql = sql & "cadastrofarmacia.eqz, "
sql = sql & "Pedido.apontador, Pedido.prazo, "
sql = sql & "Pedido.tipo_cd, "
sql = sql & "Pedido.eqz as eqz2, "
sql = sql & "Pedido.cliente, "
sql = sql & "Pedido.aprovacao, Pedido.obs, "
sql = sql & "Pedido.qtde, Pedido.valor_total, "
sql = sql & "Pedido.valor_bruto, "
sql = sql & "Pedido.valor_desconto_total, "
sql = sql & "Pedido.valor_liquido, "
sql = sql & "Pedido.obs2, "
sql = sql & "Pedido.Data2, itens_pedido2.codigo_produto, "
sql = sql & "itens_pedido2.desconto as descontoi, "
sql = sql & "itens_pedido2.qtde as qtdei, "
sql = sql & "itens_pedido2.Valor, "
'sql = sql & "itens_pedido2.situacao, "
sql = sql & "itens_pedido2.valor_bruto_i, "
sql = sql & "itens_pedido2.valor_desconto_total_i, "
sql = sql & "itens_pedido2.valor_liquido_i "
sql = sql & "FROM (cadastrovendedor "
sql = sql & "INNER JOIN (cadastrodistribuidor "
sql = sql & "INNER JOIN ((brick "
sql = sql & "INNER JOIN cadastrofarmacia "
sql = sql & "ON brick.eqz = cadastrofarmacia.eqz) "
sql = sql & "INNER JOIN pedido "
sql = sql & "ON (cadastrofarmacia.codigo_farmacia = pedido.codigo_farmacia) "
sql = sql & "AND (brick.eqz = pedido.eqz)) "
sql = sql & "ON cadastrodistribuidor.codigo_distribuidor = pedido.codigo_distribuidor) "
sql = sql & "ON (cadastrovendedor.codigo_vendedor = pedido.codigo_vendedor) "
sql = sql & "AND (cadastrovendedor.codigo_vendedor = brick.codigo_vendedor)) "
sql = sql & "INNER JOIN itens_pedido2 "
sql = sql & "ON pedido.codigo_pedido = itens_pedido2.codigo_pedido "
sql = sql & "WHERE (((pedido.codigo_pedido)= " & txtcodigo.Text & "))"
' MsgBox sql
' Open App.Path & "\SQL.txt" For Output As #1
' Print #1, sql
' Close #1
Set rs = db.OpenRecordset(sql)
aà depois eu faço isso para carregar o listbox:
Do While rs.EOF = False
'lstcodigopedido.AddItem rs!situacao
lstcodigopedido.AddItem rs!codigo_produto
lstdesc.AddItem rs!descontoi
lstqtdepedido.AddItem rs!qtdei
lstpreco.AddItem rs!VALOR
lstvlrbruto.AddItem rs!valor_bruto_i
lstvlrdesctotal.AddItem rs!valor_desconto_total_i
lstvlrliq.AddItem rs!valor_liquido_i
rs.MoveNext
Loop
como eu posso trazer selecionado como está no banco?
peço ajuda.
é so vc acrescentar mais uma instrução sql tipo
sql=sql & "and ((Tabela.situacao)=True))";
sql=sql & "and ((Tabela.situacao)=True))";
ficando assim:
sql = "SELECT pedido.codigo_pedido, "
sql = sql & "pedido.cancelado, "
sql = sql & "Pedido.cod_pedido_vendedor , "
sql = sql & "Pedido.cod_cliente_dist, "
sql = sql & "cadastrodistribuidor.cnpj_distribuidor, "
sql = sql & "cadastrodistribuidor.razao_social as nome_distribuidor, "
sql = sql & "cadastrofarmacia.cnpj_farmacia, "
sql = sql & "cadastrofarmacia.razao_social, "
sql = sql & "cadastrofarmacia.eqz, "
sql = sql & "Brick.eqz, cadastrovendedor.nome, "
sql = sql & "cadastrofarmacia.eqz, "
sql = sql & "Pedido.apontador, Pedido.prazo, "
sql = sql & "Pedido.tipo_cd, "
sql = sql & "Pedido.eqz as eqz2, "
sql = sql & "Pedido.cliente, "
sql = sql & "Pedido.aprovacao, Pedido.obs, "
sql = sql & "Pedido.qtde, Pedido.valor_total, "
sql = sql & "Pedido.valor_bruto, "
sql = sql & "Pedido.valor_desconto_total, "
sql = sql & "Pedido.valor_liquido, "
sql = sql & "Pedido.obs2, "
sql = sql & "Pedido.Data2, itens_pedido2.codigo_produto, "
sql = sql & "itens_pedido2.desconto as descontoi, "
sql = sql & "itens_pedido2.qtde as qtdei, "
sql = sql & "itens_pedido2.Valor, "
'sql = sql & "itens_pedido2.situacao, "
sql = sql & "itens_pedido2.valor_bruto_i, "
sql = sql & "itens_pedido2.valor_desconto_total_i, "
sql = sql & "itens_pedido2.valor_liquido_i "
sql = sql & "FROM (cadastrovendedor "
sql = sql & "INNER JOIN (cadastrodistribuidor "
sql = sql & "INNER JOIN ((brick "
sql = sql & "INNER JOIN cadastrofarmacia "
sql = sql & "ON brick.eqz = cadastrofarmacia.eqz) "
sql = sql & "INNER JOIN pedido "
sql = sql & "ON (cadastrofarmacia.codigo_farmacia = pedido.codigo_farmacia) "
sql = sql & "AND (brick.eqz = pedido.eqz)) "
sql = sql & "ON cadastrodistribuidor.codigo_distribuidor = pedido.codigo_distribuidor) "
sql = sql & "ON (cadastrovendedor.codigo_vendedor = pedido.codigo_vendedor) "
sql = sql & "AND (cadastrovendedor.codigo_vendedor = brick.codigo_vendedor)) "
sql = sql & "INNER JOIN itens_pedido2 "
sql = sql & "ON pedido.codigo_pedido = itens_pedido2.codigo_pedido "
sql = sql & "WHERE (((pedido.codigo_pedido)= " & txtcodigo.Text & "))"
sql = sql & "AND ((Tabela.situacao)=True))"
Set rs = db.OpenRecordset(sql)
Do While rs.EOF = False
'lstcodigopedido.AddItem rs!situacao
lstcodigopedido.AddItem rs!codigo_produto
lstdesc.AddItem rs!descontoi
lstqtdepedido.AddItem rs!qtdei
lstpreco.AddItem rs!VALOR
lstvlrbruto.AddItem rs!valor_bruto_i
lstvlrdesctotal.AddItem rs!valor_desconto_total_i
lstvlrliq.AddItem rs!valor_liquido_i
rs.MoveNext
Loop
sql = "SELECT pedido.codigo_pedido, "
sql = sql & "pedido.cancelado, "
sql = sql & "Pedido.cod_pedido_vendedor , "
sql = sql & "Pedido.cod_cliente_dist, "
sql = sql & "cadastrodistribuidor.cnpj_distribuidor, "
sql = sql & "cadastrodistribuidor.razao_social as nome_distribuidor, "
sql = sql & "cadastrofarmacia.cnpj_farmacia, "
sql = sql & "cadastrofarmacia.razao_social, "
sql = sql & "cadastrofarmacia.eqz, "
sql = sql & "Brick.eqz, cadastrovendedor.nome, "
sql = sql & "cadastrofarmacia.eqz, "
sql = sql & "Pedido.apontador, Pedido.prazo, "
sql = sql & "Pedido.tipo_cd, "
sql = sql & "Pedido.eqz as eqz2, "
sql = sql & "Pedido.cliente, "
sql = sql & "Pedido.aprovacao, Pedido.obs, "
sql = sql & "Pedido.qtde, Pedido.valor_total, "
sql = sql & "Pedido.valor_bruto, "
sql = sql & "Pedido.valor_desconto_total, "
sql = sql & "Pedido.valor_liquido, "
sql = sql & "Pedido.obs2, "
sql = sql & "Pedido.Data2, itens_pedido2.codigo_produto, "
sql = sql & "itens_pedido2.desconto as descontoi, "
sql = sql & "itens_pedido2.qtde as qtdei, "
sql = sql & "itens_pedido2.Valor, "
'sql = sql & "itens_pedido2.situacao, "
sql = sql & "itens_pedido2.valor_bruto_i, "
sql = sql & "itens_pedido2.valor_desconto_total_i, "
sql = sql & "itens_pedido2.valor_liquido_i "
sql = sql & "FROM (cadastrovendedor "
sql = sql & "INNER JOIN (cadastrodistribuidor "
sql = sql & "INNER JOIN ((brick "
sql = sql & "INNER JOIN cadastrofarmacia "
sql = sql & "ON brick.eqz = cadastrofarmacia.eqz) "
sql = sql & "INNER JOIN pedido "
sql = sql & "ON (cadastrofarmacia.codigo_farmacia = pedido.codigo_farmacia) "
sql = sql & "AND (brick.eqz = pedido.eqz)) "
sql = sql & "ON cadastrodistribuidor.codigo_distribuidor = pedido.codigo_distribuidor) "
sql = sql & "ON (cadastrovendedor.codigo_vendedor = pedido.codigo_vendedor) "
sql = sql & "AND (cadastrovendedor.codigo_vendedor = brick.codigo_vendedor)) "
sql = sql & "INNER JOIN itens_pedido2 "
sql = sql & "ON pedido.codigo_pedido = itens_pedido2.codigo_pedido "
sql = sql & "WHERE (((pedido.codigo_pedido)= " & txtcodigo.Text & "))"
sql = sql & "AND ((Tabela.situacao)=True))"
Set rs = db.OpenRecordset(sql)
Do While rs.EOF = False
'lstcodigopedido.AddItem rs!situacao
lstcodigopedido.AddItem rs!codigo_produto
lstdesc.AddItem rs!descontoi
lstqtdepedido.AddItem rs!qtdei
lstpreco.AddItem rs!VALOR
lstvlrbruto.AddItem rs!valor_bruto_i
lstvlrdesctotal.AddItem rs!valor_desconto_total_i
lstvlrliq.AddItem rs!valor_liquido_i
rs.MoveNext
Loop
cara, ele até trouxe os que estão selecionados no banco. Porém, eles não vieram ticados assim como está no banco, dentro listbox.
porque?
porque?
RAFA-MARTIN acho que eu tinha entendido mal. Do modo que eu te passei ele iria retornar os que estavam com valores iguais a verdadeiro.
Pelo que entendi agora vc vai ter que adicionar o campo dentro do loop que preenche o list view tipo:
Do While rs.EOF = False
'lstcodigopedido.AddItem rs!situacao
lstcodigopedido.AddItem rs!codigo_produto
lstdesc.AddItem rs!descontoi
lstqtdepedido.AddItem rs!qtdei
lstpreco.AddItem rs!VALOR
lstvlrbruto.AddItem rs!valor_bruto_i
lstvlrdesctotal.AddItem rs!valor_desconto_total_i
lstvlrliq.AddItem rs!valor_liquido_i
lstvlrliq.AddItem rs!situacao
rs.MoveNext
Loop
Pelo que entendi agora vc vai ter que adicionar o campo dentro do loop que preenche o list view tipo:
Do While rs.EOF = False
'lstcodigopedido.AddItem rs!situacao
lstcodigopedido.AddItem rs!codigo_produto
lstdesc.AddItem rs!descontoi
lstqtdepedido.AddItem rs!qtdei
lstpreco.AddItem rs!VALOR
lstvlrbruto.AddItem rs!valor_bruto_i
lstvlrdesctotal.AddItem rs!valor_desconto_total_i
lstvlrliq.AddItem rs!valor_liquido_i
lstvlrliq.AddItem rs!situacao
rs.MoveNext
Loop
MEU DEU ERRADO, claro.
esse campo:lstvlrliq.AddItem rs!situacao não existe.
lá no banco está ticado.
então ele tá trazendo os codigos que estão ticados no banco dentro do listbox, só eles não aparecem ticados. e eu quero saber como faz pra eles ficarem ticados quando for carregado.
esse campo:lstvlrliq.AddItem rs!situacao não existe.
lá no banco está ticado.
então ele tá trazendo os codigos que estão ticados no banco dentro do listbox, só eles não aparecem ticados. e eu quero saber como faz pra eles ficarem ticados quando for carregado.
RAFA-MARTIN não entedi nada acho que vc esta se contradizendo
aqui vc fala que ele não existe
Aqui
Vc quer que o Check dentro do ListBox venha com os valores de dentro do banco? Se for isto vc vai ter que fazer algo tipo Check1=Campo.
Citação:esse campo:lstvlrliq.AddItem rs!situacao não existe.
aqui vc fala que ele não existe
Aqui
Citação:vc fala que no banco ele esta ticadolá no banco está ticado.
Vc quer que o Check dentro do ListBox venha com os valores de dentro do banco? Se for isto vc vai ter que fazer algo tipo Check1=Campo.
oh, vou tentar explicar um pouco melhor.
no banco de dados eu tenho um campo chamado situacao. Defini ele como sendo Sim/Não. Então esse campo no banco terá dentro dele um checkbox.
No sistemas existe uma tela de pedidos. Quando eu digito o código de pedido e clicar em consultar o ele vai me trazer todos os código de produtos que pertecem aquele pedido. Os códigos de produtos vão aparecer no llistbox. Esse listbox terá vários checkbox.
Mais digamos que tenha trazido 5 códigos de produto. Portanto, consequentemente iá ter 5 checkbox ao lado de cada código de produto. Então eu vou e seleciono o 1º e o 2º código de produto. Quando eu clicar em atualizar, o campo situacao do 1º e do 2º código de produtovão ficar com seus chekcbox selecionado (ticados).
AÃ vem o que eu quero.
Quando eu digitar o código de pedido e clicar em consultar o sistemas vai me trazer os 5 códigos de produto que está no banco. Ele traz normalmente.
No listbox estarão lá os 5 códigos de produtos. Só que dos cincos apenas o 1º e o 2º tem que vir selecionados(ticado), porque eles são os únicos que estão selecionado (ticados) dentro do banco no campo situacao.
entendeu?
é isso que eu quero.
como eu faço isso?
no banco de dados eu tenho um campo chamado situacao. Defini ele como sendo Sim/Não. Então esse campo no banco terá dentro dele um checkbox.
No sistemas existe uma tela de pedidos. Quando eu digito o código de pedido e clicar em consultar o ele vai me trazer todos os código de produtos que pertecem aquele pedido. Os códigos de produtos vão aparecer no llistbox. Esse listbox terá vários checkbox.
Mais digamos que tenha trazido 5 códigos de produto. Portanto, consequentemente iá ter 5 checkbox ao lado de cada código de produto. Então eu vou e seleciono o 1º e o 2º código de produto. Quando eu clicar em atualizar, o campo situacao do 1º e do 2º código de produtovão ficar com seus chekcbox selecionado (ticados).
AÃ vem o que eu quero.
Quando eu digitar o código de pedido e clicar em consultar o sistemas vai me trazer os 5 códigos de produto que está no banco. Ele traz normalmente.
No listbox estarão lá os 5 códigos de produtos. Só que dos cincos apenas o 1º e o 2º tem que vir selecionados(ticado), porque eles são os únicos que estão selecionado (ticados) dentro do banco no campo situacao.
entendeu?
é isso que eu quero.
como eu faço isso?
então, vc tem agum exemplo ou um código ue faça isso?
me passa, porque já fiz de tudo aqui e nada.
me ajude, por favor
me passa, porque já fiz de tudo aqui e nada.
me ajude, por favor
Tópico encerrado , respostas não são mais permitidas