Bonjour,
Je suis débutant en VB.net et j'ai utilisé le code du Cours de Philippe Lasserre pour me connecter à ma base access et ajouter des enregistrements à une table.
Cependant, ça me met l'erreur suivante quand je clique sur le bouton pour ajouter: " La référence d'objet n'est pas définie à une instance d'un objet."
Je vous met le code que j'ai mis et mis un commentaire devant la ligne où j'ai l'erreur:
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 Imports System.Data Imports System.Data.OleDb Public Class Form1 ' Déclaration Objet Connexion Private ObjetConnection As OleDbConnection ' Déclaration Objet Commande Private ObjetCommand As OleDbCommand ' Déclaration Objet DataAdapter Private ObjetDataAdapter As OleDbDataAdapter ' Déclaration Objet DataSet Private ObjetDataSet As New DataSet() 'Attention au New 'String contenant la 'Requête SQL' Private strSql As String ' Déclaration Objet DataTable Private ObjetDataTable As DataTable ' Déclaration Objet DataRow (ligne) Private ObjetDataRow As DataRow 'Numéro de la ligne en cours Private RowNumber As Integer 'Numéro de l'enregistrement courant 'Paramêtres de connexion à la DB Private strConn As String 'Pour recompiler les données modifiées avant de les remettre dans le '"DataAdapter" Private ObjetCommandBuilder As OleDbCommandBuilder Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Initialisation de la chaîne de paramètres pour la connexion strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\Users\mto\Desktop\MINI-ERP\ERP.accdb;" 'Initialisation de la chaîne contenant l'instruction SQL strSql = "SELECT Type de produit.* FROM Type de produit" 'Instanciation d'un Objet Connexion ObjetConnection = New OleDbConnection() 'Donner à la propriété ConnectionString les paramètres de connexion ObjetConnection.ConnectionString = strConn 'Ouvrir la connexion ObjetConnection.Open() 'Instancier un objet Commande ObjetCommand = New OleDbCommand(strSql) 'Instancier un objet Adapter ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand) 'initialiser l'objet Command ObjetCommand.Connection() = ObjetConnection 'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet ObjetDataAdapter.Fill(ObjetDataSet, "Type de produit") 'Mettre dans un Objet DataTable une table du DataSet ObjetDataTable = ObjetDataSet.Tables("Type de produit") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' La référence d'objet n'est pas définie à une instance d'un objet." ObjetDataRow = ObjetDataSet.Tables("Type de produit").NewRow() ObjetDataRow("Type_de_produit") = Me.TextBox1.Text ObjetDataSet.Tables("Type de produit").Rows.Add(ObjetDataRow) 'Pour modifier les valeurs changées dans le DataAdapter ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter) 'Mise à jour ObjetDataAdapter.Update(ObjetDataSet, "Type de produit") 'On vide le DataSet et on le 'recharge' de nouveau. ObjetDataSet.Clear() ObjetDataAdapter.Fill(ObjetDataSet, "Type de poduit") ObjetDataTable = ObjetDataSet.Tables("Type de produit") End Sub End Class
Julien
Partager