Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Adriano Vitor

Código ñ funciona

Recommended Posts

Oi pessoal, estou com o seguinte problema....

 

 

set part = banco.execute("select * from donos where categoria like '3'")set carros_novos = Server.CreateObject("ADODB.Recordset")sql_novos = "select id, marca, modelo, preco, foto from automoveis where status = 1 AND dono = "& part.fields("id")carros_novos.pagesize = result_pagcarros_novos.cachesize = result_pagcarros_novos.open sql_novos, banco, adOpenStatic, adLockReadOnly, adCmdText

Ou seja, quero selecionar apenas o id, marca, modelo, preco, foto, de automoveis que tenham os donos com categoria 3... entendeu?

 

Mas ñ está funcionando... como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites
set part = banco.execute("select * from donos where categoria =3")
você não pode utilizar o like nem aspas

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve esta usando o ACCESS ??

 

Faz assim:

banco.execute("select * from donos where categoria='3'")
o exemplo do nosso amigo jonathandj funciona no Mysql, Sqlserver e outros...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou seja, quero selecionar apenas o id, marca, modelo, preco, foto, de automoveis que tenham os donos com categoria 3... entendeu?

então pelo que sei você pelo menos tem que ter o ID da categoria cadastrado para cada DONO, como ñ indentifique esse campo no seu SQL vou montar aki um exemplo:

 

set part = banco.execute("select * from donos where categoria = '3' ")

set carros_novos = Server.CreateObject("ADODB.Recordset")
sql_novos = "select id, marca, modelo, preco, foto, CATEGORIA_DONO, dono from automoveis where status = '1' AND CATEGORIA_DONO = '"&Part("categoria ")&"'"
carros_novos.pagesize = result_pag
carros_novos.cachesize = result_pag
carros_novos.open sql_novos, banco, adOpenStatic, adLockReadOnly, adCmdText

note que acrescentei a Tabela CATEGORIA_DONO e fiz a comparação com a categoria anterior selecionada Part("categoria")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou explicar melhor...Eu tenho duas tabelas no access:1ª) donosid........dono.........categoria1.......Fulano..............12.......Cicrano............23.......Beltrano...........34.......Cicrano............25.......Adriano............32ª) automoveisid.....dono.........marca.......modelo1........1...............25...........582........3...............24...........253........3...............21...........134........5...............13...........11Pronto, agora eu quero selecionar os automóveis em que os donos sejam de categoria "3"! Ou seja quero apenas anunciar os automóveis particulares, que são a categoria 3! ok?Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu 1º sql

set part = banco.execute("select * from donos where categoria = '3' ")
Dim VarId
VarId = part("id")

o 2º SQL

sql_novos = "select id, dono, marca, modelo from automoveis where  dono = '"&VarID&"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra forma fazendo 1 sql

select a.modelo,a.marca, d.dono from automoveis left join donos on a.dono=d.id where d.categoria=3

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo "Dono" da tabela "Automóveis" está relacionado ao campo "ID" da tabela "Dono"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você quer só o nome do dono com categoria = 3 então o sql é simples

select dono from donos where categoria=3

lembrando que o campo categoria da tabela donos deve estar como tipo integer(numero) para que este sql funcione

Compartilhar este post


Link para o post
Compartilhar em outros sites

set part = banco.execute("select * from donos where categoria like '3'")

 

set carros_novos = Server.CreateObject("ADODB.Recordset")

sql_novos = "select id, marca, modelo, preco, foto from automoveis where status = 1 AND dono = "& part.fields("id")

carros_novos.pagesize = result_pag

carros_novos.cachesize = result_pag

carros_novos.open sql_novos, banco, adOpenStatic, adLockReadOnly, adCmdText

utilizando subquery, retire a parte em negrito e modifique a parte sublinhada

 

ficaria assim:

 

set carros_novos = Server.CreateObject("ADODB.Recordset")

sql_novos = "select id, marca, modelo, preco, foto from automoveis where status = 1 AND dono IN(select id from donos where categoria = '3')"

carros_novos.pagesize = result_pag

carros_novos.cachesize = result_pag

carros_novos.open sql_novos, banco, adOpenStatic, adLockReadOnly, adCmdText

mas isso dependerá da versão do Access.

 

e também, explique melhor que você quer fazer, o que você está fazendo, quais as modificações você fez, e de todas essas ajudas quais instruções você seguiu.

 

no mais, nao temos como te orientar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.