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

Dificuldade Em Recuperar Id...


Guest - Claudio -

Pergunta

Guest - Claudio -

Galera estou apanhando para acertar como recuperar uma variável em uma pg de consulta.

ex: possuo um pg como os dados de um estabelecimento, onde neste estab. temos os tipos de clientes (comprador e vendedor), tem um menu lista onde você escolhe o tipo de cliente e envia para outra pg de resultado que apresenta somente comprador ou somente vendedor dependendo da busca.

Quando seleciono um tipo e clico em ok, faz a busca e me apresenta todos os registros do que eu selecionei mas de todos os etabelecimentos e não exclusivamente daquele tal, ou seja, precisa passar o ID do estab. para resgatar apenas os dados daquele estab.

tentei desta forma mais não deu certo, alguém poderia me ajudar?

Id_Estab = Request.Form("Id_Estab")

Id_Cliente = Request.Form("Id_Cliente")

Tipo_Cliente = Request.Form("Tipo_Cliente")

SQL = "SELECT * FROM Clientes WHERE Tipo_Cliente = '" & Tipo_Cliente & "' and Id_Estab = " & Id_Estab & " order by Nome asc"

set rsClientes=conexao.execute(sql)

ERRO:

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe (operador faltando) na expressão de consulta 'Tipo_Cliente = 'Vendedor' and Id_Estab ='.

/adm/resultado_cli.asp, line 24

Grato

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0
Guest - claudio -

São 3 pgs:

Esta é a pg que lista todos os estabs. Está OK

<%

id_Estab = request.form ("id_Estab")

Nome_estab = request.form ("Nome_Estab")

call abreconexao

SQL = "select * from Estab order by Nome_Estab Asc "

set rsEstab=conexao.execute(sql)

%>

------------------------------------------------------

Esta é a pg que visualiza os dados de um determinado estab e todos clientes deste estab. ESTA OK

<%

Id_Estab = request.QueryString("Id_Estab")

Id_Cliente = request.QueryString("Id_Cliente")

Tipo_Cliente = request.form ("Tipo_Cliente")

call abreconexao

SQL = "select * from Estab where Id_Estab= " & Id_Estab

set rsEstab=conexao.execute(sql)

SQL2 = "select * from Cliente where Id_Estab= " & Id_Estab & " order by Tipo_Cliente, Nome Asc"

set rsCliente=conexao.execute(SQL2)

%>

Nesta mesma pg a tab com o menu lista onde eu seleciono o tipo de cliente:

<table width="698" border="0" align="center" cellpadding="0" cellspacing="0">

<form name="ip" method="post" action="resultado_cli.asp">

<tr bgcolor="#e1e1ea">

<td width="399" bgcolor="#FFFFFF" class="conteudo_lista">&nbsp;&nbsp;&nbsp;</td>

<td width="101" bgcolor="#FFFFFF" class="conteudo_lista">

<select name="Tipo_Cliente" class="form_limpo" id="Tipo_Cliente">

<option value="" selected>Selecione</option>

<option value="Comprador">Comprador</option>

<option value="Vendedor">Vendedor</option>

</select>

</td>

<td width="8" bgcolor="#FFFFFF" class="conteudo_lista">&nbsp;</td>

<td width="190" bgcolor="#FFFFFF" class="conteudo_lista"><input name="ip" type="submit" class="Capita" id="ip" value="OK" onClick="return checar();">

</td>

</tr>

<tr>

<td height="3" colspan="4" class="conteudo_lista"></td>

</tr>

</form>

</table>

--------------------------------------------------------------

Por fim tab de resultados da pesquisa de tipo de cliente:

<%

Id_Estab = request.QueryString("Id_Estab")

Id_Cliente = request.QueryString("Id_Cliente")

Tipo_Cliente = Request.Form("Tipo_Cliente")

Nome = request.form("Nome")

Set rsCliente = Server.CreateObject("ADODB.Recordset")

