Newsgroup: it.comp.appl.access
Titolo: Funzione DLookup in una query

Salve a tutti,
in una query di selezione (query1) ho inserito all'interno di un campo 
chiamato Ubicazione la seguente espressione:
Ubicazione:DLookUp("[Ubicaz]";"Macchinari_Clienti";" [IDMatricola] 
=[Chiamate]![IDMatricola]")
Ovvero ho bisogno che in questo campo si popoli dei valori presenti nel 
campo [Ubicaz] presente nella tabella "Macchinari_Clienti", come criterio di 
selezione dovrebbe usare IDmatricola.
Quando eseguo la query mi compare questo messaggio: "L'espressione immessa 
come parametro di query ha provocato il seguente errore:' impossibile 
trovare il nome Chiamate!IDmatricola specificato nell'espressione".
Ho provato in mille modi ma non riesco a venirne a capo ........ sapete 
darmi una dritta?!!?!?!?!
Grazie x l'aiuto
Massimo Pallavicini


DLookUp("[Ubicaz]";"Macchinari_Clienti";"[IDMatricola] = " &
[Chiamate]![IDMatricola])
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 ha scritto nel messaggio 
news:44f5f192$0$35068$4faf...@reader4.news.tin.it...

Non credo tu possa farlo perchč il dlookup prenderebbe solo la prima 
ricorrenza mostrando sempre lo stesso valore.
Puoi perň usare una funzione pubblica come questa:
Public Function TrovaUbicazione(AB As Long) As String
TrovaFiliale = DLookup("Ubicaz", "Macchinari_Clienti", "IDMatricola=" & AB)
End Function
La userai in un campo della query cosě:
Ubicazione: TrovaUbicazione([IDMatricola])
Fammi sapere.
Ciao, Carlo 

 ha scritto nel messaggio
news:ed61i4$7e8$1...@area.cu.mi.it...

Mi restituisce il seguente errore:
 Errore di run-time 3464
"Tipi di dati non corrispondenti nell'espressione criterio"

 "Tipi di dati non corrispondenti nell'espressione criterio"
Devi controllare il tipo di dati e il tipo di dati del campo in cui metti la 
funzione.
La funzione proposta restituisce una stringa e presuppone che IDMatricola 
sia un valore numerico di tipo long.
Controlla questi due valori...e troverai la soluzione.
Ti ricordo che la funzione va utilizzata in un campo e non nel criterio di 
un campo.
Ciao, Carlo 

 ha scritto nel messaggio 
news:ed6915$ke1$1...@area.cu.mi.it...

Carlo, IDMatricola č un campo di testo cosě nella funzione ho modificato AB 
as long in AB as string il resto č rimasto come hai detto tu.
Purtroppo perň anche la query continua a darmi lo stesso errore. Credo poi 
che di default il campo di una query sia di tipo testo.....?!?!?!?
Ciao 

 Ciao
Cambia la funzione cosě:
Public Function TrovaUbicazione(AB As string) As String
TrovaFiliale = DLookup("Ubicaz", "Macchinari_Clienti", "IDMatricola=" & "'" 
& AB & "'")
End Function
Ciao, Carlo 


Carlo, adesso funziona nel senso che non mi da errori ....... però non mi
lascia il campo in bianco......
Può essere dovuto al fatto che in alcuni record il campo IDmatricola non è
presente.....
Grazie
Ciao, Massimo


Le cose le dici a pezzettini...
Ma quando mai si usa un tipo di dati testo per un IDMatricola o quando mai 
si lascia vuoto un campo correlato in una realazione uno a molti. Mah.
Comunque cambia la funzione cosě:
Public Function TrovaUbicazione(AB As string) As String
TrovaFiliale = nz(DLookup("Ubicaz", "Macchinari_Clienti", "IDMatricola=" & 
"'"
& AB & "'"),"")
End Function
Oppure:
Public Function TrovaUbicazione(AB As string) As String
TrovaFiliale = nz(DLookup("Ubicaz", "Macchinari_Clienti", "IDMatricola=" & 
"'"
& AB & "'"), "Nessuna Ubicazione trovata")
End Function
Ciao, Carlo


Ti faccio un monumento Carlo, funziona perfettamente ..............GRAZIE
p.s. il database l'ho ereditato cosě con il campo IDmatricola o vuoto o
contenente caratteri alfanumerici......
Ciao
Massimo

 Massimo



Invidioso!
Ciao, Carlo