Ir para conteúdo

POWERED BY:

Arquivado

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

TaP

Como recuperar......

Recommended Posts

Ola pessoal.....

 

É o seguinte:

 

Eu to fazendo uma recuperação de um dado em uma combo box, só que na combo tem que aparecer o dado recuperado mais os dados do banco, ou seja:

 

<SELECT id=select1 name=ati1 style="HEIGHT: 22px; WIDTH: 190px">

<%

while not rs3.eof

 

%>

<OPTION value='<%=rs3("ativo")%>'><%=rscod("med")%></OPTION>

<%

rs3.movenext

wend

%>

</SELECT>

<%=rs3("ativo")%>: recupera dados do banco

<%=rscod("med")%>: recupera o dado de entrada.

 

O problema é que ele não está recuperando os dados os dados do banco e sim está repetindo o dados recuperado. Obs.: A quantidade de vezes que ele repete e exatamente a quantidade de dados diferentes que era pra aparecer.

 

Ps.: o rs3 está em uma tabela diferente da rscod

 

Oque pode estar ocorrendo???

 

Desde já muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todas as instruções e uma parte da recuperação:

 

<%

dim sqlcod,rscod,rcod

 

rcod = Request.QueryString("codigo")

 

sqlcod = "select * from visita where codigo = "& rcod

 

set rscod = conn.execute(sqlcod)

 

dim sql,sql2,sql3,sql4,sql5,sql6,sql7,sql8,sql9,sql10,sql11,sql12,sql13,sql14,sql15,

sql16

dim rs,rs2,rs3,rs4,rs5,rs6,rs7,rs8,rs9,rs10,rs11,rs12,rs13,rs14,rs15,rs16

 

sql = "Select * from medicamentos order by ativo"

sql2 = "Select * from possologia order by possologia"

sql3 = "Select * from medicamentos order by ativo"

sql4 = "Select * from medicamentos order by ativo"

sql5 = "Select * from medicamentos order by ativo"

sql6 = "Select * from medicamentos order by ativo"

sql7 = "Select * from medicamentos order by ativo"

sql8 = "Select * from medicamentos order by ativo"

sql9 = "Select * from medicamentos order by ativo"

sql10 = "Select * from medicamentos order by ativo"

sql11 = "Select * from medicamentos order by ativo"

sql12 = "Select * from medicamentos order by ativo"

sql13 = "Select * from medicamentos order by ativo"

sql14 = "Select * from medicamentos order by ativo"

sql15 = "Select * from essencias order by essencia"

sql16 = "Select * from tipos order by tipo"

 

set rs = conn.execute(sql)

set rs2 = conn.execute(sql2)

set rs3 = conn.execute(sql3)

set rs4 = conn.execute(sql4)

set rs5 = conn.execute(sql5)

set rs6 = conn.execute(sql6)

set rs7 = conn.execute(sql7)

set rs8 = conn.execute(sql8)

set rs9 = conn.execute(sql9)

set rs10 = conn.execute(sql10)

set rs11 = conn.execute(sql11)

set rs12 = conn.execute(sql12)

set rs13 = conn.execute(sql13)

set rs14 = conn.execute(sql14)

set rs15 = conn.execute(sql15)

set rs16 = conn.execute(sql16)

 

%>

<INPUT style="WIDTH: 300px; HEIGHT: 22px" size=37 name=nom value='<%=rscod("paciente")%>'>

</P>

<INPUT id=text2 name=txtdata onfocus=this.blur() value='<%=rscod("data")%>'

 

style="BACKGROUND-COLOR: #FFCC00; BORDER-BOTTOM-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; COLOR: black; HEIGHT: 18px; WIDTH: 76px"> <TD> <SELECT id=select1 name=ati1 style="HEIGHT: 22px; WIDTH: 190px">

<%

while not rs3.eof

 

%>

<OPTION value='<%=rs3("ativo")%>'><%=rscod("med")%></OPTION>

<%

rs3.movenext

wend

%>

