Newsgroup: it.comp.appl.access
Titolo: problema con If DLookup

Salve a tutto il NG,
ho ancora un problema da risolvere.
in una maschera di ricerca ho il seguente codice:
Private Sub Trova_n°_entrata_Riparazione_e_Chiusura_AfterUpdate()
Forms![Riparazione e Chiusura].Filter = "[Entrata n°]=" & Me![Trova n°
entrata Riparazione e Chiusura]
Forms![Riparazione e Chiusura].FilterOn = True
Forms![Riparazione e Chiusura]![Entrata n°].SetFocus
If DLookup("[Provenienza merce]", "Generale", "'1 Cliente,2 Vettore'") <> 3
Then Forms![Riparazione e Chiusura]![Costo chiamata] = 18
If DLookup("[Provenienza merce]", "Generale", "'3 A mezzo Sael'") <> 3 Then
Forms![Riparazione e Chiusura]![Costo chiamata] = 0
DoCmd.Close
End Sub
il mio problema è che nella maschera "riparazione e chiusura" al controllo
"costo chiamata" mi restituisce sempre il primo valore "18" e se sposto la
riga di IF con valore "0" al di sopra, mi restituisce sempre "0".
Vorrei che mi restituisse il valore a seconda dei criteri (1 Cliente o 2
Vettore =18) (3 A mezzo Sael = 0).
Non sono neanche sicuro della giusta digitazione per quanto riguardano i
criteri.
Perdonate la mia inesperienza. Grazie in anticipo a chi mi può aiutare.
cesare

 ha scritto nel messaggio
news:9NuD9.10092$2B1.2...@twister2.libero.it...

Ciao cesare
ho l'impressione che la condizione della funzione Dlookup()
non sia corretta, se l'ho capita :-(
Puoi postare, da sole, le condizioni..?
Antcim

 ha scritto nel messaggio
news:nTuD9.42488$744.1...@news1.tin.it...

Ciao,
Innanzitutto grazie per l'aiuto.
Le tre condizioni dovrebbero essere
"1 Cliente" che mi dovrebbe restituire 18 nel controllo Costo chiamata,
"2 Vettore" che mi dovrebbe restituire 18 nel controllo Costo chiamata,
"3 A mezzo Sael" che mi dovrebbe restituire 0 nel controllo Costo chiamata.
devo fare 3 righe singole di If DLookup, 1 per ognuno dei 3 valori?
grazie 1000
cesare

 ha scritto nel messaggio
news:9NuD9.10092$2B1.2...@twister2.libero.it...



Hai letto l'HELP, oppure credi sia OPTIONAL....!!!
@Alex

 ha scritto nel messaggio
news:9NuD9.10092$2B1.2...@twister2.libero.it...

Mah.... i valori dei campi che inserisci nella parte CRITERIO come sono
inseriti...???
Questo non è sicuramente la sintassi corretta per inserire 2 condizioni: "'1
Cliente,2 Vettore'"
Non si capisce bene la struttura, ma guarda l'HELP per comporre in modo
corretto
la condizione Where della Funzione.
@Alex.

 devo fare 3 righe singole di If DLookup, 1 per ognuno dei 3 valori?
Hai fatto mooooooooolta confusione, su tante cose.
Sull'uso della dlookup, sulla sua sintassi ecc. ecc.
La dlookup serve per cercare dentro una tabella un valore di un campo di un
certo record.
Questo record può essere uno qualunque(dlookup), il primo (dfirst), quello
con quel valore massimo (Dmax).
Inoltre si possono effettuare dei filtri con il parametro criteri, cioè si
effettua la ricerca su un sottoinsieme di tutta la tabella.
Quello che hai scritto tu nel terzo parametro non è un filtro valido.
Inoltre quell'if lo dovresti fare su un particolare record, su cui poi vai a
testare il valore 1, 2 e 3.
Come fai a individuare il record su cui devi ragionare?
Infine puoi raggruppare con un unico if
if campo = 3 then 0 else 18
Antonio