Newsgroup: it.comp.www.asp
Titolo: Query DLookUp su ASP

SQL = "SELECT DISTINCT Nominativi.ID, Nominativi.Ragione_Sociale,
Attivita.Data_Attivita, "&_ 
"DLookUp("[Last_Name]","Contatto","ID_Nominativo =" & [ID] & " AND
ID_Ruolo = 11") AS Last_Name,"&_ 
"Nominativi.Telefono, Nominativi.Attivita, Attivita.ID_Tipo_Attivita FROM
Nominativi RIGHT JOIN Attivita "&_ 
"ON Nominativi.ID = Attivita.ID_Nominativo
WHERE((Attivita.ID_Tipo_Attivita)=2)) ORDER BY " & QSOrdinaPer
problema con questa query
Tipo di errore:
Errore di compilazione di Microsoft VBScript (0x800A0401)
Prevista fine istruzione
include/inc_namedaily.asp, line 22, column 10
"DLookUp("[Last_Name]","Contatto","ID_Nominativo =" & [ID] & " AND
ID_Ruolo = 11") AS Last_Name,"&_
---------^
donde sta l'errore??
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ---------^
La seconda " chiude la stringa e quindi l'interprete si aspetta codice ASP,
ma trova [Last_Name].
I dippi apici interni ad una stringa vanno raddoppiati per essere
interpretati quali caratteri della stringa e non separatori:
"DLookUp(""[Last_Name]"",""Contatto"",""ID_Nominativo =" & [ID] & " AND
Alex.
-- 
___________________________________________________________
a p bertolini
(Tribů Digitale Blackmambo: 
www.blackmambo.it
)

 Alex.
la query la ho modificata cosi:
SQL = "SELECT DISTINCT Nominativi.ID, Nominativi.Ragione_Sociale,
Attivita.Data_Attivita, "&_ 
"DLookUp(""[Last_Name]"",""Contatto"",""ID_Nominativo ="" & [ID] & "" AND
ID_Ruolo = 11"") AS Last_Name,"&_
"Nominativi.Telefono, Nominativi.Attivita, Attivita.ID_Tipo_Attivita FROM
Nominativi RIGHT JOIN Attivita "&_ 
"ON Nominativi.ID = Attivita.ID_Nominativo
WHERE((Attivita.ID_Tipo_Attivita)=2)) ORDER BY " & QSOrdinaPer
bene.. risultato...
Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
Il driver ODBC non supporta le proprietà richieste.
include/inc_namedaily.asp, line 27
commmme mai??


 WHERE((Attivita.ID_Tipo_Attivita)=2)) ORDER BY " & QSOrdinaPer
Premesso che non ho mai usato DLookUp (ne ignoravo l'esistenza fin quando
ho letto il tuo post), credo che hai esgaerato con i doppi-doppi apici
corretto -> "DLookUp(""[Last_Name]"",""Contatto"",""ID_Nominativo =" & [ID]
& "
codice tuo -> "DLookUp(""[Last_Name]"",""Contatto"",""ID_Nominativo ="" &
[ID] & ""
Però attenzione, rileggendo bene: cos'è [ID]? E' una variabile dello
script? Come e dove viene definita?
Assomiglia un po' troppo al codice dimostrativo che si trova online...
leggiti bene la documentazione poiché ho paura che tu abbia fatto un errore
di "concetto".
Fossi in te non userei DLookUp. E' specifico di MS Access e non sai mai
dove andrà a finire il tuo script.
Alex.
-- 
___________________________________________________________
a p bertolini
(Tribù Digitale Blackmambo: 
www.blackmambo.it
)

 Alex.
In access la query sopra funzionava benissimo, ora però sto eliminado
tutte le query create in access e le porto tutte sullo script perche vado
a utilizzare SQL Server, ecco il perche della richiesta di aiuto.
Comunque sia quella è la query più semplice dovresti vedere le altre 4,
volevo partire da questa per poi arrangiarmi a capire come creare le altre.
Hai il link del codice dimostrativo che me lo vado a vedere?
Thanks
Miss Sixty


 le altre. Hai il link del codice dimostrativo che me lo vado a vedere?
