Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
MICROSOFT ACCESS: Recuperare l'ultimo ID inserito.
mercoledì 06 gennaio 2010 - 17.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
mer 6 gen 2010 - 17:36
Salve,
per la mia applicazione che sto sviluppando con access e che distribuirò al cliente con Access Developer Extension ho bisogno di recuperare il campo contatore di un record che viene inserito a seguito di una query di accodamento.
Vi spiego meglio.
Ho una maschera che mi deve consentire di aggiungere una serie di dati.
Tramite un pulsante "registra" vorrei che la query accodasse tutto ciò che inserisco dentro la maschera in un'altra tabella.
Il tutto mi funziona correttamente, l'unica cosa che vorrei capire è come poter recuperare anche a schermo e stamparla in una MessageBox con VBA il valore del campo contatore che è stato assegnato a quel record.
E' possibile??
VI prego è estremamente importante e urgente :)
Grazie
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 6 gen 2010 - 22:14
>Salve,
Ciao
>per la mia applicazione che sto sviluppando con access e che
>distribuirò al cliente con Access Developer Extension ho bisogno
>di recuperare il campo contatore di un record che viene inserito
>a seguito di una query di accodamento.
>Il tutto mi funziona correttamente, l'unica cosa che vorrei capire
>è come poter recuperare anche a schermo e stamparla in una MessageBox
>con VBA il valore del campo contatore che è stato assegnato a
>quel record.
>E' possibile??
leggi qui e facci sapere
http://community.visual-basic.it/lucianob/articles/16622.aspx
>Grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
mer 6 gen 2010 - 22:21
Si ma mi chiedevo come poter programmare il tutto cn vba!! mi viene difficile!!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 6 gen 2010 - 22:22
>Si ma mi chiedevo come poter programmare il tutto cn vba!! mi viene difficile!!
Guarda che nel link c'è l'esempio con ADO e vba.. Tu come vorresti poterlo fare?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
mer 6 gen 2010 - 23:32
Ciao.
allora perdonami ma non sono molto ferrato con il linguaggio Visual Basic per la compilazione di un progetto VBA.
Nella mia maschera ho un pulsante che sull'evento clic ha questo codice:
On Error GoTo Macro1_Err
DoCmd.OpenQuery "Query1", acViewNormal, acEdit
Macro1_Exit:
Exit Sub
Macro1_Err:
MsgBox Error$
Resume Macro1_Exit
In particolare (come saprai meglio di me) questo codice apro la macro "Query1" che accoderà i campi che sono stati strutturati nella struttura della query.
Ma se volessi aggiungere del codice a quello precedente come potrei fare per poter scrivere una piccola procedura affinchè subito dopo l'esecuzione della query1, mi venga restituito il campo contatore del record appena inserito.
Ti prego cerca di aiutarmi secondo le conosceze che c'ho :).
Grazie
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
ven 8 gen 2010 - 17:46
Nessuno sa aiutarmi???
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 8 gen 2010 - 18:30
>Nessuno sa aiutarmi???
fai un'altra query che ti torna il MAX(ID) e lanciala con DoCmd.OpenQuery, così torni l'ultimo ID inserito.
Però poi fai attenzione che se qualcuno ha inserito ancora record dopo che hai letto l'ultimo, quello che hai non è più valido, sarebbe opportuno un controllo pre inserimento sotto la stessa transazione.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
ven 8 gen 2010 - 18:36
Infatti, questo lo avevo pensato, ma come mi confermi tu è possibile che qualcun altro utente abbia inserito un altro record e che quindi mi viene restituto quello. Come ovviare ????? :(
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 8 gen 2010 - 19:18
>Infatti, questo lo avevo pensato, ma come mi confermi tu è possibile
>che qualcun altro utente abbia inserito un altro record e che
>quindi mi viene restituto quello. Come ovviare ????? :(
usare un campo contatore?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
ven 8 gen 2010 - 19:25
Alex perdonami ma sono un tantino confuso.
Ho una maschera che tramite un pulsante deve accodare tutto ad una tabella.
Al record che viene accodato viene associato un campo contatore.
A me serve avere restiuito il numero (contatore) che è stato associato al record appena accodato!!!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 8 gen 2010 - 19:31
>Ho una maschera che tramite un pulsante deve accodare tutto ad
>una tabella.
>Al record che viene accodato viene associato un campo contatore.
>A me serve avere restiuito il numero (contatore) che è stato
>associato al record appena accodato!!!
Torno a ripetere. Con VBA e il link che ti ho postato sei tranquillo. @@Identity torna l'ultimo contatore.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
ven 8 gen 2010 - 19:36
Ti ringrazio veramente tanro per la disponibilità.
Anche se il mio problema è quello che nn riesco a implementare la procedura in codice.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 8 gen 2010 - 20:15
>Ti ringrazio veramente tanro per la disponibilità.
>Anche se il mio problema è quello che nn riesco a implementare
>la procedura in codice.
nel click del pulsante, invece che fare tutto quel codice che hai messo, copia ed incolla quello del link adattandolo ai tuoi oggetti. Poi vai in debug e controlla cosa succede.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
ven 8 gen 2010 - 20:22
ci proverò e ti farò sapere.
Davvero un ENORME grazie Alessandro
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 8 gen 2010 - 20:24
>ci proverò e ti farò sapere.
>Davvero un ENORME grazie Alessandro
dai che piano piano arriviamo. Purtroppo non ho access installato..
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
ven 8 gen 2010 - 20:28
Dovrò sfirniciarmi ancora un po considerato che l'Access che ho io è la versione 2007 non la 2003 :)
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 9 gen 2010 - 01:24
>Dovrò sfirniciarmi ancora un po considerato che l'Access che
>ho io è la versione 2007 non la 2003 :)
Una cosa che mi ero dimenticato. Aggiungi i riferimenti a Microsoft ActiveX Data Objects 6.0 library.
Altrimenti non puoi usare ADODB per connetterti al database ed usare gli oggetti di ADO.
Si fa dal menu Tools-->References..
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
sab 9 gen 2010 - 10:08
sisi, magari quello lo sapevo.
:)
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !