Accès Base de données Access
Je viens de rencontrer un problème absolument inexplicable, en effet j'ouvre un recordset via procédure publique sur un module, procédure qui ouvre la base de données si elle n'a pas encore été ouverte :
Code:
1 2 3
| Global bdd As Database
Global connect As Boolean
Global rcsniveau As Recordset |
Code:
1 2
| SQL = "Select Niveau_Poste.NumNiveau,Niveau_Poste.NomNiveau From Niveau_Poste;"
connexion_BDD SQL, rcsniveau |
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Public Sub connexion_BDD(ByVal SQL As String, ByRef rcs As Recordset)
If connect = False Then
Set bdd = OpenDatabase("TAPPPO2006-access97.mdb", False)
End If
connect = True
Set rcs = bdd.OpenRecordset(SQL$)
If rcs.EditMode = adEditInProgress Or rcs.EditMode = adEditAdd Then
MsgBox "Impossible d'ouvrir la connexion pour l'instant. La base de données est occupées, veuillez réitérer votre demande plus tard", vbCritical
End If
End Sub |
Ce code fonctionna tout à fait correctement sur mon premier projet, lors de la réalisation du second j'ai importé le module, et la vb me genère une erreur : "incompatibilité de type" pour :
Code:
Set rcs = bdd.OpenRecordset(SQL$)
J'ai bien vérifié mes références... tout est identique, je me suis même "amusé" à retaper mon module completement mais rien ne change...
Ce qui me rend fou c'est que si j'effectue l'ouverture du recordset et de la bdd sur la procédure privée qui appele la publique du module, ben ça marche !
Que se passe-t-il ? :cry: j'ai un grand besoin d'aide la car je viens d'y passer deux heures sans arriver à régler le probleme :/