Newsgroup: it.comp.appl.access
Titolo: visualizzare ultimo record.... ancora niente :-(

Salve a tutti. Il problema, di cui "Roberto da Casa" gentilmente mi ha dato 
qualche consiglio , e' il seguente:
Ho 2 tabelle che per semplificare chiamo Clienti e Ordini legate da una 
relazione uno a molti. I campi di Ordini sono id_ordine, oggetto, id_cliente 
utilizzato quest'ultimo per la relazione di cui sopra.
Vorrei creare ora una maschera basata sulla tabella Clienti ma che mi 
permetta di visualizzare l'ultimo ordine (in particolare l'ultimo oggetto) 
acquistato dal cliente.
Quello che ho fatto io e':
Creazione guidata della maschera basata su tabella che incorporasse un 
pulsante di accesso ad una maschera basata sulla relativa tabella ordini. 
Creazione nella prima maschera di una casella di testo non associata cui 
associare l'ultimo oggetto acquistato dal cliente. Da qui partono i 
problemi.
Robero da casa mi ha consigliato di utilizzare il comando dlast.
Tuttavia non so bene dove utilizzarlo. Intanto ho creato una queri che mi 
raccogliesse gli ordini relativi al cliente visualizzato sulla maschera e 
l'ho chiamata Query_ordini_correnti. Dopo di che ho provato ad utilizzarla. 
Ho fatto proprietà sulla casella di testo non associata (Casella41), origine 
controllo, generatore di espressioni e ho provato ad usare il comando dlast 
basandolo su Query_ordini_correnti, ma non ha funzionato. Magari ho fatto 
errori di sintassi, ma ho fatto diverse prove e l'help di access e' un po' 
scarno, almeno per me. Poi l'ho messo su "valore predefinito" ma niente da 
fare. Ho cambiato metodo. Mi sono arreso.
Ho provato a lavorare sulla query ed utilizzando il pulsante sigma 
(sommatoria) ho abilitato varie formule e con un po di tentativi sono 
riuscito a far visualizzare l'ultimo oggetto. Poi sono ritornato su 
Casella41 e ho provato ad associarla col generatore di espressioni, alla 
query cosi' trasformata, ma non visualizzava nulla. Probabilmente perche' 
anche se e' un solo valore visualizzato access lo considera una selezione di 
record e non permette di inserire il recordset in una casella dentro una 
maschera basata su un'altra tabella.
A questo punto mi son detto "agisco dal codice". Mi sono ritrovato tuttavia 
a non avere la piu' pallida idea di come associare il contenuto della 
casella ad un campo specifico. Ma come si fa?
Ho anche comprato qualche libro, ma ogni volta che trovo un problema un po' 
diverso dal solito non trovo soluzioni.
Mi aiutate per favore.
Saluti a tutti e grazie. 

 Saluti a tutti e grazie.
Scusa avrai dato una data a quell'ordine no?
In questo caso fai un ordinamento decrescente per quella data e prendi solo 
il primo record...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
c'e' un id_ordine. Pero' spiegami come si fa, ti prego. Io le ho provate 
tutte. Clicco sulle proprieta della casella non associata e...... dovrei 
prendere il campo "oggetto" della tabella associata ordine dove id = max. 
Come lo scrivo. A me da sempre #nome :-(((( 

 Come lo scrivo. A me da sempre #nome :-((((
Non id_ordine ma data_ordine, la data nella quale il cliente ti ha fatto 
l'ordine.
Quindi la query dovrebbe essere:
Select id_ordine From Ordini Order by data_ordine Decr;
Altrimenti se a id_ordine maggiore corrisponde un ordine più recente, la 
query la ordini(!) per id_ordine decr(escente)...
Ciao.
-- 
Sergio MAZZA