Bjr a tous, probléme de connection de la base de donnee access

Signaler
-
Messages postés
12
Date d'inscription
mercredi 12 août 2020
Statut
Membre
Dernière intervention
16 août 2020
-
Imports System.Data.OleDb
Public Class Form1
    Dim cnx As OleDbConnection
    Dim cmd As OleDbCommand
    Dim edta As OleDbDataAdapter
    Dim dts As New DataSet
    Dim sql As String
    Dim dtt As DataTable
    Dim dtr As DataRow
    Dim rownum As Integer
    Dim cnxstr As String
    Dim cmdb As OleDbCommandBuilder
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        cnxstr = "Povider=microsoft.jet.oledb.4.0; data source= D:\Travail_Seminaire\LOGIN.mdb"
        cnx.ConnectionString = cnxstr
        cnx.Open()
        'creation de la requête sql
        sql = "select Plogine. * from Plogine"
        cmd = New OleDbCommand(sql)
        edta = New OleDbDataAdapter

        cmd.Connection() = cnx
        edta.Fill(dts, "Plogine")
        dtt = dts.Tables("Plogine")
    End Sub

Une exception non gérée du type 'System.NullReferenceException' s'est produite dans GESTION DE VENTE.exe

Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.

2 réponses

Messages postés
2248
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
24 octobre 2020
115
Bonjour
Tout d'abord pour poster du code veuillez suivre ce tuto : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Le code sera bien plus lisible ( voir le code qui suit )
Pour les variables définies au niveau de la Form préférez Private à Dim ( ce dernier s'utilise dans une Sub ou une function généralement )
Dim cnx As OleDbConnection  ' mettre des Private à la place de Dim
Dim cmd As OleDbCommand
Dim edta As OleDbDataAdapter
Dim dts As New DataSet
Dim sql As String 
Dim dtt As DataTable
Dim dtr As DataRow
Dim rownum As Integer
Dim cnxstr As String
Dim cmdb As OleDbCommandBuilder

à remplacer par
Private cnx As OleDbConnection
Private cmd As OleDbCommand
Private edta As OleDbDataAdapter
Private dts As New DataSet
Private sql, cnxstr As String ' les 2 variables String peuvent se mettre sur la même ligne 
Private dtt As DataTable
Private dtr As DataRow
Private rownum As Integer
Private cmdb As OleDbCommandBuilder

Ensuite tu nous dis bien quel est le message d'erreur mais tu ne nous dis pas à quelle ligne celui-ci se produit .
L'erreur signifie qu'un objet utilisé dans cette ligne d'erreur n'est pas défini comme étant un objet existant .
A tout hasard
cnxstr = "Povider=microsoft.jet.oledb.4.0; data source= D:\Travail_Seminaire\LOGIN.mdb"

Ce ne serait pas plutôt Provider
Dans l'état on ne peut rien dire de plus .

Messages postés
2248
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
24 octobre 2020
115
Merci à @karamel pour avoir modifié le code présenté dans le post
Messages postés
12
Date d'inscription
mercredi 12 août 2020
Statut
Membre
Dernière intervention
16 août 2020
1
Bonjour,

A la lecture du code, je constate que cnx n'a pas été initialisée. C'est très certainement la cause du message NullReferenceException (dont la traduction française est donnée par la partie "Informations supplémentaires").

Essayez plutôt ceci :

cnx= new OleDbConnection(cnxstr )