TRAZER REGISTROS SELECIONADOS DO BANCO P/ LISTBOX

USUARIO.EXCLUIDOS 04/03/2005 10:19:03
#71077
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?
PAULOHSV 04/03/2005 10:31:21
#71079
Resposta escolhida
vc vai ter que usar um sql tipo SELECT *
FROM Tabela
WHERE (((Tabela.situacao)=True));
USUARIO.EXCLUIDOS 04/03/2005 10:36:44
#71080
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.
PAULOHSV 04/03/2005 10:40:57
#71082
é so vc acrescentar mais uma instrução sql tipo
sql=sql & "and ((Tabela.situacao)=True))";
PAULOHSV 04/03/2005 10:42:41
#71085
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
USUARIO.EXCLUIDOS 04/03/2005 10:50:11
#71089
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?
PAULOHSV 04/03/2005 12:29:01
#71113
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

USUARIO.EXCLUIDOS 04/03/2005 12:59:46
#71126
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.

PAULOHSV 04/03/2005 13:08:41
#71129
RAFA-MARTIN não entedi nada acho que vc esta se contradizendo
Citação:

esse campo:lstvlrliq.AddItem rs!situacao não existe.


aqui vc fala que ele não existe
Aqui
Citação:

lá no banco está ticado.

vc fala que no banco ele esta 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.
USUARIO.EXCLUIDOS 04/03/2005 13:18:18
#71130
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?
USUARIO.EXCLUIDOS 04/03/2005 14:18:01
#71142
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
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas