|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2001
Città: Catania
Messaggi: 1267
|
[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 |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Mar 2003
Città: Provincia di Como
Messaggi: 223
|
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 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2001
Città: Catania
Messaggi: 1267
|
credo di aver capito quello che dici ...
domani provo e ti faccio sapere ... grazie ! bye |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Aug 2005
Città: Aulla (MS)
Messaggi: 1311
|
Quote:
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. |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Oct 1999
Messaggi: 111
|
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" |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Mar 2001
Città: Catania
Messaggi: 1267
|
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 |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Aug 2005
Città: Aulla (MS)
Messaggi: 1311
|
Quote:
http://www.sitocomune.com/ |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:45.