Newsgroup: it.comp.www.asp
Titolo: Due query uguali: una ok, l'altra errore...

Ho due tabelle sullo stesso DB Access, connesso col metodo "DSNLESS" con la
seguente stringa:
....
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
Server.MapPath("testasp.mdb")
    Set Session("ASP_conn") = conn
....
In questo db ho due tabelle: B01_LOCAL e INTERNETLOCAL
Su B01_LOCAL la query numero 1 (vedi sotto) gira benissimo, mentre su
INTERNETLOCAL la seconda query (vedi sotto) dà questo errore:
Microsoft OLE DB Provider for ODBC Drivers errore "80040e10"
[Microsoft][Driver ODBC Microsoft Access 97] Parametri insufficienti.
Previsto 1.
/testasp/qINTERNET_1.ASP, riga 29
QUERY 1 => GIRA BENISSIMO
****************************************************************************
******************************************************
<%
    sql = "SELECT * FROM B01_LOCAL  WHERE (((B01_LOCAL.B01_ZIPCODE)=" &
Request.QueryString("[ZIPCODE]") & "))   "
    If cstr(Param) <> "" And cstr(Data) <> "" Then
        sql = sql & " And [" & cstr(Param) & "] = " & cstr(Data)
    End If
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
%>
****************************************************************************
******************************************************
QUERY 2 => ERRORE
****************************************************************************
******************************************************
<%
    sql = "SELECT * FROM INTERNETLOCAL  WHERE
(((INTERNETLOCAL.C01_B04_CODE_FK)=" & Request.QueryString("[CAMPIONATO]") &
"))   "
    If cstr(Param) <> "" And cstr(Data) <> "" Then
        sql = sql & " And [" & cstr(Param) & "] = " & cstr(Data)
    End If
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
%>
****************************************************************************
******************************************************
Grazie per l'attenzione... (e per la risposta...)
--
Federico Maccaferri  < 
f.macc...@libero.it
 >
=====================================
E' meglio essere ottimisti ed avere torto
piuttosto che pessimisti ed avere ragione
=====================================

 %>
prova con
sql = "SELECT * FROM INTERNETLOCAL  WHERE
((([INTERNETLOCAL.C01_B04_CODE_FK])=" & Request.QueryString("[CAMPIONATO]")
& "))   "
essendo lungo il nome del campo, č meglio racchiuderlo tra [ ], cosě ADO
capisce che si tratta del nome di un campo.
--
BUON NATALE E HAPPY 2K!.db
Daniele "The Night Surfer" Bochicchio <webmaster(at)ASPItalia.com>
----------- H T T P : / /  W W W . A S P I T A L I A . C O M -----------
Moderatore di it.comp.www.asp
Materiale: 
http://www.ASPItalia.com/newsgroup/icwa.asp
Tutto su NT: 
http://www.ASPItalia.com/
----------- H T T P : / /  W W W . A S P I T A L I A . C O M -----------
Ogni giovedě un nuovo articolo. Clicca qui per quello di questa
settimana: 'WAP (Wireless Application Protocol)'
http://www.ASPItalia.com/articoli/articoli.asp?settimana
----------- H T T P : / /  W W W . A S P I T A L I A . C O M -----------
it.comp.www.asp, it.comp.www.html, it.lavoro.professioni.webmaster...
Cos'hanno in comune? Scoprilo su 
http://www.ASPItalia.com/newsgroup/
----------- H T T P : / /  W W W . A S P I T A L I A . C O M -----------

Da quello che si puo' arguire (per l'amordidio togli un po' di
parentesi!!!), uno dei parametri che vengono testati (CParam o CData) e'
nullo, creandoti un bello schifo.
Per fare il debug di sta' roba ti conviene farti visualizzare le query SQL
risultanti prima di eseguirle, in questo modo puoi renderti conto
immediatamente di cosa succede.
Davide