[VB6] passage de variable

passage de variable [VB6] - VB/VBA/VBS - Programmation

Marsh Posté le 27-05-2004 à 19:18:21    

Bonjour, je suis en train de faire un programme en VB6 qui gère une base de donnée. Le problème est que je demande le chemin dans une boite de dialogue, je la stocke dans une variable mais elle n'est pas récuperé dans l'autre form...
 
des extraits de code:
 

Code :
  1. 'Lorsque je quite la form
  2. Private Sub ciao()
  3.     bdpath = Dir.Path & File.FileName
  4.     t4cDb.Visible = True
  5.     'Call MsgBox(bdpath)
  6.     Unload Me
  7. End Sub


 

Code :
  1. 'Test de la connexion
  2. Private Sub cmdTestConnex_Click()
  3.     Dim connex As ADODB.Connection
  4.     Set connex = New ADODB.Connection
  5.     connex.Provider = "Microsoft.Jet.OLEDB.3.51"
  6.     connex.ConnectionString = bdpath
  7.     Call MsgBox(bdpath) 'Cette msgbox ne renvoi rien (bdpath est vide)
  8.     connex.Open
  9.     If connex.State = ADODB.adStateOpen Then
  10.         Call MsgBox("Connexion réussi", vbOKOnly, Réussi)
  11.     Else
  12.         Call MsgBox("Connexion échouée, vérifier que le fichier existe bien" )
  13.     End If
  14.     connex.Close
  15. End Sub


 

Code :
  1. 'mon module
  2. Option Explicit
  3. Dim bdpath As String


 
Comme je l'ai écrit, la msgbox du test de la connexion ne renvoi rien...
Voila, si quelqu'un connait la solution, car la je bloque
 
merci


Message édité par loiklo le 27-05-2004 à 19:19:46
Reply

Marsh Posté le 27-05-2004 à 19:18:21   

Reply

Marsh Posté le 27-05-2004 à 20:08:13    

D'après mes vieux souvenirs de VB3 (16 bits), pour qu'une variable soit vue de partout, il faut qu'elle soit déclarée dans un fichier .BAS (ou autre qui soit pas une feuille). En global (sinon "locale" au module BAS).
Les variables des feuilles sont locales à leur feuille.
 
Faudrait essayer  
Global bdpath As String

Reply

Marsh Posté le 27-05-2004 à 21:23:02    

C'est deja dans module
il fallait juste mettre
public blabla as string
au lieu de
dim blabla as string
 
 
merci qd mm!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed