Newsgroup: it.comp.www.asp
Titolo: query per interrogare database access

Vi avverto subito, saro' piuttosto lungo, ma sono alla disperazione
........ Aiutoooo ....
Scenario: database Access contenente 10 tabelle (lo stesso di alcuni
post addietro) (non mio purtroppo, che se no col cavolo che lo facevo
cosi' ..... putroppo mi arriva dall'esterno e a me tocca leggerlo),
pagina asp che legge il database, senza ODBC, chiamata da un form nel
quale l'utente inserisce due condizioni.
Qualcuno sarebbe cosi' gentile di spiegarmi il perche' non mi funziona
questa query (piuttosta complessa):
SELECT tabella1.*, tabella2.*, tabella3.*, tabella4.* 
FROM tabella2 INNER JOIN (tabella3 INNER JOIN ( tabella4 ) 
ON tabella3.id_campo3 = tabella4.id_campo4) ON tabella2.id_campo2 =
tabella3.id_campo3 
WHERE tabella3.nome_campo1 = 'AAAAA' AND tabella3.nome_campo2 = 'BBBBB' 
ORDER BY 
tabella2.id
 
L'errore restituito dalla pagina ASP e' il seguente:
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database
engine does not recognize 'tabella1.*' as a valid field name or
expression. 
Se invece uso:
SELECT * 
FROM tabella2 INNER JOIN (tabella3 INNER JOIN ( tabella4 ) 
ON tabella3.id_campo3 = tabella4.id_campo4) ON tabella2.id_campo2 =
tabella3.id_campo3 
WHERE tabella3.nome_campo1 = 'AAAAA' AND tabella3.nome_campo2 = 'BBBB' 
ORDER BY 
tabella2.id
 
la cosa funziona (mi fa vedere i record correttamente), pero' mi si crea
un secondo problema. 
Poiche' due tabelle hanno il nome di un campo uguale e dovendo
visualizzarli entrambi se vado a mettere: 
<%= RSCustomerList("tabella2.nome_campo_uguale") %>
mi genera un altro errore: 
ADODB.Fields error '800a0cc1' 
ADO could not find the object in the collection corresponding to the
name or ordinal reference requested by the application. 
Se metto ovviamente:
 
<%= RSCustomerList("nome_campo_uguale") %>
vedo solo uno dei due.
Grazie infinite (anche solo per aver letto fin qui) 
Marco Barontini

premesso che non mi sono scontrato con un problema simile....
a occhio e croce dovresti (lo so che e' una palla) tabella1.*
con tabella1.nomecampo1,tabella1.nomecampo2,ecc...
In questo modo dovresti poter referenziare correttamente le variabili.!!
Fammi sapere .


Ti ringrazio della risposta e del suggerimento.
Provato (15 campi istanziati, una palla .....) stesso errore 
Il bello e' che la query funziona, se tolgo l'unico riferimento a quel
campo il resto dei valori e' corretto.
Sto dando di matto ....
Ciao
Marco Barontini

 
Risoltooooooo .....!!!!!!!!!!
Sostituendo 
<%= RSCustomerList("nome_campo") %> con 
<%= RSCustomerList.Fields(1).value %> 
dove 1 e' la posizione del campo passata nella SELECT come Gianluca mi
diceva giustamente, funziona ......
In altre parole:
SELECT tabella1.campo1, tabella1.campo2, tabella2.campo1,
tabella2.campo2, ecc.  
FROM tabella2 INNER JOIN (tabella3 INNER JOIN ( tabella4 ) 
ON tabella3.id_campo3 = tabella4.id_campo4) ON tabella2.id_campo2 =
tabella3.id_campo3 
WHERE tabella3.nome_campo1 = 'AAAAA' AND tabella3.nome_campo2 = 'BBBBB' 
ORDER BY 
tabella2.id
 
per vedere il contenuto del campo tabella2.campo1 basta mettere:
<%= RSCustomerList.Fields(2).value %>
e cosi via per gli altri
Marco Barontini

Lo sapevo ....pensavo non ti servisse il posizionale!!!
Vabbe' ..sono contento che hai risolto!!
CIAO!!!