|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
CONNEXION BASES DE DONNÉES
Information sur la source
Description
Ceci est juste un programme qui me permet de tester les différentes manières de me connecter écrire et lire dans une BDD ACCESS ou SQL serveur, j'ai arrangé le code de manière à pouvoir modifier facilement certains paramètres, hélas je n'ai toujours pas réussi à me connecter à une bdd SQL serveur express. PCPT va vite assigner ce programme ( a défaut de m'assassiner moi) mais je trouvais bien mieux de passer par la publie de ce prog que par les question sur le forum car il peut toujours être très utile aux personnes qui ont le même souci que moi une fois réglé. En fait Maintenant on peut se connecter et modifier une bdd liée à une bdd sql serveur grace à l'option dbseeChanges mais pour ce qui est des modification directes ça ne va toujours pas! voir rectification avec: cnString = "Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=" & bdd & "; Database=" & "" & ";Trusted_Connection=Yes;" on peut directement se connecter à la table attachée sqlserver2005 (je n'ai pas encore exploré toutes les possibilités)
Source
- Option Compare Database
-
- Public bdd
-
- Public cn As New ADODB.Connection
- Public cnString As String
- Public table, chp1, chp2
- Public dbs
- Public rst
-
- '***********************************************************************************************************
- '***********************************LES SOUS FONCTIONS: ELLES CONTIENNENT LE PRINCIPAL DU CODE**************
- 'C EST NAMEBDD ET OPENCN QU IL VA FALLOIR CHANGER SI LE CODE EST RESPONSABLE DE LA NON CONNECTION AU BDD SQL SERVEUR
- '***********************************************************************************************************
- Public Sub nameBDD()
- bdd = choisirAutreBase.filename
- table = nomTable
- chp1 = champ1
- chp2 = champ2
- 'chp1 = "NomEF"
- 'chp2 = "NomEM"
- 'table = "configuration_active"
- End Sub
- Public Sub openCN()
- Call nameBDD
- 'Dim cnString As ADODB.Connection
- 'Set cnString = New ADODB.Connection
- If InStr(Len(bdd) - 5, bdd, ".mdb") <> 0 Then
- cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & bdd
- Else
- 'TOUS CES TEST NE SONT PAS OK
- ''cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentProject.FullName & ";"
- ''cn.ConnectionString = "Provider=SQLOLEDB;;Data Source=DSNsqlServeur;INITIAL CATALOG=" & bdd & ";integrated seurity=sspi;"
- ''cnString.ConnectionString = "Provider=SQLOLEDB;;Data Source=DSNsqlServeur;INITIAL CATALOG=C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\2008 serveur umts 1.mdf ;Connect Timeout=30;User Instance=True;" 'integrated seurity=sspi;"
- ''cnString = "Provider=SQLOLEDB;DATA SOURCE=SQL serveur (SQLEXPRESS);INITIAL CATALOG=" & bdd & ";INTEGRATED SECURITY=SSPI;"
- ''cnString = "Provider=SQLOLEDB;DATA SOURCE=%lenomdemonordi%\c$\programfiles\Microsoft SQL Server_MSQL.1\Binn\sqlservr.exe -s SQLEXPRESS;INITIAL CATALOG=" & bdd & ";INTEGRATED SECURITY=BSTR;"
- ''cnString = "Provider=SQLOLEDB;DATA SOURCE=" & CurrentProject.FullName & ";INITIAL CATALOG=" & bdd & ";INTEGRATED SECURITY=BSTR;"
- 'cnString = "Provider=SQLOLEDB;DATA SOURCE=.\SQLExpress;INITIAL CATALOG=" & bdd & ";INTEGRATED SECURITY=BSTR;USER INSTANCE = true"
-
- 'CE TEST EST REUSSI IL FAUT ALLER CHERCHER LA TABLE ATTACHEE QUI SE TROUVE DANS PROGRAM FILE MICROSOFT MMSQL MMSQL1 DATA
- cnString = "Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=" & bdd & "; Database=" & "" & ";Trusted_Connection=Yes;"
- End If
-
- 'cn.Open
- cn.Open cnString
-
-
-
- End Sub
- '***********************************************************************************************************
- '*********************************SI DESSUS LES FONCTION A MANIPULER CI DESSOUS LES FONCTIONS ET************
- '*********************************PROCEDURE PERMETTEANT LA CONNECTION LECTURE ET ECRITURE DANS UNE BDD******
- Public Sub openrstADO()
- Set rst = New ADODB.Recordset
- End Sub
- Public Sub openrstDAO()
- 'Set rst = New DAO.Recordset
- End Sub
-
- Public Sub configureDbs()
- Call nameBDD
- Set dbs = DBEngine.Workspaces(0).OpenDatabase(bdd)
- End Sub
- Public Sub ecriture()
- rst.AddNew
- rst(chp1) = champ1Value
- rst(chp2) = champ2Value
- rst.Update
- End Sub
- Public Sub ecritureADO()
- Set rst = New ADODB.Recordset
- rst.CursorLocation = adUseClient
- rst.CursorType = adOpenDynamic
- rst.LockType = adLockOptimistic
- rst.Open table, cn ', adOpenKeyset, adLockOptimistic
- rst.Fields(chp1) = champ1Value
- rst.Fields(chp2) = champ2Value
- rst.Update
- End Sub
-
- Public Sub lecture()
- rst.MoveFirst
- While Not rst.EOF
- recupData = recupData & "just for testing: " & rst(chp1) & vbCrLf
- recupData = recupData & "just for testing: " & rst(chp2) & vbCrLf
- rst.MoveNext
- Wend
- End Sub
- Public Sub closeDAO()
- dbs.Close
- Set dbs = Nothing
- Set rst = Nothing
- End Sub
- Public Sub closeADO()
- cn.Close
- Set rst = Nothing
- Set cn = Nothing
- End Sub
- '***********************************************************************************************************
- '***********************************************************************************************************
- '***********************************************************************************************************
-
- Private Sub clean_Click()
- recupData = ""
- End Sub
- Public Sub ecritADO()
- Call openCN
- Call ecritureADO
- Set Forms("Formulaire2").Recordset = rst
- Call closeADO
- End Sub
- Public Sub litADO()
- Call openCN
- Call openrstADO
- rst.Open "SELECT * FROM " & table & " ", cn ', adOpenKeyset, adLockOptimistic
- Call lecture
- Call closeADO
- End Sub
- Public Sub ecritDAO()
- Call configureDbs
- Call openrstDAO
- Set rst = dbs.OpenRecordset(table)
- Call ecriture
- Call closeDAO
- End Sub
- Public Sub litDAO()
- Call configureDbs
- Call openrstDAO
- Set rst = dbs.OpenRecordset("SELECT * FROM " & table, dbOpenDynaset, dbSeeChanges)
- Call lecture
- Call closeDAO
- End Sub
-
- '***********************************************************************************************************
- '**************************procedures de gestion des evenements de clic sur les bouttons********************
- '***************************on appelle les sous procedures**************************************************
- Private Sub Commande10_Click() 'ado ecrit
- Call ecritADO
- End Sub
- Private Sub Commande9_Click() 'ado lit
- Call litADO
- End Sub
- Private Sub Commande4_Click() 'dao ecrit
- Call ecritDAO
- End Sub
- Private Sub Commande5_Click() 'dao lit
- Call litDAO
- End Sub
-
- Private Sub choixFichier_Click()
- On Error GoTo ErrorHandlerChoixFichier
- Dim oDialog As Object
- Dim NomFichier As String
- Set oDialog = choisirAutreBase.Object
- With oDialog
- .DialogTitle = "fichier à analyser"
- .Filter = "Fichiers (*.mdb)|*.mdb|Fichiers (*.adp)|*.adp|Fichiers (*.mdf)|*.mdf|tous le fichiers (.*)|*.*"
- .FilterIndex = 1
- .ShowOpen
- If Len(.filename) > 0 Then
- nomBaseDonnee.Caption = .filename
- End If
- End With
- ErrorHandlerChoixFichier:
- Err.Clear
- End Sub
-
- '***********************************************************************************************************
- '**************************chargement du formulaire*********************************************************
- '***********************************************************************************************************
-
- Private Sub Form_Load()
- nomBaseDonnee.Caption = "choisir une bdd"
- nomBaseDonnee.Visible = True
- champ1 = "nom du champ1"
- champ2 = "nom du champ2"
- nomTable = "nom de la table"
- champ1Value = "valeur a inserer"
- champ2Value = "valeur a inserer"
- End Sub
Option Compare Database
Public bdd
Public cn As New ADODB.Connection
Public cnString As String
Public table, chp1, chp2
Public dbs
Public rst
'***********************************************************************************************************
'***********************************LES SOUS FONCTIONS: ELLES CONTIENNENT LE PRINCIPAL DU CODE**************
'C EST NAMEBDD ET OPENCN QU IL VA FALLOIR CHANGER SI LE CODE EST RESPONSABLE DE LA NON CONNECTION AU BDD SQL SERVEUR
'***********************************************************************************************************
Public Sub nameBDD()
bdd = choisirAutreBase.filename
table = nomTable
chp1 = champ1
chp2 = champ2
'chp1 = "NomEF"
'chp2 = "NomEM"
'table = "configuration_active"
End Sub
Public Sub openCN()
Call nameBDD
'Dim cnString As ADODB.Connection
'Set cnString = New ADODB.Connection
If InStr(Len(bdd) - 5, bdd, ".mdb") <> 0 Then
cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & bdd
Else
'TOUS CES TEST NE SONT PAS OK
''cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentProject.FullName & ";"
''cn.ConnectionString = "Provider=SQLOLEDB;;Data Source=DSNsqlServeur;INITIAL CATALOG=" & bdd & ";integrated seurity=sspi;"
''cnString.ConnectionString = "Provider=SQLOLEDB;;Data Source=DSNsqlServeur;INITIAL CATALOG=C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\2008 serveur umts 1.mdf ;Connect Timeout=30;User Instance=True;" 'integrated seurity=sspi;"
''cnString = "Provider=SQLOLEDB;DATA SOURCE=SQL serveur (SQLEXPRESS);INITIAL CATALOG=" & bdd & ";INTEGRATED SECURITY=SSPI;"
''cnString = "Provider=SQLOLEDB;DATA SOURCE=%lenomdemonordi%\c$\programfiles\Microsoft SQL Server_MSQL.1\Binn\sqlservr.exe -s SQLEXPRESS;INITIAL CATALOG=" & bdd & ";INTEGRATED SECURITY=BSTR;"
''cnString = "Provider=SQLOLEDB;DATA SOURCE=" & CurrentProject.FullName & ";INITIAL CATALOG=" & bdd & ";INTEGRATED SECURITY=BSTR;"
'cnString = "Provider=SQLOLEDB;DATA SOURCE=.\SQLExpress;INITIAL CATALOG=" & bdd & ";INTEGRATED SECURITY=BSTR;USER INSTANCE = true"
'CE TEST EST REUSSI IL FAUT ALLER CHERCHER LA TABLE ATTACHEE QUI SE TROUVE DANS PROGRAM FILE MICROSOFT MMSQL MMSQL1 DATA
cnString = "Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=" & bdd & "; Database=" & "" & ";Trusted_Connection=Yes;"
End If
'cn.Open
cn.Open cnString
End Sub
'***********************************************************************************************************
'*********************************SI DESSUS LES FONCTION A MANIPULER CI DESSOUS LES FONCTIONS ET************
'*********************************PROCEDURE PERMETTEANT LA CONNECTION LECTURE ET ECRITURE DANS UNE BDD******
Public Sub openrstADO()
Set rst = New ADODB.Recordset
End Sub
Public Sub openrstDAO()
'Set rst = New DAO.Recordset
End Sub
Public Sub configureDbs()
Call nameBDD
Set dbs = DBEngine.Workspaces(0).OpenDatabase(bdd)
End Sub
Public Sub ecriture()
rst.AddNew
rst(chp1) = champ1Value
rst(chp2) = champ2Value
rst.Update
End Sub
Public Sub ecritureADO()
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.CursorType = adOpenDynamic
rst.LockType = adLockOptimistic
rst.Open table, cn ', adOpenKeyset, adLockOptimistic
rst.Fields(chp1) = champ1Value
rst.Fields(chp2) = champ2Value
rst.Update
End Sub
Public Sub lecture()
rst.MoveFirst
While Not rst.EOF
recupData = recupData & "just for testing: " & rst(chp1) & vbCrLf
recupData = recupData & "just for testing: " & rst(chp2) & vbCrLf
rst.MoveNext
Wend
End Sub
Public Sub closeDAO()
dbs.Close
Set dbs = Nothing
Set rst = Nothing
End Sub
Public Sub closeADO()
cn.Close
Set rst = Nothing
Set cn = Nothing
End Sub
'***********************************************************************************************************
'***********************************************************************************************************
'***********************************************************************************************************
Private Sub clean_Click()
recupData = ""
End Sub
Public Sub ecritADO()
Call openCN
Call ecritureADO
Set Forms("Formulaire2").Recordset = rst
Call closeADO
End Sub
Public Sub litADO()
Call openCN
Call openrstADO
rst.Open "SELECT * FROM " & table & " ", cn ', adOpenKeyset, adLockOptimistic
Call lecture
Call closeADO
End Sub
Public Sub ecritDAO()
Call configureDbs
Call openrstDAO
Set rst = dbs.OpenRecordset(table)
Call ecriture
Call closeDAO
End Sub
Public Sub litDAO()
Call configureDbs
Call openrstDAO
Set rst = dbs.OpenRecordset("SELECT * FROM " & table, dbOpenDynaset, dbSeeChanges)
Call lecture
Call closeDAO
End Sub
'***********************************************************************************************************
'**************************procedures de gestion des evenements de clic sur les bouttons********************
'***************************on appelle les sous procedures**************************************************
Private Sub Commande10_Click() 'ado ecrit
Call ecritADO
End Sub
Private Sub Commande9_Click() 'ado lit
Call litADO
End Sub
Private Sub Commande4_Click() 'dao ecrit
Call ecritDAO
End Sub
Private Sub Commande5_Click() 'dao lit
Call litDAO
End Sub
Private Sub choixFichier_Click()
On Error GoTo ErrorHandlerChoixFichier
Dim oDialog As Object
Dim NomFichier As String
Set oDialog = choisirAutreBase.Object
With oDialog
.DialogTitle = "fichier à analyser"
.Filter = "Fichiers (*.mdb)|*.mdb|Fichiers (*.adp)|*.adp|Fichiers (*.mdf)|*.mdf|tous le fichiers (.*)|*.*"
.FilterIndex = 1
.ShowOpen
If Len(.filename) > 0 Then
nomBaseDonnee.Caption = .filename
End If
End With
ErrorHandlerChoixFichier:
Err.Clear
End Sub
'***********************************************************************************************************
'**************************chargement du formulaire*********************************************************
'***********************************************************************************************************
Private Sub Form_Load()
nomBaseDonnee.Caption = "choisir une bdd"
nomBaseDonnee.Visible = True
champ1 = "nom du champ1"
champ2 = "nom du champ2"
nomTable = "nom de la table"
champ1Value = "valeur a inserer"
champ2Value = "valeur a inserer"
End Sub
Conclusion
Les histoires de serveurs de connections ne sont pas toujours une histoire de code mais ce n'est très simple qu'une fois qu'on à la solution...
Historique
- 17 mars 2008 12:33:01 :
- Caractère manquant
- 17 mars 2008 13:08:15 :
- nom de l ordi present dans le code
- 17 mars 2008 17:58:08 :
- En fait Maintenant on peut se connecter et modifier une bdd liée à une bdd sql serveur grace à l'option dbseeChanges mais pour ce qui est des modification directes ça ne va toujours pas!
- 18 mars 2008 15:11:50 :
- possibilité de se connectter directement a une bdd sql serveur "attachée" via ADO.
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
VBA sous Access - CommonDialog : comment y faire appel [ par 8pool ]
Sous access (donc en VBA) :Dans un ImageBox ou PictureBox fe formulaire, je veux en cliquant dessus ouvrir la boîte de dialogue qui me permettra d'aff
[VBA ACCESS] Connexion / Déconnexion [ par Erwan51 ]
Bonjour, Précision : j'ai trois niveaux d'utilisateurs sur une base ACCESS 2000.Je souhaite réaliser les deux choses suivantes en VBA sous Access 2000
connexion ACCESS VBA et requête ! [ par blinix123 ]
Hello all, Voilou j'essaye d'établir une connexion access via VBA mais ca ne marche pas, en fait la connexion marche, mais pas la requete que je fai
connexion access via ado VBA [ par blinix123 ]
Bonjour à tous,Bon déja désolé je ne savais pas dans quel thème poster ma question, VBA,ADO,ACCESS,VBSCRIPT...brefRassurer vous aussi avant de poser m
connexion a une base access 97 via vba 6.3 [ par sourire45 ]
bonjour tout le monde!!!Voila je suis nouvelle dans le forum et débutante en vba..j ai un eapplication créer avec excel 97 et qui fait appel a une bas
VBA sous Access besoin d aide d urgence Merci [ par Kalvin20 ]
bonjour à tous je vous explique mon probleme je fais une base de données, j ai fait les requetes necessaire et separrement j ai fais mon formulaire g
CONNEXION INTERNET BASE ACCESS [ par vbsmohamed ]
Bonjour,si vous permettez je veux me connecter avec une base de donnee accesse 2003 via internet apartir de vb.NET 2005SI quelqu'un peut m'aider et m
Connexion d'access 2000 [ par liouae ]
slt j ai une base de données access et j'arrive pas a la connécté avec VB6 vous pouvez m'aidé , j'ai tapé : Set conn_pr = New ADODB.Connection conn_
Génération de rectangles par VBA sous ACCESS 2000. [ par keketteboy ]
Bonjour, Je suis sous ACCESS 2000, et j'aimerais pouvoir créer des rectangles qui seront coloriés par la suite mais tout ça en passant par du code VBA
remplir une liste box dans Access en VBA [ par LUSTRUCRU ]
Bonjour à toutes et tous,Juste une petite question : que'elle est la commande/syntaxe en VBA sous access pour rajouter un Item dans un contrôle Liste
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|