Problème connexion bas de donnée access

Résolu
cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015 - 27 mai 2015 à 17:55
cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015 - 28 mai 2015 à 17:18
Bonjour, tout le monde

Un petit souci de connexion à une base de donnée access, je m'explique!!! du moins je vais essayer!!!! ;)

J'ai une base de donnée avec des noms, des prénom et des adresses mail.

Dans form load, je me connecte pour récupérer les données dans une datagridview, et les noms de ma bdd dans une combobox. Jusque la ca va!
Mon problème c'est que lors du lancement de l'appli, l'alimentation de la combobox me dit un message d'erreur avec un try- catch ! ce que je ne comprend pas ce que ma datagriedview est bien alimentée. je vous mets le code : ci-joint

Merci d'avance Cocogys.

'Connection base de donnée

Dim chemin As String = "C:\Bdd envoie mail"
Dim cnn As New OleDb.OleDbConnection
cnn = New OleDb.OleDbConnection
cnn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source =" & chemin & "\Data.mdb"

Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM mail ", cnn)
Dim dt As New DataTable
da.Fill(dt)
Me.Dgvdata.DataSource = dt

Dim oledbCmd As OleDbCommand
Dim ole As String
ole = " Select * from mail"

Try

oledbCmd = New OleDbCommand(ole, cnn)
Dim oledbReader As OleDbDataReader = oledbCmd.ExecuteReader()
Dim snom = oledbReader.GetString("nom")


While oledbReader.Read
ComboBox2.Items.Add(snom)
End While
oledbReader.Close()
oledbCmd.Dispose()

Catch ex As Exception
MsgBox("Impossible d'ouvrir la connection ! ")
End Try

6 réponses

jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
27 mai 2015 à 18:27
Bonjour,

Je pense que tu essayes d'ouvrir DEUX fois la connexion à ta BDD ...
et donc .. à la deuxième fois.. vu que tu n'as pas fermé la première... il y a un conflit !

0
cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015
27 mai 2015 à 18:44
Bonjour Jordane45
Merci pour ta réponse
alors j'ai essayer de faire l'alimentation par un bouton, mais hélas la même erreur...

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'Alimentation combox

Dim connetionString As String
connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & chemin & "\Data.mdb"

Dim oledbCnn As OleDbConnection
oledbCnn = New OleDbConnection(connetionString)
oledbCnn.Open()

Dim oledbCmd As OleDbCommand
Dim ole As String

ole = " Select * from mail"


Try

oledbCmd = New OleDbCommand(ole, oledbCnn)
Dim oledbReader As OleDbDataReader = oledbCmd.ExecuteReader()
Dim snom = oledbReader.GetString("nom")


While oledbReader.Read
ComboBox2.Items.Add(snom)
End While
oledbReader.Close()
oledbCmd.Dispose()
oledbCnn.Close()
Catch ex As Exception
MsgBox("Impossible d'ouvrir la connection ! ")
End Try
End Sub
End Class
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
Modifié par cs_ShayW le 27/05/2015 à 22:03
Salut
où as tu écris le code du début
ainsi
au niveau des déclaration ?
Imports System.Data.OleDb
Public Class Form1
'Connection base de donnée
Dim chemin As String = "C:\Bdd envoie mail"
Dim cnn As New OleDb.OleDbConnection
cnn = New OleDb.OleDbConnection


active option strict et option explicit
0
cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015
28 mai 2015 à 07:58
Salut,

Donc j'ai activer option strict et option explicit, sans succées. Le message d'erreur c'est le message du catch : Catch ex As Exception
MsgBox("Impossible d'ouvrir la connection ! ")
End Try
Esuite j'ai déclarer les variable entre le Public class et le private sub load.

Merci pour réponse
0
cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015
28 mai 2015 à 08:10
Re salut je te transmet tous le code pour voir si il se trouve des erreurs.

Comme tu pourra le voir j'ai essayer par un bouton.

Imports System.Net.Mail
Imports System.Data.OleDb

Public Class Form1
Dim chemin As String = "C:\Bdd envoie mail"
Dim cnn As New OleDb.OleDbConnection

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


TextBox1.Text = My.Settings.Adresse_mail
MaskedTextBox1.Text = My.Settings.Mdp_mail
ComboBox1.Text = My.Settings.Serveur_smtp
If My.Settings.Adresse_mail = "" Then
Label11.Visible = True
ElseIf Label11.Visible = True Then
Btnvoir.Text = "Ajouter une adresse mail"
End If

'Connection base de donnée


cnn = New OleDb.OleDbConnection
cnn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source =" & chemin & "\Data.mdb"

Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM mail ", cnn)
Dim dt As New DataTable
da.Fill(dt)
Me.Dgvdata.DataSource = dt

End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'Alimentation combox

Dim connetionString As String
connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & chemin & "\Data.mdb"

Dim oledbCnn As OleDbConnection
oledbCnn = New OleDbConnection(connetionString)

If cnn.State = ConnectionState.Open Then
cnn.Close()
Else
oledbCnn.Open()
End If

Dim oledbCmd As OleDbCommand
Dim ole As String

ole = " Select * from mail"


Try

oledbCmd = New OleDbCommand(ole, oledbCnn)
Dim oledbReader As OleDbDataReader = oledbCmd.ExecuteReader()
Dim snom = oledbReader.GetString(CInt("nom"))


While oledbReader.Read
ComboBox2.Items.Add(snom)
End While
oledbReader.Close()
oledbCmd.Dispose()
oledbCnn.Close()
Catch ex As Exception
MsgBox("Impossible d'ouvrir la connection ! ")
End Try
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
Modifié par cs_ShayW le 28/05/2015 à 10:29
option strict et option explicit n'est pas pour corriger les bugs
mais pour coder correctement

je n'ai pas compris ce que tu veux faire
dans le load event tu remplis un dgv par la requète "SELECT * FROM mail "
et dans le button3 tu appelles avec la même requète pour remplir ComboBox2
Pourquoi ne pas utiliser Me.Dgvdata pour remplir ComboBox2
une colonne de Me.Dgvdata corespond aux items de ComboBox2
0
cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015
28 mai 2015 à 10:49
Dans le load events je charge ma dgv, et après je voudrais les noms de ma dgv dans ma combobox2. Après je débute en programmation!!! Si tu peu me dire comment faire pour alimenter ma combobox par ma gdv ,je veu bien.Ca simplifierai tous ca ! bien sur.

Je te remerci
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
Modifié par cs_ShayW le 28/05/2015 à 11:47
encore plus simple ce n'est pas rapport avec ta dvg mais remplis
ton combo avec ta datatable

Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM mail ", cnn)
Dim dt As New DataTable
da.Fill(dt)
Me.Dgvdata.DataSource = dt
combobox2.DataSource = dt
ComboBox2.ValueMember = "Le nom du champ qui correspond"
0
cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015
28 mai 2015 à 12:47
Super!!! merci bien ca fonctionne comme je le voulais tous simple pour les pro....merci encore...
0
cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015 > cocogys Messages postés 16 Date d'inscription mercredi 20 mai 2015 Statut Membre Dernière intervention 17 juin 2015
28 mai 2015 à 17:18
re...

Je reviens vers toi juste encore une petite question!!!

Maintenant que j'ai les noms dans ma Combobox, j'aurai voulu que dans une textbox il me trouve l'adresse mail correspond au nom.

Merci
0
Rejoignez-nous