25
février
2013
[VB.NET ACCESS] Récupérer le numeroAuto après insertion
février
2013
Voici un code vous permettant d’avoir le numéro auto généré par ACCESS lors d’un insertion avec VB.NET. Le problème m’a été soumis par un étudiant ayant cherché en vain une solution avec ADO.NET.
J’ai pas trouvé la solution avec ADO.NET je me suis alors tourné vers DAO.
L’exemple utilise:
- une base « contacts.mdb » contenant une seule table « contact:idc numauto clé, lenom texte, prenom texte »
- un formulaire avec deux textbox « Nom » et « Prenom » plus un bouton
Il vous faut d’abord ajouter la référence « Microsoft Access x.x Object Library »
Le code de l’évènement click du bouton
Dim rs As dao.Recordset
Dim db As dao.Database
Dim moteur As New dao.DBEngine
db = moteur.Workspaces(0).OpenDatabase("D:\contacts.mdb", False, False)
'le premier false pour mode partagé et le second pour lecture et écriture
rs = db.OpenRecordset("contact", 1)
rs.AddNew()
rs("lenom").Value = Me.Nom.Text
rs("prenom").Value = Me.Prenom.Text
MsgBox(rs("idc").Value.ToString) 'réception du numéro auto
rs.Update() 'validation vers la base
Dim db As dao.Database
Dim moteur As New dao.DBEngine
db = moteur.Workspaces(0).OpenDatabase("D:\contacts.mdb", False, False)
'le premier false pour mode partagé et le second pour lecture et écriture
rs = db.OpenRecordset("contact", 1)
rs.AddNew()
rs("lenom").Value = Me.Nom.Text
rs("prenom").Value = Me.Prenom.Text
MsgBox(rs("idc").Value.ToString) 'réception du numéro auto
rs.Update() 'validation vers la base
Commentaires récents
- Alassane Diakité | Deust213-SQL | Scoop.it dans [Bases de données] présentation de SQL
- Philippe JOCHMANS dans [ACCESS] Numérotation automatique de courriers par an (janvier à décembre)
- alassanediakite dans [ACCESS] Numérotation automatique de courriers par an (janvier à décembre)
- Philippe JOCHMANS dans [ACCESS] Numérotation automatique de courriers par an (janvier à décembre)



Un article de alassanediakite