call abreconexao

SQL = "select * from Estab where Id_Estab= " & Id_Estab

set rsEstab=conexao.execute(sql)

SQL2 = "SELECT * FROM Cliente WHERE Tipo_Clienete = '" & Tipo_Cliente & "' and Id_Estab = " & Id_Estab & " order by Nome asc"

set rsCliente=conexao.execute(sql2)

%>

Link para o comentário
Compartilhar em outros sites

  • 0

Se eu entendi certo, na terceira tela você está fazendo um Request.QueryString sem ter mandado na tela anterior.

você pode tentar assim, nesta parte (ou modifica o form, ou modifica com o hidden):

------------

Nesta mesma pg a tab com o menu lista onde eu seleciono o tipo de cliente:

<table width="698" border="0" align="center" cellpadding="0" cellspacing="0">

<form name="ip" method="post" action="resultado_cli.asp?id_Estab=<%= id_Estab %>">

<tr bgcolor="#e1e1ea">

<td width="399" bgcolor="#FFFFFF" class="conteudo_lista">&nbsp;&nbsp;&nbsp;</td>

<td width="101" bgcolor="#FFFFFF" class="conteudo_lista">

<select name="Tipo_Cliente" class="form_limpo" id="Tipo_Cliente">

<option value="" selected>Selecione</option>

<option value="Comprador">Comprador</option>

<option value="Vendedor">Vendedor</option>

</select>

</td>

<td width="8" bgcolor="#FFFFFF" class="conteudo_lista">&nbsp;</td>

<td width="190" bgcolor="#FFFFFF" class="conteudo_lista"><input name="ip" type="submit" class="Capita" id="ip" value="OK" onClick="return checar();">

</td>

</tr>

<tr>

<td height="3" colspan="4" class="conteudo_lista"></td>

</tr>

<input type="hidden" value="<%= id_Estab %>">

</form>

</table>

---------

Veja se adianta

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - claudio -

Andreia!!!!!! Anjoooooo

Meu era exatamente o caminho no botão do form, veja como era simples mais pra quem não entende muito bem parece um bicho de 7000 cabeças...rsrs

Só mais uma coisinha, é muito complicado eu colocar uma opção de download no formato XLS nessa pg de resultado?

Muito obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Daí não sei se a sua aplicação tem muitos arquivos, ou seja, pra cada cliente é um xls.

Porque se for, você pode tentar colocar junto do BD uma tabela com o nome do arquivo, exemplo:

ID_Estab - Cliente - caminho_excel

1------------- X ------ planilha1.xls

2------------- Y ------ planilha2.xls

Mas se for poucos xls pra muitos clientes, acho que é mais fácil definir um grupo e jogar um select case.

Não sei se assim é a melhor forma, se alguém souber uma melhor posta pra nós

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - claudio -

Na verdade eu precisaria apenas de 2 planilhas, uma para compradores e outra para os vendedores, eu até montei um consulta no bd mas não sei como adaptar isso. vou tentar da forma como você falou....

Muito obrigado Andreia

Link para o comentário
Compartilhar em outros sites

  • 0

Claudio, então voce pode fazer assim:

<%
if usuario = 1 then
	link = "arquivo1.xls"
elseif usuario = 2 then
	link = "arquivo2.xls"
end if
%>

<a href="<%= link %>">Link</a>

É só você adaptar, eu fiz um exemplo onde usuario sendo 1 é comprador e se o usuário for 2 é o vendedor

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - claudio -

Não, eles não fazem login, eu não entendi como eu crio essas pgs para que elas sejam dinâmicas, já classifiquei os clientes e o link chama as pgs correspondentes.

isto teria alguma importância?

Response.ContentType = "application/vnd.ms-excel"

Response.AddHeader "Content-Disposition", "attachment;filename=relatorio1.xls"

response.write "conteudo"

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,8k
×
×
  • Criar Novo...