</SELECT></TD>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se vocês leram o codigo vão ver que no select o value eh pra recuperar os dados do banco dentro da combo e depois ele recupera a entrada do banco que eh o mesmo dados que está na combo mas em outra tabela.Entenderãp????? :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

O RSCod("med") tem que variar tb?

Se tem está faltando o RSCod.movenext!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A funcão desse codigo eh a seguinte:Em outra tela eu gravei os dados o rs1, rs2, rs3..............e agora eu quero recuperar esses dados para alterar, osh que para fazer a alteração não basta soh recuperar o rscod, tenho que recuperar os dados da combo para fazer a alteração entendeu??Para issoeu tenho que colocar while para o rscod tb????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa ver se entendi, você está tentando montar um select a partir de um RecordSet certo?

Todos os dados para a montagem desse select estão nesse RecordSet? Se estão então tem um errinho aqui:

<SELECT id=select1 name=ati1 style="HEIGHT: 22px; WIDTH: 190px">

<%while not rs3.eof%>

<OPTION value='<%=rs3("ativo")%>'><%=rscod("med")%></OPTION> <!--deveria ser o RS3 não?-->

<%rs3.movenext

wend%>

</SELECT>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Naum sabe pq???Porque o campo "med" está em outra tabela. Mas o dados recuperado nessa outra tabela tb existe na rs3, entedeu??

Compartilhar este post


Link para o post
Compartilhar em outros sites
dim sql,sql2,sql3,sql4,sql5,sql6,sql7,sql8,sql9,sql10,sql11,sql12,sql13,sql14,sql15,

sql16

dim rs,rs2,rs3,rs4,rs5,rs6,rs7,rs8,rs9,rs10,rs11,rs12,rs13,rs14,rs15,rs16

 

sql = "Select * from medicamentos order by ativo"

sql2 = "Select * from possologia order by possologia"

sql3 = "Select * from medicamentos order by ativo"

sql4 = "Select * from medicamentos order by ativo"

sql5 = "Select * from medicamentos order by ativo"

sql6 = "Select * from medicamentos order by ativo"

sql7 = "Select * from medicamentos order by ativo"

sql8 = "Select * from medicamentos order by ativo"

sql9 = "Select * from medicamentos order by ativo"

sql10 = "Select * from medicamentos order by ativo"

sql11 = "Select * from medicamentos order by ativo"

sql12 = "Select * from medicamentos order by ativo"

sql13 = "Select * from medicamentos order by ativo"

sql14 = "Select * from medicamentos order by ativo"

sql15 = "Select * from essencias order by essencia"

sql16 = "Select * from tipos order by tipo"

 

set rs = conn.execute(sql)

set rs2 = conn.execute(sql2)

set rs3 = conn.execute(sql3)

set rs4 = conn.execute(sql4)

set rs5 = conn.execute(sql5)

set rs6 = conn.execute(sql6)

set rs7 = conn.execute(sql7)

set rs8 = conn.execute(sql8)

set rs9 = conn.execute(sql9)

set rs10 = conn.execute(sql10)

set rs11 = conn.execute(sql11)

set rs12 = conn.execute(sql12)

set rs13 = conn.execute(sql13)

set rs14 = conn.execute(sql14)

set rs15 = conn.execute(sql15)

set rs16 = conn.execute(sql16)

Me explique o porque dessas 10 SQL's iguais?

 

E porque você está pegando dados de RS/tabelas diferentes?

 

Explique exatamente o que você quer fazer, pegar o que? de onde? para mostar o que?

 

você tem MSN?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele repete 10x porque essa parte:

 

<TD> <SELECT id=select1 name=ati1 style="HEIGHT: 22px; WIDTH: 190px">

<%

while not rs3.eof

 

%>

<OPTION value='<%=rs3("ativo")%>'><%=rscod("med")%></OPTION>

<%

rs3.movenext

wend

%>

</SELECT></TD> vai buscar 10 dados entrendeu??

 

Eu tenho 2 tabelas-> visitas e medicamentos

 

Essa página que está dando erro ela funciona da seguinte foma:

 

