- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- relazione tra due tabelle
-
relazione tra due tabelle
Salve a tutti,
Vi sembrerà banale (e sicuramente lo è) ma mi sono bloccato su un semplice collegamento tra due tabelle di un db.
Mi spiego meglio devo far vedere sulla pagina protetta di un cliente le richieste di preventivo che gli sono state inviate. Il cliente quindi deve aprire con un link una pagina dove visualizza le sue ruchieste. a questo punto io creo una relazione tra le due tabelle:<%
' PERCORSO DEL DATABASE
url_DB = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/fpdb/mdb-database/database.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open url_DB
Set RecSet = Server.CreateObject("ADODB.Recordset")
' PRELEVA I DATI DELL'UTENTE SELEZIONATO
SQL = "SELECT * FROM Utenti inner join invii preventivi ON Utenti.id = invii preventivi.id where Utenti.ID = " & Request.QueryString("id") &""
RecSet.Open SQL, Conn, adOpenStatic, adLockOptimistic' CONTROLLA SE L'UTENTE ESISTE...
IF Not RecSet.Eof Then
%>ma da questo comando ottengo il seguente errore:
Microsoft OLE DB Provider for ODBC Driverserror '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Utenti.id = invii preventivi.id'. /elenco_preventivi.asp, line 35strano perchè si le tabelle sia i campi sono digitati in modo corretto.
Ringrazio anticipatamente chiunque voglia aiutarmi.
-
Metti le parentesi quadre intorno al nome della tabella
-
FATTO..
ma non cambia nulla
-
Ma il nome della tabella ha lo spazio? Sarebbe meglio toglierlo
-
si ha lo spazio, provo ad eliminarlo e ti faccio sapere
-
provato e funziona grazie mille!!!
-
scusami se rompo ancora ma adesso il prblema nasce nell'inserimento della tera tabella [contatti] che mi riporta al punto iniziale.
ti riporto la riga corretta:SQL = "SELECT * FROM [inviipreventivi] inner join [Utenti] ON inviipreventivi.id = Utenti.id inner join [Contatti] ON inviipreventivi.idContatto = Contatto.IDContatto where Utenti.ID = " & Request.QueryString("id") &""
dove sbaglio?
P.s. la tabella innviipreventivi e quella cha possiede gli id delle altre due tabelle.
-
Correzione dell' ortografia (faceva schifo)
scusami se rompo ancora ma adesso il problema nasce nell'inserimento della terza tabella [contatti] che mi riporta al punto iniziale.
ti riporto la riga corretta:SQL = "SELECT * FROM [inviipreventivi] inner join [Utenti] ON inviipreventivi.id = Utenti.id inner join [Contatti] ON inviipreventivi.idContatto = Contatto.IDContatto where Utenti.ID = " & Request.QueryString("id") &""
dove sbaglio?
P.s. la tabella innviipreventivi e quella che possiede gli id delle altre due tabelle.
-
[Contatti] ON inviipreventivi.idContatto = Contatto.IDContatto
-
No purtroppo non è quello avevo solo digitato in modo errato.
-
Che errore da? Quello di prima? controllato tutti i nomi?
-
si da lo stesso errore
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'inviipreventivi.id = Utenti.id inner join [Contatti] ON inviipreventivi.idContatto = Contatti.IDContatto'
e i nomi sono corretti
-
togli le quadre intorno a contatti
-
solo dai contatti? e le altre due tabelle?
-
provato e purtroppo non cambia
-
provato anche ad eliminare le quadre da tutte le tabelle ma il risultato e lo stesso
-
problema risolto (mi sono dimenticato di scriverlo)
funziona così:
SQL = "SELECT * FROM [inviipreventivi],[Utenti],[Contatti] where Utenti.ID = " & Request.QueryString("id") &" and inviipreventivi.id = Utenti.ID and inviipreventivi.idContatto = Contatti.ID"