Liaison base de données
Fermé
sonia
-
10 avril 2009 à 23:31
Nabla's Messages postés 18149 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 10 avril 2009 à 23:57
Nabla's Messages postés 18149 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 10 avril 2009 à 23:57
A voir également:
- Liaison base de données
- Exemple base de données access à télécharger gratuit - Forum Access
- Formules excel de base - Guide
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
- Périphérique système de base ✓ - Forum Pilotes (drivers)
- Tnt base de données vide ✓ - Forum TNT
4 réponses
Nabla's
Messages postés
18149
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 219
10 avril 2009 à 23:47
10 avril 2009 à 23:47
le plus simple pour les bases de données sous windows est d'utiliser les liens ODBC
je te conseille de chercher un truc comme ca:
https://www.google.fr/search?hl=fr&q=odbc+visual+basic+&meta=si&gws_rd=ssl tu trouves pas, demain je pourrais t'envoyer un mini bout de code pour se connecter avec le driver odbc 3.51 de mysql...
t'utilises quoi comme base? access? Mysql? sql server? oracle ? postgre ?
je te conseille de chercher un truc comme ca:
https://www.google.fr/search?hl=fr&q=odbc+visual+basic+&meta=si&gws_rd=ssl tu trouves pas, demain je pourrais t'envoyer un mini bout de code pour se connecter avec le driver odbc 3.51 de mysql...
t'utilises quoi comme base? access? Mysql? sql server? oracle ? postgre ?
Nabla's
Messages postés
18149
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 219
10 avril 2009 à 23:52
10 avril 2009 à 23:52
tien,s tu aura deja besoin du driver mysql:
https://dev.mysql.com/downloads/connector/odbc/5.1.html
moii j'avais la version précédente, je pense que cette version fonctionne aussi bien ;)
pour le code, je vais regarder si je l'ai sous la main, je viens de voir que j'avais mon disk dur avec moi ;)
https://dev.mysql.com/downloads/connector/odbc/5.1.html
moii j'avais la version précédente, je pense que cette version fonctionne aussi bien ;)
pour le code, je vais regarder si je l'ai sous la main, je viens de voir que j'avais mon disk dur avec moi ;)
Nabla's
Messages postés
18149
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 219
10 avril 2009 à 23:57
10 avril 2009 à 23:57
ici le fichier que j'utilise (je vais virer les info concernant mes tables....)
et pour faire une requete:
a = requete("SELECT * FROM `talbe` WHERE `fid`=" & No_F, rs)
il y a une modif a faire: Menu Projet .... references .... Et tu coches quelques chose qui ressemble a Microsoft ActiveX Data Objects X.X Library (je sais pas sous quelle version de VB c'était ca... moi j'avais fait en VB6)
en cherchant ca https://www.google.fr/search?hl=fr&q=%22Public+connex+As+ADODB.Connection%22+&meta=&gws_rd=ssl tu retrouvera la source
Attribute VB_Name = "access_bdd_mysql"
Public connex As ADODB.Connection
Public rs As ADODB.Recordset
Public rs1 As ADODB.Recordset
Public rs2 As ADODB.Recordset
Public rs_sub As ADODB.Recordset
Public serv_db As String
Public datbase As String
Public user_db As String
Public pwd_user_db As String
Public option_db As Integer
Public Sub config()
'attention il faut mettre vos option de connection
serv_db = "127.0.0.1"
datbase = "nom_de_la_base"
user_db = "root"
pwd_user_db = ""
option_db = 35
Set connex = New ADODB.Connection
Set rs = New ADODB.Recordset
Set rs1 = New ADODB.Recordset
Set rs2 = New ADODB.Recordset
Set rs_sub = New ADODB.Recordset
End Sub
Public Sub Connecter_BDD()
On Error GoTo erreur
connex.CursorLocation = adUseServer
connex.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & serv_db & ";DATABASE=" & datbase & ";USER=" & user_db & ";PASSWORD=" & pwd_user_db & ";OPTION=" & option_db & ""
Exit Sub
erreur:
MsgBox "Impossible d'établir la connection à la base de données MySQL."
End Sub
Public Sub Deconnecter()
connex.Close
End Sub
Public Function requete(ByVal rs_sql As String, ByRef rs_sub As ADODB.Recordset) As Boolean
'cette procedure va permettre de récupérer des informations concernant les tables
'retourne true dans le cas ou la requete et bien executer et que des enregistrement sont présents
If connex.State = 0 Then
Connecter_BDD
End If
If connex.State = 1 Then
Set rs_sub = New ADODB.Recordset
rs_sub.ActiveConnection = connex
' rs_sql = Replace(rs_sql, "'", "[%]", 1, -1)
rs_sql = Replace(rs_sql, "|", "'", 1, -1)
rs_sql = Replace(rs_sql, "''", "' '", 1, -1)
rs_sql = Replace(rs_sql, "[%]", "''", 1, -1)
'Debug.Print rs_sql
On Error GoTo erreur
rs_sub.Open rs_sql, connex, adOpenDynamic, adLockOptimistic
If rs_sub.EOF Then
requete = False
Else
requete = True
End If
Else
requete = False
End If
Exit Function
erreur:
'MsgBox "Une erreur c'est produite avec.... " & rs_sql
requete = False
End Function
Public Sub exec_requete(ByVal rs_sql As String)
'cette procedure va permettre de récupérer des informations concernant les tables
If connex.State = 0 Then
Connecter_BDD
End If
rs_sql = Replace(rs_sql, "'", "[%]", 1, -1)
rs_sql = Replace(rs_sql, "|", "'", 1, -1)
rs_sql = Replace(rs_sql, "''", "' '", 1, -1)
rs_sql = Replace(rs_sql, "[%]", "''", 1, -1)
On Error GoTo erreur
'Debug.Print rs_sql
connex.Execute rs_sql
Exit Sub
erreur:
Debug.Print rs_sql
MsgBox "Une erreur c'est produite avec.... " & rs_sql
End Sub
Public Sub fin()
'ferme les différentes connections ouverte
If connex.State = 1 Then Deconnecter
If rs_sub.State = 1 Then rs_sub.Close
If rs.State = 1 Then rs.Close
If rs1.State = 1 Then rs1.Close
If rs2.State = 1 Then rs2.Close
End Sub
et pour faire une requete:
a = requete("SELECT * FROM `talbe` WHERE `fid`=" & No_F, rs)
il y a une modif a faire: Menu Projet .... references .... Et tu coches quelques chose qui ressemble a Microsoft ActiveX Data Objects X.X Library (je sais pas sous quelle version de VB c'était ca... moi j'avais fait en VB6)
en cherchant ca https://www.google.fr/search?hl=fr&q=%22Public+connex+As+ADODB.Connection%22+&meta=&gws_rd=ssl tu retrouvera la source