Ela tem que buscar os dados da medicamentos só que eu não quero que apareça por ordem alfabetica e sim que apareça o dados que estiver gravado no banco visitas. Tudo oque estiver na visitas e exatamente igual (só que somente um dos) itens da medicamentos.

 

Entendeu agor oque eu quero dizer??

 

Tipo aqui no trampo somente ICQ

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entra no ICQ (73018175)!

Pois não entendi direito, não precisa de 10 RecordSets para retornar 10 dados de uma tabela!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz 10 recordsets porque estava tentando soh com um e soh aparecia os dados na primeira combo nas outras 9 ficava em branco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,Se "o rs3 está em uma tabela diferente da rscod" e os dois são "puxados" ao mesmo tempo para montar uma informação afim de aparecer numa combo box, é porque else TEM QUE POSSUIR ALGUM RELACIONAMENTO.A sua string SQL não me parece estar fazendo nenhum relacionamento entre essa 2 tabelas:sql = "Select * from medicamentos order by ativo"sql2 = "Select * from possologia order by possologia"sql3 = "Select * from medicamentos order by ativo"sql4 = "Select * from medicamentos order by ativo"sql5 = "Select * from medicamentos order by ativo"sql6 = "Select * from medicamentos order by ativo"sql7 = "Select * from medicamentos order by ativo"sql8 = "Select * from medicamentos order by ativo"sql9 = "Select * from medicamentos order by ativo"sql10 = "Select * from medicamentos order by ativo"sql11 = "Select * from medicamentos order by ativo"sql12 = "Select * from medicamentos order by ativo"sql13 = "Select * from medicamentos order by ativo"sql14 = "Select * from medicamentos order by ativo"sql15 = "Select * from essencias order by essencia"sql16 = "Select * from tipos order by tipo"Quero dizer, na tabela de visitas não tem que ter uma chave estrangeira referente ao código do medicamento? Ou seja, o código do medicamento da tabela medicamentos (com nome e tudo mais) deve ser igual ao código do medicamento (chave estrangeira) da tabela visitas. Se o visitante requisitar um remédio, esse remédio tem que ter um código, e esse código tem que estar relacionado nas duas tabelas, uma deve se chave primária e outro como chave estrangeira. Tenho quase certeza que isso é problema de normalização. Analiza a estrutura do seu Banco...Estou especulando pq eu ainda não sei o q você. quer fazer...quanlquer coisa, posta aí.bas,rodrigofaria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eh assim o cliente solicita um remedio (tabela medicamentos dentro de uma combo), soh que solicitou errado, então ele vai alterar o remedio( tabela visitas que salvou o medicamento errado), soh que quero que apareça o medicamento errado(tabela visitas) e tb a lista dos outros medicamentos(tabela medicamentos).

 

 

Entenderam agora??

 

Pra isso tem que fazer o relacionamento?? Se tiver como eu faço isso no MySql??

Compartilhar este post


Link para o post
Compartilhar em outros sites

o relacionamento é assim:sql4 = "Select * from Medicamentos M , Vistas V WHERE M.codmed = V.codmed order by ativo"M e V são apelidos das tabelas. O relacionamento está na cláusula WHERE M.codmed e V.codmedIsso significa que o código do medicamento da tabela medicamento é igual ao código do medicamento da tabela visitas. Você está ordenando pelo ativo (pressupondo que o "ativo" só tem em 1 das tabelas - deve ser o medicamento, não é?).Pronto. você. lifou as duas tabelas. a partir daí você. pode tirar as informações correspondentes. Caso você. precise de ajuda sobre como trabalhar com SQL (eu não mexo com MySQL) posta no Forum de Banco de Dados ou vá até o fórum da msdnbrasil.com.br onde tem profissionais de primeira linha que dominam o sql.espero que ajude...A propósito: pare tudo o que você. estiver fazendo e estude relacionamento. Isso é fundamental pra trabalhar com um banco mais elaborado. E, também, desenhe todo o seu banco fazendo organogramas, antes de trabalhar em cima dele.abs,rodrigofaria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar fazer esse relacionamento e se naum der certo eu volto a entrar em contato com vcs!!Valeu galera!!!

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.