Newsgroup: it.comp.www.asp
Titolo: errore operatore mancante

Microsoft OLE DB Provider for ODBC Drivers errore "80040e14"
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
query expression 'id='.
/loba/data/details3.asp, riga 10
id2=request.querystring("id")
sql="select *from tabmag where id="&id2    --      '(ho provato
anche:""&id2&"")
Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open"driver={Microsoft Access Driver
(*.mdb)};dbq="&Server.Mappath("/loba/db/magazzino.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
rs.Open Sql,dbConn,3,3       ---  '(questa è la riga 10)
ciao a tutti questa è la conn per una paginazione ;si fa click sul link e si
apre la pag relativa al record trovato con tutto quello che serve cmq dice
che l'errore è nella query
dove sbaglio?
ciao grazie a tutti
lobax

query expression 'id='.
<ZAP>
Evidentemente non passi il campo "id". Verifica la tua query prima
di eseguirla. Fai un bel:
Response.Write "Questo e' l'ID: '" & request.querystring("id") & "'"
Prima di tutto e vedi cosa ti visualizza. Se non appare
niente vuol dire che hai un'errore sulla pagina che richiama
questa.
Davide

 Davide

trovarlo
Evidentemente nella creazione del link (HREF) che punta alla pagina
di "dettaglio", non passi il parametro ID. Ci sono due possibilita':
lo passi ma con un nome diverso, oppure non glielo passi e basta.
Posta il codice che genera quell'HREF.
Davide

 ha scritto nel messaggio
news:3a222f16...@news.cis.dfn.de...

questo è il link:
    scrivi=scrivi&"</TD><TD width='195'>"%><a
href="details1.asp?id=<%=id%>"><%=articoli%></a>
e con id2 nella pag seguente assumo il valore della variabile id:
<%id2=request.querystring("id")
loris

href="details1.asp?id=<%=id%>"><%=articoli%></a>
Hummm... tu usi id=<%=id%>, ma hai valorizzato la
variabile "id" prima ?
Davide

 variabile "id" prima ?
