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

Outro select dando erro


Ruiva

Pergunta

Gente tem o código abaixo que filtra o tipo de solicitação no primeiro select (funciona perfeitamente) porém no segundo select ele funciona no Access mas não funciona na hora que coloco no dreamweaver..erro: Fim de instrução esperado na linha que vou grifar se alguém puder ajudar THANKS

<table width="71%" border="0" align="center">

<tr>

<td>

<fieldset><legend class="texto_admin">&nbsp;&nbsp;Filtrar Solicitações Finalizadas: &nbsp;&nbsp;</legend>

<table width="100%" border="0">

<tr>

<td class="texto_normal">Tipo de Solicitação:</td>

<td colspan="3">

<select name="LstEquipes" class="frmInputText" id="LstEquipes" tabindex="2" onChange="passarValor()">

<option>---------------------------------------------------</option>

<%

if clsBancoConnection.ConectaBanco() then

set objAdoConn = clsBancoConnection.Conexao()

strSQLx = " SELECT Tipo_Solicitacao.cod_tipo_solicitacao, Tipo_Solicitacao.des_tipo_solicitacao"

função passarvalor:

function passarValor()

{

self.location="Relatorio_finalizadas.asp?LstEquipes=" + document.frmBusca.LstEquipes.value;

}

strSQLx = strSQLx & " FROM Tipo_Solicitacao"

strSQLx = strSQLx & " ORDER BY Tipo_Solicitacao.des_tipo_solicitacao"

set objRsx = server.CreateObject("ADODB.Recordset")

objRsx.open strSQLx, clsBancoConnection.Conexao()

while not objRsx.eof

response.write "<option value=" & objRsx("cod_tipo_solicitacao")& "" & iif(cint(objRsx("cod_tipo_solicitacao")) = cint(request("LstEquipe"))," selected", "")& ">" & objRsx("des_tipo_solicitacao")

objRsx.movenext

wend

objRsx.close

end if

%>

</select>

</td>

</tr>

</table>

</fieldset>

</td>

</tr>

</table>

<table width="71%" border="0" align="center">

<tr>

<td>

<fieldset><legend class="texto_admin">&nbsp;&nbsp;Solicitações Finalizadas: &nbsp;&nbsp;</legend>

<table width=100% border=0 align=center cellpadding="0" cellspacing="2" bordercolor="#CCCCCC">

<tr>

<td><br></td>

</tr>

<%

if clsBancoConnection.ConectaBanco() then

strSQL = "SELECT Solicitacao_suporte.cod_solicitacaosuporte, Solicitacao_suporte.Des_status, Solicitacao_suporte.cod_solicitacao, Solicitacao.cod_solicitacao, Solicitacao.des_solicitacao, Solicitacao_suporte.cod_tipo_solicitacao, Tipo_Solicitacao.cod_tipo_solicitacao, Tipo_Solicitacao.des_tipo_solicitacao, Solicitacao_suporte.escritorio, Solicitacao_suporte.us_cadastro, Solicitacao_suporte.email, Solicitacao_suporte.Data_solicitacao, Solicitacao_suporte.obs_suporte, Solicitacao_suporte.prioridade"

strSQL = strSQL & " FROM Solicitacao INNER JOIN (Solicitacao_suporte INNER JOIN Tipo_Solicitacao ON Solicitacao_suporte.cod_tipo_solicitacao = Tipo_Solicitacao.cod_tipo_solicitacao) ON Solicitacao.cod_solicitacao = Solicitacao_suporte.cod_solicitacao"

strSQL = strSQL & " WHERE ((Solicitacao_suporte.Des_status)="Finalizado")"

strSQL = strSQL & " ORDER BY Solicitacao_suporte.prioridade"

'response.Write(strSQL)

'response.End()

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
Boa tarde.

Antes de executar o comando SQL, mande exibir na tela para checar como esta o SQL.

Coloca o código aqui

