Récupérer numéro automatique dans access
Bonjour à toutes et tous,
Mon environnement est le suivant vb.net 2008 express et base de données en access 2003.
J'ai dans mon programme vb.net le module suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Imports System.Data
Imports System.Data.OleDb
Module dbaccess
Dim MyConnection As New System.Data.OleDb.OleDbConnection()
Dim MyDataSet As DataSet = New DataSet()
'Procédure de connexion à une database access
Public Sub Connection(ByVal namedb As String) ' As Boolean
Try
MyConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & namedb
'namedb contient le chemin d'accès à la bd access 2003
MyConnection.Open()
Catch ex As Exception
MessageBox.Show("Database connection is impossible! " & ex.Message)
End Try
End Sub
'Déconnexion de la base
Public Sub Deconnection()
Try
MyConnection.Close()
Catch ex As Exception
MessageBox.Show("Database connection is impossible! " & ex.Message)
End Try
End Sub
Public Function Access(ByVal RequeteSQL As String, ByVal Table As String) As DataSet
Dim MyAdapter As OleDbDataAdapter= New OleDbDataAdapter(RequeteSQL, MyConnection)
Try
MyDataSet.Clear()
MyAdapter.Fill(MyDataSet, Table)
'A ce niveau les données résultantes de la requete se trouvent dans => MyDataSet.Tables(0)
Catch ex As Exception
MessageBox.Show("Database connection is impossible! " & ex.Message)
End Try
Return MyDataSet
End Function
End Module |
Ensuite, sur l'évènement click d'un bouton, je réalise ceci:
Code:
1 2 3 4 5 6
| Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
Dim MyDataset As DataSet
MyDataset = Access("INSERT INTO CONTRACT (CUSTOMERNAME) VALUES ('a')", "CONTRACT")
End Sub |
J'aimerais récupérer le numéro automatique créer par access 2003 lors du INSERT.
J'ai vu pas mal de fois que l'on parlais de faire 'SELECT @@IDENTITY' mais je ne suis pas certain que cela fonctionne avec access. J'ai d'ailleurs fait plusieurs essais mais sans succès.
Quelqu'un pourrait-il m'aider svp? Merci.