Ir para conteúdo
Fórum Script Brasil
  • 0

Erro na consulta


panox

Pergunta

Ola, a minha ideia é, quando o usuario disparar um OnBlur no textbox da pagina index.asp, ela abre um popup com a consulta do select referente aquela text, mais ou menos assim

index.asp

<HTML>
<BODY>

<script language="javascript">

function popup(t1){  
            window.open('pag.asp?apelido='+t1,
                'Verificacao',
                'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=800,height=600');  
}

</script>

<input type="text" id="t1" name="t1" onBlur="popup(this.value)">
    
</BODY>

</HTML>
pag.asp(pag da consulta)
<%
Set Conexao = server.createobject("adodb.connection")

Set r4 = server.createobject("adodb.recordset")

Conexao.Open "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & server.MapPath("bd1.mdb")

%>

<style type="text/css">
table
{
font-family: verdana;
font-size: 11px;
color: #000099;
font-weight: bold;
}

select
{
font-family: verdana;
font-size: 11px;
}
</style>

<html>
<body>



<table border="1" width="100%" cellspacing="0" cellpadding="5" >

<tr>
<td><%=r4("APELIDO")%></td>
<td><%=r4("DESCRICAO")%></td>

</tr>


</table>
</body>
</html>

o meu problema é, no OnBlur, ele vai para a proxima pagina mas não realiza o select corretamente, a tabela fica em branco. alguém sabe o que pode ser ?

Muito Obrigado

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Panox, boa tarde?

Não está apresentando nada né??? Mas e o seu select??? Onde ele está? O select que deveria selecionar do banco 'x' da tabela 'y' do campo 'z' os dados a serem impressos em tela?

SQL = "SELECT * FROM tabela "
Set r4 = objConn.Execute(SQL)

sacou?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Ola Rafael, tudo certo ai ?

Primeiramente desculpe pelo tópico em vão, eu acabei descobrindo o erro... eu apenas mudei todos os nomes para o mesmo (apelido) , da funçao, da consulta, da querystring etc....agora funciona perfeitamente.

Só preciso aprender agora como retornar 2 valores ao invés de só 1 ( agora é a text e o select ) na função popup(apelido). você tem ideia de como ficaria para retornar 2 valores ? por ex :

function popup(apelido, sl1){  
            window.open('pag.asp?apelido='+apelido'&sl1='+sl1,
                'Verificacao',
                'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=800,height=600');  
                
                
}

ou algo do tipo ?

obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Sempre tenha em mente que apesar do + tb servir para concatenar em asp o melhor mesmo é usar & para fazer isso, deixando o + para operações matemáticas.

Lembre-se tb da existência do OR e do AND, principalmente para você que está querendo passar os valores da query por querystring.

Eu não entendi muito bem os valores que você quer passar... se as informações acima não forem úteis explica um pouquinho melhor o seu caso que eu tento ajudar!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

ok, vou tentar explicar melhor.

esse é a função javascript que envia as informações contidas na text box.

<script language="javascript">
function popup(apelido){  
            window.open('pag.asp?apelido='+apelido,
                'Verificacao',
                'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=800,height=600');  
                
                
}

        </script>

        <input type="text" name="apelido" id="apelido" onBlur="popup(this.value)">
e na pagina pag.asp, ela faz a consulta com uma querystring desse jeito :
apelido = request.QueryString("apelido")

'r4.open "select APELIDO, COD_BARRA, DESCRICAO, UMEDIDA_COMPRA from CAD_PRODUTO where APELIDO = '" & apelido &"' ;",Conexao
isso era apenas um teste para fazer a consulta funcionar, o que preciso mesmo agora é : Na consulta da pagina index, ao invés de mandar informações apenas com 1 campo, terei q mandar com 2 . algo tipo
<script language="javascript">
function popup(apelido){  
            window.open('pag.asp?apelido='+apelido[b]'&cod_gestor='+cod_gestor,[/b]
                'Verificacao',
                'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=800,height=600');  
                
                
}

        </script>

        <input type="text" name="apelido" id="apelido" onBlur="popup(this.value)">
