Newsgroup: it.comp.appl.access
Titolo: problema nella sintassi di DLOOKUP

salve a tutti...
ho creato una maschera con i campi ORDINE, CLIENTE, AGENTI.
"Cliente" viene presa dalla tabella anagrafica CLIENTI che contiene un
archivio di CLIENTE e AGENTI, ogni cliente ha un agente diverso. Il mio
problema è fare in modo che nella maschera degli ordini, nel momento
in cui inserirò un cliente, mi esca in automatico nel campo AGENTI
l'agente corrispondente che avrò già inserito nella tabella.
anagrafica CLIENTE .
per arrivare a questo ho utilizzato la funzione DLOOKUP in questo modo
nella maschera ordini
Private Sub Cliente_AfterUpdate()
Me!Agente = DLookup("[Agente]", "Clienti", "Cliente")
End Sub
ma quando vado a inserire il nome del cliente mi restituisce su AGENTE
solo il primo agente della prima riga anche inserendo i clienti
successivi.... 
come posso sistemare quest'errore? grazie mille

 ha scritto nel messaggio
news:1154355758....@m79g2000cwm.googlegroups.com...




Ciao 
in...@consualsrl.com
devi impostare correttamente la condizione 3° parametro della Dlookup, prova
così  .... sempre ovviamente che tu abbia un campo idCliente.
Private Sub Cliente_AfterUpdate()
    Me!Agente = DLookup("[Agente]", "Clienti", "IDCliente=" & me.IDCliente)
End Sub
-- 
Cinzia
---------------------------------------
|  
http://www.riolab.org
  |
---------------------------------------

Cinzia ha scritto:

a cosa mi serve IDCLIENTE ? come lo devo impostare?

 ha scritto nel messaggio
news:1154364831.1...@p79g2000cwp.googlegroups.com...
Cinzia ha scritto:


IDCliente solitamente è un campo di tipo contatore, che serve per
identificare in modo univoco un cliente, di solito il nome del cliente non è
granzia di univocità e può succedere che tu abbia due clienti con lo stesso
nome, per essere sicura che stai prendendo l'Agente del cliente corretto si
usa IDCliente invece di Cliente.
IDCliente è solo un nome potrebbe anche essere CodiceCliente dipende da come
hai impostato la tua tabella Clienti.
Ciao


Cinzia ha scritto:

provato con il tuo metodo, inserendo ID CLIENTE (come contatore) , ma
mi da un errore di compilazione " impossibile trovare il metodo o il
membro dei dati"  ..

in...@consualsrl.com
 ha scritto:

ok...ci sto arrivando da sola piano piano ma non capisco come faccio a
fare in modo che IDCLIENTE sia univoco sia su CLIENTI che su ORDINI se
non inserendolo a mano...

 membro dei dati"  ..
ok...ci sto arrivando da sola piano piano ma non capisco come faccio a
fare in modo che IDCLIENTE sia univoco sia su CLIENTI che su ORDINI se
non inserendolo a mano...
Non credo che sia un buon metodo.
puoi farti un'idea guardando la struttura del database di esempio che trovi 
in ogni copia
di Office: Northwind.
Ciao, Daniele

cidi ha scritto:

quel database mi ha confuso ancora di più le idee :-(

 ha scritto nel messaggio 
news:1154424962.4...@s13g2000cwa.googlegroups.com...
cidi ha scritto:


mi dispiace.....per altri è stato una base molto valida.
Ti ricrederai tra qualche tempo.....   :)
Daniele

 membro dei dati"  ..
ok...ci sto arrivando da sola piano piano ma non capisco come faccio a
fare in modo che IDCLIENTE sia univoco sia su CLIENTI che su ORDINI se
non inserendolo a mano...
No, attenzione su ordini non deve essere univoco,  è univoco solo su Clienti
Nella tabella Clienti avrai un ID Univoco per ogni Cliente generato in
auomatico da Access.
In Ordini se lo stesso cliente ha fatto più ordini l'IDCliente può essere
ripetuto, dicesi relazione 1 a molti
1 Cliente molti Ordini ( si spera :-)


Cinzia ha scritto:

purtroppo per me di ordini ce ne sono fin troppi...a me non cambia
nulla apparte la mole di lavoro :-P
quello che intendevo è che non trovo un modo per far si che ID CLIENTE
appaia nello stesso modo e con gli stessi id su ordini...

 ha scritto nel messaggio
news:1154434180.3...@b28g2000cwb.googlegroups.com...
Cinzia ha scritto:

purtroppo per me di ordini ce ne sono fin troppi...a me non cambia
nulla apparte la mole di lavoro :-P
ahi, ahi  non pensi che cambierebbe qualcosa se gli ordini fossero tendenti
a zero? :-)
quello che intendevo è che non trovo un modo per far si che ID CLIENTE
appaia nello stesso modo e con gli stessi id su ordini...
Fammi capire,  nella tua maschera ordini attualmente il Cliente lo scegli da
una casella combinata o lo inserisci manualmente? se lo scegli da una
casella combinata allora basta che aggiungi l'IDCliente alla query di
origine della casella combinata e che associ al campo anzichè il Nome del
cliente il suo ID


Cinzia ha scritto:

sono riuscita a risolvere così :
Me!Agente = DLookup("[Agente]", "Clienti", "Cliente=" & _
Chr$(34) & Me!Cliente & Chr$(34))
e funziona benissimo!

 ha scritto nel messaggio
news:1154504633.9...@m79g2000cwm.googlegroups.com...
Cinzia ha scritto:

sono riuscita a risolvere così :
Me!Agente = DLookup("[Agente]", "Clienti", "Cliente=" & _
Chr$(34) & Me!Cliente & Chr$(34))
e funziona benissimo!
Non ho dubbi, solo che il giorno in cui il Cliente Pinco Pallino ti dirà che
il suo nome non è Pinco Pallino ma Pinco Pallino & Figli non ti basterà
cambiarlo nella sola tabella Clienti ma dovrai cambiarlo anche in tutta la
tabella Ordini...  e se hai due clienti che si chiamano entrambi Pinco
Pallino, come fai ad essere sicura che l'agente recuperato dalla Dlookup sia
quello del cliente giusto? ....  comunque se ti sta bene così procedi
pure.....


Cinzia ha scritto:

non ho capito perchè...una volta che i dati sono memorizzati in quel
controllo non rimangono così? il giorno che TOPOLINO si chiamerà
TOPOLINA tutti i TOPOLINI antecedenti cambieranno? scusami mi sono un
po' confusa..


non ho capito perchč...una volta che i dati sono memorizzati in quel
controllo non rimangono cosě? il giorno che TOPOLINO si chiamerŕ
TOPOLINA tutti i TOPOLINI antecedenti cambieranno? scusami mi sono un
po' confusa..
Dipende da come sono fatte le tue tabelle e dal tipo di relazione che hai
impostato tra di  loro, se nella tua Tabella Ordini c'č il nome del Cliente
e non il suo ID univoco allora se TOPOLINO diventa TOPOLINA nella tabella
Clienti  č molto probabile che nella Tabella Ordini TOPOLINO rimanga
TOPOLINO.
Che relazione hai tra la tabelle Clienti e la tabella Ordini?
Mi sa che l'unico modo per vedere cosa succede č provare e se funziona come
dici tu, potrebbe essere che hai impostato una relazione tra i campi
NomeCliente della tabella Cliente e il campo NomeCliente nella tabella
Ordini ma in questo caso andrai incontro a problemi non appena avrai 2
clienti con lo stesso nome.
Ciao
