Proble de connexion à une bdd access

Résolu
Bonjour,

Je vient d'essayer de créer une mini application en vb.net sur visual studio 2013 qui se connecte a une base de donnée nommé bdd.accdb. Mais lorque je lance l'application j'ai 2 messages d'erreurs qui apparaissent :

- An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

-Additional information: Nom de fichier incorrect.

Voila le code :
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic

Public Class Form1

    Private cnx As OleDbConnection
    Private cmd As OleDbCommand
    Private dta As OleDbDataAdapter
    Private dts As New DataSet    
    Private sql As String
    Private dtt As DataTable
    Private dtr As DataRow
    Private rownum As Integer
    Private cnxstr As String
    Private cmdb As OleDbCommandBuilder

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        cnxstr = "provider = microsoft.ace.oledb.12.0 ; data source = " & Application.StartupPath & "C:\Users\dylan\Desktop\bdd.accdb"
        cnx = New OleDbConnection
        cnx.ConnectionString = cnxstr
        cnx.Open()
        sql = "select table.* from able1"
        cmd = New OleDbCommand(sql)
        dta = New OleDbDataAdapter(cmd)  
        cmd.Connection() = cnx   
        dta.Fill(dts, "table")
        dtt = dts.Tables("table")

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click


        If rownum > dtt.Rows.Count - 1 Then
            MsgBox("Aucun compte n'a encore été créer")
        Else
            TextBox1.Text = dtt.Rows(rownum).Item("Pseudo")
            TextBox2.Text = dtt.Rows(rownum).Item("Adresse Mail")
            TextBox3.Text = dtt.Rows(rownum).Item("Mot de passe")
        End If

    End Sub
End Class


Pouvez vous me dire d'ou vient le problème ?

Merci.

3 réponses

  1. Modérateur
    cnxstr = "provider = microsoft.ace.oledb.12.0 ; data source = " & Application.StartupPath & "C:\Users\dylan\Desktop\bdd.accdb"

    Il faut savoir où tu veux avoir le fichier, car là, tu concatène un peu trop brutalement.
    1. Et je pourrai faire sa comment ?
    2. Modérateur
      Regardes la valeur de "cnxstr" en mode exécution (espion) afin de comprendre.
    3. Pour faire une exécution en mode espion il faut faire F11 ?
      Si oui sa e fonctionne pas ou alors je ne sait pas comment l'utiliser
    4. Modérateur
      Laisses juste ton curseur sur ta variable, ça devrait t'afficher le contenu.
      Au pire, mets une Messagebox.
    5. Merci le pobleme est resolu mais mainteant j'en ai un autre ici
      dta.Fill(dts, "table")


      erreur: Additional information: Le moteur de la base de données Microsoft Access ne reconnaît pas « table.* » en tant que nom de champ ou expression correcte.
  2. Modérateur
    "select table.* from able1"

    Peut être une idée ?
    1. Oui je viens de voir sa. J'ai remplacé " table. *" par "Pseudo"et sa a fonctionné mais j'aimerai sélectionné toutes mes colonnes et ces la que je bloque.
  3. c'est bon problème résolu en remplaçant table.* par *