Ir para conteúdo

POWERED BY:

Arquivado

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

Filipe Mendonça

Problemas com Combo-Box

Recommended Posts

Olá amigos,

Estou tentando alterar dados, porém, esses dados são provenientes de tabelas diferentes.

 

Assim:

 

>> tabela tb_produtos

cod_prod, nome_prod, cod_categoria, cod_fornecedor e preco_unit

 

>> tabela tb_categorias

cod_categoria, nome_categoria

 

>> tabela tb_fornecedores

cod_fornec, nome_fornec

 

bom.. a partir dai, consigo listar os produtos exibindo o nome de cada categoria e cada fornecedor, direitinho, usando a seguinte query:

 

<%

Dim strSQLp, strConnection

	strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\dominios\terkoisolacao.com\www\db\db.mdb"

Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open strConnection

	strSQLp = "SELECT tb_produtos.cod_prod, tb_produtos.nome_prod, tb_categorias.nome_categoria, tb_fornecedores.nome_fornec, tb_produtos.preco_unit "
			   strSQLp = strSQLp & "FROM tb_fornecedores "
	strSQLp = strSQLp & "INNER JOIN (tb_produtos "
	strSQLp = strSQLp & "INNER JOIN tb_categorias "
	strSQLp = strSQLp & "ON tb_produtos.cod_categoria = tb_categorias.cod_categoria) "
	strSQLp = strSQLp & "ON tb_fornecedores.cod_fornec = tb_produtos.cod_fornec "
	strSQLp = strSQLp & "ORDER BY  tb_produtos.cod_prod;"

Set RSp = Conn.Execute (strSQLp)

%>

o meu problema agora é alterar um desses produtos, vamos supor que o cara queira trocar de fornecedor e/ou categoria:

na tela de alteração de dados é exibido todos os fornecedores (por nome) em um combo-box, dai o cara seleciona o fornecedor e manda salvar na tabela de produtos. o que salvaria na tb_produtos seria somente o cod_fornec no campo cod_fornec da tb_produtos, até ai, beleza, a logica parece estar certa, mas o que não consigo é exibir isso em um combo-box, consigo exibir apenas em texto (response.write) utilizando a mesma query abaixo e funcionou, mas o problema esta quando tento exibir em um combo-box, ele me traz apenas o nome do fornecedor que já esta cadastrado no banco e não todos os valores respectivos das tabelas, no caso, os valores da tb_categorias e tb_fornecedores..

 

 

abaixo segue a query que tento exibir na tela de alteração:

 

Set objConn =  Server.CreateObject("ADODB.Connection")
	objConn.Open strConnection

	strSQLp = "SELECT tb_produtos.cod_prod, tb_produtos.cod_categoria, tb_produtos.nome_prod, tb_categorias.nome_categoria, tb_fornecedores.nome_fornec, tb_produtos.preco_unit "
	strSQLp = strSQLp & "FROM tb_fornecedores " 
	strSQLp = strSQLp & "INNER JOIN (tb_produtos "
	strSQLp = strSQLp & "INNER JOIN tb_categorias "
	strSQLp = strSQLp & "ON tb_produtos.cod_categoria = tb_categorias.cod_categoria) "
	strSQLp = strSQLp & "ON tb_fornecedores.cod_fornec = tb_produtos.cod_fornec "
	strSQLp = strSQLp & "WHERE cod_prod = "&id
	
Set RSp = objConn.Execute(strSQLp)

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas popule o combo com o resultado...

ex:

 

<% 
'abro a conexao 
Call abre_conexao 
'crio o rs 
set rspais=server.createobject("ADODB.Recordset") 
'crio a SQL 
SQLpais="SELECT * FROM pais ORDER BY nome" 
rspais.open SQLpais,conexao,1,3 
%> 


'aki vou criar o combo, onde no evento onchange ele irá enviar o value do combo pais para a mesma pag, para eu recuperar o codigo do pais e assim preencher o combo estado. 

<form action="inserirend_action.asp" method="post"> 
<select name="pais" size="1"> 

<% while not rspais.eof%> 
<option value="<%=rs("cod_pais")%>"> 
<% if varpais=rs("pais") then 
response.write("Selecionado") 
end if%> 
<%=rs("nome")%> 
</option> 
<% rspais.movenext 
wend%> 
</select> 
<% set rspais=nothing%>

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.