View Full Version : [Access]un aiuto ...
Ciao ragazzi , ho la necessità di intercettare un valore scritto in una tabella di access , per poi elaborare il dato , in una maschera ...
ad esempio :
inserendo un nuovo record , ho bisogno di sapere qual ' era il valore scritto in un campo del record precedente , ma non ho idea di come fare ...
in rete non sono riuscito a trovare nulla che possa aiutarmi ...
grazie .
bye
Un modo potrebbe essere questo:
Crei il nuovo record e poi utilizzi il comando DoCmd.GoToRecord con costante
acRecord=acPrevious.
Esempio: DoCmd.GoToRecord acDataForm, "nome maschera alla quale è associata la tabella che ti interessa", acPrevious
In questo modo passi al record precedente e salvi il contenuto del campo che ti interessa in una variabile.
Esempio x= [Nome campo]. A questo punto ripassi al record precedentemente creato utilizzando sempre DoCmd.GoToRecord però con acRecord=acNext.
Esempio: DoCmd.GoToRecord acDataForm, "nome maschera alla quale è associata la tabella che ti interessa", acNext
Ora sei nel record che ti interessa con il valore che ti interessa nella variabile x.
NB: Questo vale se la mascherra carica tutti i record della tabella e non ci sono filtri attivati
credo di aver capito quello che dici ...
domani provo e ti faccio sapere ...
grazie !
bye
ginogino65
10-02-2006, 19:45
Ciao ragazzi , ho la necessità di intercettare un valore scritto in una tabella di access , per poi elaborare il dato , in una maschera ...
ad esempio :
inserendo un nuovo record , ho bisogno di sapere qual ' era il valore scritto in un campo del record precedente , ma non ho idea di come fare ...
in rete non sono riuscito a trovare nulla che possa aiutarmi ...
grazie .
bye
Tabella anagrafica - Campo = NOME
Maschera con un campo = NOME
Codice della maschera
Option Compare Database
Option Base 1
Private Valore_Precedente As Variant
Private Sub Form_Current()
If Not IsNull(NOME) Then
Valore_Precedente = NOME
End If
End Sub
Con questo codice viene salvato nel campo "Valore_Precedente" in valore del record precedente.
Attenzione: viene memorizzato il valore del record che si vede a video, se nella tabella ci sono ad esempio 20 record, e siamo posizionati sul primo record della tabella e si inserisce un nuovo record, viene memorizzato nella variabile locale il valore del primo record non dell'ultimo.
Nelle maschere che realizzo non visualizzo i pulsanti di spostamento e il selettore record, preferisco inserire dei pulsanti dove da codice gestire le varie opzioni (inserimento, cancellazione, salva record, annulla modifiche e spostamento record) dove puoi gestire tutte le operazioni che ti servono.
crick_pitomba
11-02-2006, 11:21
un'altra soluzione è questa: se hai proprio bisogno di un valore di un campo inserito nell'ultimo record durante l'immissione del nuovo record puoi associare ad un controllo della maschera (ad esempio una casella di testo)
come valore predefinito il valore
Dlast(<nome colonna>; <nome tabella>; <criteri>)
che restituisce proprio l'ultimo elemento presente nella tabella che soddisfi i criteri.
il campo criteri è opzionale
dlast("miacolonna"; "miatabella; )
restituisce l'ultimo elemento della colonna "miacolonna" della tabella "miatabella"
vi ringrazio molto , mi avete dato info molto utili ...
non conoscevo questa funzione Dlast ...
mi date qualche link dove poter studiare access in modo più avanzato ?
grazie
bye
ginogino65
11-02-2006, 13:24
vi ringrazio molto , mi avete dato info molto utili ...
non conoscevo questa funzione Dlast ...
mi date qualche link dove poter studiare access in modo più avanzato ?
grazie
bye
Questo è un buon punto di partenza:
http://www.sitocomune.com/
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.