pegando o valor da textbox e do meu select e na pag.asp para a consulta, o correspondente a esse select com a query string
apelido = request.QueryString("apelido")
cod_gestor = request.QueryString("cod_gestor")

r4.open "SELECT P.APELIDO, P.COD_BARRA, P.DESCRICAO, P.UMEDIDA_COMPRA FROM CAD_PRODUTO P WHERE P.APELIDO = '" & apelido & "' AND EXISTS(SELECT G.COD_GRUPO FROM CAD_PRODUTO_GRUPO_GESTOR G WHERE G.COD_GRUPO = P.COD_GRUPO AND G.COD_GESTOR ="& cod_gestor &")", conexao

mais estou tendo um erro no JS da primeira pagina q não esta abrindo o pop up, você sabe o q é ?

abraços !

Link para o comentário
Compartilhar em outros sites

  • 0

o cod_gestor esta mais pra cima, é um select

<select name="cod_gestor" id="cod_gestor" onchange="MandaID(this.value)">
                <option value="">Selecione um Projeto</option>
                <% while not r1.eof %>
                <option value="<%= r1("CODIGO") %>"><%= r1("DESCRICAO") %></option>
                <% r1.movenext
                     wend
                %>

ele esta ligado a um script de ajax, o de estado/cidade da andreia_sp, mas eu alterei para usar de outro jeito, mas é o value dele que vou utilizar na consulta tambem

Link para o comentário
Compartilhar em outros sites

  • 0

esta sim, são 2 record sets diferentes, um em cada pagina

esse erro de =[object%20HTMLSelectElement] eu tive na consulta simples quando o nome do elemento a ser consultado era um objeto ( no caso a select ) sem estar no valor da função

por exemplo :

function popup([b]apelido1[/b]){  
            window.open('pag.asp?apelido1='+[b]apelido[/b],
                'Verificacao',
                'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=800,height=600');  
                
                
}

        </script>

        <input type="text" name[b]="apelido[/b]" id="[b]apelido[/b]" onBlur="popup(this.value)">

veja q o valor da função é diferente do q ele ira buscar, e esse valor q ele ira buscar é um objeto ( textbox ) q não foi atribuido um valor para o mesmo...

Link para o comentário
Compartilhar em outros sites

  • 0

Panox, acho que entendi sua dúvida... mas pergunto... porque não abre o popup e nele recupera as informações do form...

se o form for post por request.form e se for get por request.querystring... não seria mais simples?

A não ser que eu continue entendendo errado...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Então Panox, quando começo com esses problemas volto ao básico...

Como funciona uma query normal de consulta com duas palavras?

SQL = "SELECT * FROM tabela WHERE campox = '"&variavelx&"' AND  campoy = '"&variavely"'"
ou ainda poderia ser assim:
SQL = "SELECT * FROM tabela WHERE campox = '"&variavelx&"' OR campoy = '"&variavely"'"

sacou? na sua query ta faltando o OR ou o AND, dependendo do caso que você deseja!

Ainda assim, tava pensando aqui, list/menu quando tem value setado, o valor resgatado será sempre do value, neste caso é preciso SEMPRE ter algum valor setado e não repetidos, os value tem que ser sempre disitntos se não dá conflito...

Deves observar se o value realmente está com retorno de valores e se não tem values repetidos... eu ainda faria um teste só por fazer sem setar values....

Ainda to no escuro aqui porque eu tento entender a lógica do seu código e não consigo... faltam pedaços eu acho... o melhor seria você postar sempre o todo para que tenhamos mais condições de lhe ajudar... mas enfim... por hora são essas as dicas que eu posso lhe dar...

espero ter contribuido de alguma forma, qualquer. dúvida poste aí!

[]'s Rafael Spilki

Editado por Rafael Spilki
Link para o comentário
Compartilhar em outros sites

  • 0

eu pensei no caso do select tambem, mas ele nem chega a passar de pagina, o erro ta no JS mesmo.

eu agradeço muito! no final a duvida acabou sendo de uma seção fora dessa e você ainda tentou me ajudar, desculpe ter feito você perder seu tempo

Editado por panox
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...