Accès à ma base de données Access 2003

jbprogram Messages postés 30 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 11 mai 2011 - 19 déc. 2007 à 18:08
jbprogram Messages postés 30 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 11 mai 2011 - 20 déc. 2007 à 14:11
Salut

Développé sous vb6 ma base de données est faite dans access 2003, mon programme est compilé en utilisant Innosetup. Tout se passe bien, la compilation réussie. l'exécutable est bien présent l'installation de mon programme est une réussite. Mais quand je veux ouvrir pour entrer dans le programme puis qu'il ya un code d'accès qui est géré par la base access 2003, un message de type s'affiche:
"Erreur d'exécution 3704"
"Cette Opération n'est pas autorisée si l'objet est fermé"
Espérant avoir une" suite favorable.
Merci.

5 réponses

fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
19 déc. 2007 à 18:29
Bonjour,
Ta base ne semble pas ouverte.
.opendatabase
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 déc. 2007 à 19:08
Salut,

Ou son RecordSet est fermé aussi...Faudrait nous montrer le code qui correspond à ta connection base, ainsi que le code qui te permet de vérifier le pass(dans le cas d'un pass indiciduel)...
Par la même occasion, montres nous comment sont déclarées tes variables de connection/recordset...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
19 déc. 2007 à 19:47
Salut,

Ou il n'a pas mis sa base dans le setup, qu'il  voit si sa base est bien mise et dans le bon répetoire!
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 déc. 2007 à 20:44
Ou alors la base est restée en lecture seule. Ca m'est arrivé assez souvent avec des bases Access, je ne sais pour quelles raisons, mais une fois installées elles restent en lecture seule.

Rappel : Pour pouvoir ouvrir, même uniquement en lecture, une base Access, elle doit obligatoirement ne pas etre en lecture seule.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jbprogram Messages postés 30 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 11 mai 2011
20 déc. 2007 à 14:11
ma connexion à la base:
'Déclaration des variables générales

Option Explicit

Dim cnnADO As New ADODB.Connection

Dim cmdADO As New ADODB.Command

Dim rsADO As New ADODB.Recordset

Dim BooleenTrouve As Boolean

'******************

 

Private Sub connexion_Click()

Dim strDroits As String

Dim strNomUtilisateur As String

Dim a As String

Dim ab As String

Dim b As String

nom.Text = Trim$(nom.Text)

strNomUtilisateur = nom.Text

'*************************************************

'La recherche :

'*************************************************

 

'Recherchons le nom d'utilisateur dans la table

If nom.Text <> "" Then BooleenTrouve = False

Do While Not (rsADO.EOF Or BooleenTrouve)

If (StrComp(rsADO("Nom"), strNomUtilisateur, vbTextCompare) = 0) Then

BooleenTrouve = True

Else

rsADO.MoveNext

End If

Loop

'Si le nom n'y est pas on affiche un message d'erreur

If Not BooleenTrouve Then

rsADO.Close

Set rsADO = Nothing

cnnADO.Close

Set cnnADO = Nothing

MsgBox "Nom d'utilisateur non valide !" + Chr$(10) + "Veuillez contacter l'administrateur du réseau.", vbOKOnly, "Impossible d'établir la connexion !"

Form_Load

Exit Sub

End If

'Si le nom est bon mais pas le mot de passe, on affiche un message

If Not (StrComp(rsADO("Mot de passe"), password.Text, vbBinaryCompare) = 0) Then

rsADO.Close

Set rsADO = Nothing

cnnADO.Close

Set cnnADO = Nothing

MsgBox "Mot de passe erroné !" + Chr$(10) + "Essayez à nouveau ou contactez" + Chr$(10) + "l'administrateur du réseau.", vbOKOnly, "Impossible d'établir la connexion !"

Form_Load

Exit Sub

Else 'On affiche vos paramètres de connexion

strDroits = rsADO("Droits")

a = "Utilisateur: " + strNomUtilisateur

ab = vbCrLf

b = "Connecté en tant que " + strDroits

MsgBox a + ab + b, vbOKOnly, "Connexion réussie !"

End If

End Sub

 

Private Sub Form_Load()

'******************************************

'Etablir la connexion avec la base

'******************************************

Set cn = New ADODB.Connection

cn.Provider = "Microsoft.jet.oledb.4.0"

cn.ConnectionString = App.Path & "\ContrôleDeGestion1.mdb"

cn.Open

'.......................................................

Set rsconnexion = New ADODB.Recordset

rsconnexion.Open "T_Access_BD", cn, adOpenDynamic, adLockOptimistic

'......................................................

'configurer la commande

cmdADO.ActiveConnection = cnnADO

rsADO.Open "T_Access_BD", cnnADO, , , adCmdTable

End Sub

Private Sub Form_Terminate()

MsgBox "Réalisation Jean Baptiste BAVIBIDILA ©2007", vbInformation + vbOKOnly, "Ingénieur Informaticien Option Developpement"

 

End Sub

ma base access se compose de la chaîne suivante:

C:\Ctr_Gst_Cfco\ContrôleDeGestiion1
NB: sur le pc source où j'ai développé ce programme et le compiler ça marche très bien. Mais quand je veux l'ouvrir sur un pc différent ça ne marche pas en m'indiquant le message d'erreur cité-ci-déssus.

Ma Base se trouve bel et bien dans mon setup.
Mais aussi mon programme peutêtre paramétré pour fonctionner en mode client serveur.

Merci!

Je suis très fanatique de
Les bases de la gestion de fichiers

Lundi 18 mars 2003

&
0
Rejoignez-nous