altozinzin
Messages postés54Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 6 mai 2011
-
23 mai 2007 à 10:38
altozinzin
Messages postés54Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 6 mai 2011
-
23 mai 2007 à 11:51
Salut, j'ai un petit problème avec mon module.
Je veux faire une base de données access, et comme je compte utiliser souvent la connection j'ai créé un module (module1).
Voici mon code de form1:
<hr size="2" width="100%" /> Command1_Click()
Call Module1.seconnecter
Dim enreg As ADODB.Recordset
Set enreg = New ADODB.Recordset
enreg.Open "select nom, prenom from table1", data, adOpenDynamic, adLockBatchOptimistic
enreg.MoveFirst
Label1 = enreg!nom & " " & enreg!prenom
End Sub
<hr size="2" width="100%" />
et dans mon module:
<hr size="2" width="100%" />
Public Sub seconnecter()
Dim data As ADODB.Connection
Set data = New ADODB.Connection
data.ConnectionString = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= c:\test.mdb")
data.Open
End Sub
<hr size="2" width="100%" />
quand je lance l'application, j'ai "erreur 3001: "les arguments sont de type incorrect, en dehors des limites autorisées, ou en conflit les uns avec les autres"
Pourtant si je coupe la partie qui est dans le module et que je la colle de command1_click, ça marche nikel.
Merci d'avance.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 23 mai 2007 à 10:48
Ou bien alors mettre data dans la definition du module et en variable public
soit
Option Explicit
'DAns le formulaire
Private Sub Command1_Click()
Call Module1.seconnecter
Dim enreg As ADODB.Recordset
Set enreg = New ADODB.Recordset
enreg.Open "select nom, prenom from table1", data, adOpenDynamic, adLockBatchOptimistic
enreg.MoveFirst
Label1 = enreg!nom & " " & enreg!prenom
End Sub<hr />
'DANS LE MODULE
Option Explicit
Public data As ADODB.Connection
Public Sub seconnecter()
Set data = New ADODB.Connection
data.ConnectionString = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= c:\test.mdb")
data.Open
End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 23 mai 2007 à 10:46
Salut,
Ce qu'il faut que tu ai à l'esprit c'est que dans le cas ou tu mettes
Dim data As ADODB.Connection dans seconnecter et bien la variable data n'est connue et active QUE dans la procédure seconnecter. Donc c'est normal que cela ne fonctionne pas dans le cas du module et que cela marche lorsque tu place data dans command1_click
Tu peux soit déplacer, soit faire une fonction qui retourne une ADODB.Connection
@+: Ju£i?n Pensez: Réponse acceptée
et la j'ai "Impossible de démarrer votre application. Le fichier d'information du groupes de travail est absent, ou ouvert en mode exclusif par un autre utilisateur"
Je sais je suis chiant, :-)
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 23 mai 2007 à 11:47
Salut,
Une seule question par topic normalement... en revanche n'oublie pas d'appuyer sur réponse acceptée sur le ou les posts qui t'ont aidé à le résoudre.
Merci d'avance