Accueil > > > CONNEXION BASES DE DONNÉES
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
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
point d'access et dns [ par Claiyah ]
bonjoursvp j'ai plusieur ligne adsl donc plusieurs passerelles, j'ai fait une application qui ping sur google chaque minute et si y'a pas de connexio
VB pour access (vba) vs VB [ par aceF5 ]
Québec, le 11 décembre 2008Je développe des applications sous Access (vba). Je vois périodiquement via la lettre de CodeSource, des applications/util
propriétés des controles entre vba excel et access [ par elfifie ]
Est-ce que les propriétés des controles ActiveX sont differentes entre Access et Excel? J'arrive parfaitement à écrire mon programme sur Excel, mais q
connexion serveur FTP code VBA [ par romy64000 ]
Bonjour, Je souhaiterais programmer une macro sous excel en VBA qui se connecterai à un serveur FTP et qui irai ouvrir un fichier pour recuperer les d
Exporter les données d'une liste sous VBA vers Access [ par Benythefrog ]
Bonjour a tous et a toutes les DeveloppeursMerci d'avance pour votre aide qui j'en suis sure me sera trés précieuseVoila je recupere dans une liste un
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|