Proble de connexion à une bdd access [Résolu/Fermé]

Signaler
Messages postés
51
Date d'inscription
mardi 9 juillet 2013
Statut
Membre
Dernière intervention
3 juin 2017
-
Messages postés
51
Date d'inscription
mardi 9 juillet 2013
Statut
Membre
Dernière intervention
3 juin 2017
-
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

Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
258
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.
Messages postés
51
Date d'inscription
mardi 9 juillet 2013
Statut
Membre
Dernière intervention
3 juin 2017

Et je pourrai faire sa comment ?
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
258
Regardes la valeur de "cnxstr" en mode exécution (espion) afin de comprendre.
Messages postés
51
Date d'inscription
mardi 9 juillet 2013
Statut
Membre
Dernière intervention
3 juin 2017

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
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
258
Laisses juste ton curseur sur ta variable, ça devrait t'afficher le contenu.
Au pire, mets une Messagebox.
Messages postés
51
Date d'inscription
mardi 9 juillet 2013
Statut
Membre
Dernière intervention
3 juin 2017

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.
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
258
"select table.* from able1"

Peut être une idée ?
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.
Messages postés
51
Date d'inscription
mardi 9 juillet 2013
Statut
Membre
Dernière intervention
3 juin 2017

c'est bon problème résolu en remplaçant table.* par *