? non capisco cosa intendi con prima del db e il classico contatore  va bè
ti mando il cod tanto non e che sia lungo:
<%
articoli=request.form("articoli")
cat=request.form("caetegoria")
If articoli="" Then articoli="%"
If cat="tutte" Then cat="%"
Sql="SELECT * FROM tabmag WHERE id LIKE '%"&id&"%' AND articoli LIKE
'%"&articoli&"%' AND categoria LIKE '%"&cat&"%' AND produttore LIKE
'%"&produttore&"%'AND prezzo LIKE '%"&prezzo&"%' AND anno LIKE
'%"&anno&"%'AND linea LIKE '%"&linea&"%'"
Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open"driver={Microsoft Access Driver
(*.mdb)};dbq="&Server.Mappath("/loba/db/magazzino.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
rs.Open Sql,dbConn,3,3
if rs.EOF Then
response.write("<b>L'articolo richiesto non è al momento disponibile</b>")
else
  response.write ("<h3>Articoli Trovati<BR></h3><TABLE BORDER=1><TR><TD
bgcolor='#3333FF' width='169'>Articoli</TD><TD bgcolor='#3333FF'
width='195'>prodotto</TD><TD bgcolor='#3333FF'width='168'>prezzo</TD><TD
bgcolor='#3333FF' width='158'>anno</TD><TD bgcolor='#3333FF'
width='119'>Categoria</TD><TD bgcolor='#3333FF'
width='223'>Linea</TD></TR>")
i=0
Do While NOT RS.EOF
i=i+1
     scrivi="<TR><TD width='169'>"
     scrivi=scrivi&rs("articoli")
     scrivi=scrivi&"</TD><TD width='195'>"%><a
href="details1.asp?id=<%=id%"><%=articoli%></a>
poi altri .. ho provato a passare una riga con il campo id ma è lo stesso
idem x la query
lobax

	Sql="SELECT * FROM tabmag WHERE id LIKE '%" & id & "%' AND articoli LIKE
<ZAP>
Allora, tu recuperi "articoli" da Request.Form("articoli"), ed Idem
per Cat da Categoria, ma "ID", "PREZZO", "produttore" e tutti gli
altri parametri a cui ti riferisci nella SQL e nel codice successivo,
DA DOVE LI PRENDI????
Davide
P.S. scrivi del codice piu' leggibile, si fa' prima anche a trovare
gli errori.
Vedi 
http://www.soft-land.org/documenti/pessimo.html

 DA DOVE LI PRENDI????
scusa ma continuo a non capire,vediamo:io ho 2 parametri per la ricerca che
sono "articoli e categoria" tramite questi 2 faccio cercare e stampare a
video quello che voglio sia stampato quindi
articolo,produttore,distributore,prezzo,anno,categoria.
sul nome dell'articolo ho messo un link. e fino qui tutto bene funziona ed è
ok.
la stringa sql ha qualche cosa in + che aveno aggiunto per provare se
l'errore non fosse lì allora avevo agginto id e tutti i campi del db la
stringa originale era :
select * from tabmag where articoli like '%"&articoli&"%' AND categoria like
'%"&cat&"%' (lo so che * vuol gia dire tutti i campi è la classica prova
della disperazione),cmq il risultato è lo stesso scusa se non l'ho tolta mi
sono dimenticato.
in ogni caso il ragionamento era questo:dalla sringa di ricerca sql esce un
risultato
,seleziona tutti i campi dalla tabella tabmag da dove utilizzerai per la
ricerca il campo articoli e categoria tramite appunto il request.form. nella
pagina details.asp catturo questa srtinga con request.querystring e assegnio
il nome id2 alla alla variabile id presente dopo il datails1.asp? quindi,
id2=request.querystring("ID") la sucessiva
definizione della stringa sql è . sql="select * from tabmag where id="&id2
(l'ho messa così perchè è un numero penso sia giusto).
questo è tutto cmq il cod è quello che ti ho mandato togli anche i parametri
in + sulla stringa il risultato è identicoil punto è quello di catturare il
campo id e utilizzarlo associandolo al nome dell'articolo che è un link per
la relativa pagina per cui si io sceglirò l'articolo x cliccando sopra
dovrebbe collegarsi al file details1.asp?id=il numero id corrispondente.
se c'è qualche cosa di sbagliato o che non so o altro ti prego (sempre se
vuoi se hai tempo ecc)di dirmelo. grazie per la tua gentilezza.
lobax

 <%= articoli %></a>
Anche qui' l'ho scritto meglio per comprensione.
Nel codice tu ti riferisci ad id (<% =id %>), ma
questa variabile "id" non l'hai mai ne' dichiarata ne'
valorizzata.
Secondo me quello che volevi fare tu era:
Response.Write "<td>"
Response.Write "<a href='details1.asp?id="
Response.Write rs.Fields("ID")
Response.Write "'>"
Response.Write rs.Fields("descrizione")
Response.Write "</a></td>"
Assumendo che il recordset sia "rs" e che la descrizione
dell'articolo sia il campo 'descrizione'.
Davide
P.S. complicare il codice non serve a risolvere i problemi,
nel dubbio butta via parti di codice, mai aggiungerne.

 dell'articolo sia il campo 'descrizione'.
rs è il recorset ma la descrizione è data da tutti i campi
io devo visualizzare tutti i campi dell'articolo scelto ed accedervi tramite
il link, spero di esermi spiegato ciao grazie
lobax.

 ha scritto nel messaggio
ho provato a mettere il link in questo modo:
<a href="details1.asp?id=<%=id%>"><%=articoli=i%></a>
al posto del nome dell'articolo mi da "FALSE" ti può essere di aiuto?
lobax

rs č il recorset ma la descrizione č data da tutti i campi

 lobax
scusate se mi intrometto, ma ti da FALSE perchč fai un confronto tra
articoli e i
<%=articoli=i%>
togli quell' =i
<a href="details1.asp?id=<%=id%>"><%=articoli%></a>
ciao
--
Kappa
kappa**nospam**@
webngo.net
www.webngo.net