Vai su 
http://msdn.microsoft.com/
 e cerca "dlookup"
Se il tuo problema è la conversione allora direi che ti tocca smontare ogni
dlookup in una query di join (poiché in sostanza DLookUp è una join
brevimano).
Il tuo esempio più o meno si traduce in:
"SELECT DISTINCT
Nominativi.ID as id_nominativo,
Nominativi.Ragione_Sociale as ragione_sociale,
Attivita.data_attivita as data_attivita,
contatto.last_name as last_name,
nominativi.telefono as telefono,
nominativi.attivita as attivita,
attivita.id_tipo_attivita as tipo_attivita
FROM nominativi, attivita, contatto
WHERE
nominativi.id
=attivita.id_nominativo AND
contatto.id_nominativo=
nominativi.id
 AND
attivita.id_tipo_attivita=2 AND
contatto.id_ruolo=11
ORDER BY " & QSOrdinaPer
(ho le join esplicite per chiarezza...)


 Alex.
Sto sclerando..
non ne vengo piu fuori :-)
allora
come hai fatto tu mi estrae 103 record
con questa query
_
SELECT DISTINCT Nominativi.ID, Nominativi.Ragione_Sociale,
Attivita.Data_Attivita, Contatto11.Last_Name, Nominativi.Telefono,
Nominativi.Attivita, Attivita.ID_Tipo_Attivita
FROM (Nominativi RIGHT JOIN Attivita ON Nominativi.ID =
Attivita.ID_Nominativo) LEFT JOIN Contatto11 ON Nominativi.ID =
Contatto11.ID_Nominativo
WHERE (((Attivita.ID_Tipo_Attivita)=2))
ORDER BY Attivita.Data_Attivita, Nominativi.Ragione_Sociale
mi estrae 115 record 
vai a trovare adesso come mai...


 vai a trovare adesso come mai...
Tu fai una RIGHT join e una LEFT join, io un filtro WHERE "cartesiano".
Leggiti una qualche documentazione su LEFT JOIN e RIGHT JOIN, io qui
rischierei di essere poco chiaro e creare solo confusione. Il principio
base č che la mia query estrae SOLO quei record che sono interessati dalla
join, cioé che hanno un record collegato in TUTTE E TRE le tabelle
interessate dalla query. Con LEFT e RIGHT prendi anche eventuali record
"orfani".
Alex.
-- 
___________________________________________________________
a p bertolini
(Tribů Digitale Blackmambo: 
www.blackmambo.it
)

 Alex.
SCOPERTO il perche una query mi da 103 record contro l'altra me ne da 115
tutte e due le query mi estraggono tutti i nominativi e solo i contatti in
cui IDruolo è 11
solamente che nella tua, se quel nominativo non ha altri contatti (non 11
come ID) non mi da i record "nominativi" mentre nella mia si
Praticamente ci sono 12 nominativi che non hanno nulla nella tabella
contatti e cosi la tua query non li estrae
mentre con left e right che ho fatto io si
uff spero di essere capita
secondo te che dovrei fare?


 secondo te che dovrei fare?
Dipende! Ti interessa comunque avere un nominativo senza conoscerne il
contatto? Con left / right avrai che il last_name sarà nullo. Dovrai
ricordarti di verificare che quel campo sia nullo o meno prima di
utilizzarlo.
Alex.
-- 
___________________________________________________________
a p bertolini
(Tribù Digitale Blackmambo: 
www.blackmambo.it
)

 interpretati quali caratteri della stringa e non separatori
usa anche un apice '
Saluti. Carlo.
-- 
Puoi chiamarmi con Skype o con Yahoo Messenger id: carlonike
Vuoi un sicuro e gratuito programma per la tua posta?
http://www.pegasusmail.tk
 o 
http://www.pmail.com