erreur:
If cnx.State Then cnx.Close
MsgBox "errueur de connection à votre base de donnée" & vbCrLf & URL_BASE, vbCritical
End Sub
le probleme c'set que l'orsque je lance mon porgramme, il me dit : errueur de connection à votre base de donnée.......
Puis ne trouvant pas de solution j'aire refait mon module et voila ce que ca donne:
Public Function ConnectionBase() As Boolean
'On Error GoTo Err_ConnStrait
Dim Cnx As New ADODB.connection
Dim strConn As String
ConnStrait = False
' Initialise la chaine de connexion
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\sonde_tps.mdb"
' vérifie que la connexion est bien fermée
If Cnx.State = adStateOpen Then
MsgBox "la connection etait ouverte:"
Cnx.Close
End If
' Connexion à la base de donnée
MsgBox "on se connecte:"
Cnx.Open ConnectionString:=strConn
' Attente jusqu'à la connexion effective
While (Cnx.State = adStateConnecting)
MsgBox "entrain de se connecter"
DoEvents
Wend
' Vérification des erreurs eventuelles ou attribution de la valeur "True" à la connexion
If Cnx.Errors.Count > 0 Then
MsgBox "erreur l'ors de l'atribution de la valeur true"
ConnStrait = False
Exit Function
Else:
MsgBox "la connection set ouverte:"
ConnStrait = True
End If
Exit Function
Err_ConnStrait:
MsgBox "erreur inconue survenue"
ConnStrait = False
Exit Function
End Function
bon alors qhand je lance mon programme voila ce qu'il s'affiche avec toutes les texbox que j'ai mise:
1er textbox: on se connect
2nd texbox: la connection est ouverte (il est passer dans la condition que tout c'est bie passer donc normalement ConnStrait doit etre =true)
la troisiemme textbox n'est pas sur ici, elle se trouve sur ma form principal et affiche la valeur de connstrait: Faux
Ma question est simple:
ma base de donner est elle connecter ou pas? et si oui pourquoi alors constraint me renvoi faux dans ma form prinsipal??? pour mon second exemple et pourkoi dans le premier j'ai se message d'erreur???
merci d'avance a ceux qu'ils veulent bien essayer de m'aider
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 28 sept. 2005 à 20:10
Salut, avant de te répondre plus précisément, je voudrais savoir si tu interroges 1 seule base ou plusieurs ? De là, 2 options possibles : ouvrir la ou les bases pendant toute la durée d'exécution du prog ou ne l' (les) ouvrir que lorsqu'on en a besoin. Perso, je pref la 2ème option mais ..
Ce que je fais en général :
dim cnn as new adodb.connection
dim rst as new adodb.recordset
cnn.open MaChaineDeConnexion
rst.open MaRequete1, cnn, ... 'options au choix
'récupération des données dans mon prog
rst.close
' le cas échéant :
rst.open MaRequete2, cnn, ... 'options au choix
'récupération des données dans mon prog
rst.close
'etc
cnn.close
set rst = nothing
set cnn = nothing
-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 29 sept. 2005 à 16:08
juste une question jbbordas. tu disais que ta connexion avait l'air de s'etablir correctement c'est bien ca ?
et que ta variable connstrait est a faux dans ta form principale.
est ce que cela ne vient pas tout simplement d'un probleme de portée de ta variable ?
ou as tu declaré connstrait ?
essaie de mettre un point d'arret a la fin de ta foncitn de connexion pour voir la valeur de ta variable et tiens nos au courant :)