SELECT Solicitacao_suporte.cod_solicitacaosuporte, Solicitacao_suporte.cod_solicitacao, Solicitacao.cod_solicitacao, Solicitacao.des_solicitacao, Solicitacao_suporte.cod_tipo_solicitacao, Tipo_Solicitacao.cod_tipo_solicitacao, Tipo_Solicitacao.des_tipo_solicitacao, Solicitacao_suporte.escritorio, Solicitacao_suporte.us_cadastro, Solicitacao_suporte.email, Solicitacao_suporte.Data_solicitacao, Solicitacao_suporte.obs_suporte, Solicitacao_suporte.prioridade FROM Solicitacao INNER JOIN (Solicitacao_suporte INNER JOIN Tipo_Solicitacao ON Solicitacao_suporte.cod_tipo_solicitacao = Tipo_Solicitacao.cod_tipo_solicitacao) ON Solicitacao.cod_solicitacao = Solicitacao_suporte.cod_solicitacao WHERE (((Solicitacao_suporte.cod_tipo_solicitacao)=11)) ORDER BY Solicitacao_suporte.prioridade

Esse é o código ...mudei a parte em negrito porque realmente eu precisava passar o código senão a filtragem não funcionaria porém eu preciso colocar um AND no WHERE porque eu quero selecionar além dakelas que tem o cod_tipo_solicitação = 11 mas as que também são "Finalizadas" igual estava em negrito no primeiro tópico...

porém o AND não funciona e dá o mesmo erro ... fim de instrução esperado e sem ele funciona mas não filtra as finalizadas ...

Link para o comentário
Compartilhar em outros sites

  • 0
Só pra ver, tentan alterar

"Finalizado" por 'Finalizado'

Wowwwww...eu ia ficar nisso até amanhã kkkk mas só mais uma dúvida.... ='Finalizado' funciona mas <>'Finalizado' não..porque??

Tentei ...tirei todos os () porém nada acontece... mandei exibir o select na tela e coloquei no access...ele retorna vazia a consulta e quando coloco em modo disign coloco os relacionamentos em propriedade 02 de associação. e quando tento executar dá o erro:

A instrução SQL não pôde ser executada porque contém associações externas ambiguas, Para forçar que uma das associações seja executada primeiro, crie uma sonsulta separada que execute a primeira associação e inclua essa consulta na instrução SQL.

Porém..não to entendendo o que eu devo fazer...

Link para o comentário
Compartilhar em outros sites

  • 0

talvez tenham valores nulos na tabela, ai ele não compara os valores. pra testar, tente o seguinte e veja se não funciona:

WHERE (Solicitacao_suporte.Des_status <> 'Finalizado' Or IsNull(Solicitacao_suporte.Des_status))

se funcionar, significa q tem dados nulos mesmo. ai você poderia continuar usando esse codigo, mas acho q o melhor seria não gravar dados nulos, e transformar todos os nulos em ''.

se não funcionar poste o select todo como ta ficando pra gente ver se descobre.

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

  • 0

Deu certo sim \o/...vlwww

os campos nulos é porque na verdade a tela tem dois preenchimentos só que em tempos diferentes...ou seja, uma parte fica escondida até a outra ser liberada... você acha melhor trocar os campos nulos assim mesmo? Mesmo que na segunda parte eles sejam de preenchimento obrigatório?

Link para o comentário
Compartilhar em outros sites

  • 0
os campos nulos é porque na verdade a tela tem dois preenchimentos só que em tempos diferentes...ou seja, uma parte fica escondida até a outra ser liberada... você acha melhor trocar os campos nulos assim mesmo? Mesmo que na segunda parte eles sejam de preenchimento obrigatório?

não necessariamente precisa alterar, mas é q deixar os campos nulos pode atrapalhar na hora de manipular os dados (como no problema q você teve agora) e você vai ter q ficar adicionando excecoes nos codigos (como na solucao q passei) pra poder considerar os nulos.

como você diz q eles vao ser preenchidos em seguida, parece q o caso ta resolvido e não vai mais ter problema...

mas quanto a deixar campos nulos nos campos das tabelas, de modo geral isso vai da escolha do programador, o importante é você saber o q esta fazendo e saber tratar os nulos quando precisar.

se nesse caso, você preferir gravar valores em branco em vez de nulo, então nessa tela onde ele fica escondido, na hora q ele for gravar, você adiciona o campo no insert, gravando valor '' (aspas simples vazias) nele.

e se você quiser atualizar a sua tabela atual, trocando todos os nulos por branco, você roda um update assim uma vez q deve resolver:

Update Solicitacao_suporte Set Des_status = '' Where IsNull(Des_status)

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...