Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1498 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème d'accès à une base Access via VB6 (erreur 13)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'accès à une base Access via VB6 (erreur 13)

n°1384912
belsuncett​e
Posté le 09-06-2006 à 22:45:18  profilanswer
 

Bonjour ! j'ai cherché un sujet où poser ma question mais pas trouvé...alors j'espère ne pas faire d'erreur en ouvrant celui-ci.
Je suis en train de programmer une application sous VB6 et je dois faire accès à une base de données Access. Pour ça je me sers d'un code écrit pour une autre application, mais dans la mienne, ça ne marche pas...
 
Voilà le contexte : je veux faire appel à la table Utilisateurs de la base Base.
 
Dans le module_BAS j'ai déclaré ça :
 
    Public wrkJet As Workspace
    Public db As Database
    Public RsUsers As Recordset
    Global Const bd As String = "D:\BaseAccesDistance.mdb"
 
Et dans la feuille où j'ai besoin de l'appel :
 
    Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)
    Set db = wrkJet.OpenDatabase(bd, _
      False)
     
    Set RsUsers = db.OpenRecordset("Utilisateurs" )
    RsUsers.MoveFirst
 
Au niveau de l'avant dernière ligne j'ai l'erreur 13 "Type incompatible"...
J'ai aussi tenté la commande      Set RsUsers = db.OpenRecordset("Utilisateurs", dbOpenTable) mais idem.
Le problème ne vient a priori pas de ma base, car si je la place dans l'autre application je n'ai pas de problème. Par contre en prenant une base déjà existante j'ai toujours le problème.
 
C'est peut être tout bête, je ne sais pas ; je suis débutante dans ce langage...et un peu impuissante car j'ai fini par vraiment recopier le code de l'autre application et toujours le même problème. Mon maître de stage, plus calé que moi, n'a pas eu d'illumination non plus...alors je fais appel ici en espérant que quelqu'un puisse me dépanner car je vais avoir beaucoup d'accès de ce type à faire !
 
Merci d'avance...

mood
Publicité
Posté le 09-06-2006 à 22:45:18  profilanswer
 

n°1384934
kiki29
Posté le 09-06-2006 à 23:32:40  profilanswer
 

Tout le monde a démarré +/- comme toi, en examinant le code des autres, par contre pour une novice les bases de données ce n'est pas le plus simple
Bref qqs liens ( certains en Anglais ) qui pourraient t'aider
 
http://jacma.developpez.com/
http://www.vb-helper.com/AdoTalk.htm
http://www.vb-helper.com/index_categories.html
http://www.vb-helper.com/index_database.html
 
Chaines de connexion
http://www.carlprothman.net/Default.aspx?tabid=81
 

n°1384940
belsuncett​e
Posté le 10-06-2006 à 00:04:37  profilanswer
 

Merci je regarderai en détail demain car mes yeux refusent de rester plus longtemps devant un PC (j'ai déjà exploré le premier site pendant mes heures de galère sur ce problème ou d'autres, résolus ceux-la !!)
En ce qui concerne les bases de données je connais déjà, j'ai eu des cours, et access c'est pas très compliqué de s'y adapter (surtout quand tu as aussi un exemple de BD).
Le problème vient donc plutôt de VB, de ce qu'il faut aller chercher comme références pour accéder à certains trucs....j'ai fini par trouver aussi, sauf pour là, ou e problème vient de je ne sais ou !

n°1384972
kiki29
Posté le 10-06-2006 à 03:19:43  profilanswer
 

Lire l'aide en ligne concernant l'erreur 13  
je ne connais pas la manière dont tes champs Access ont été déclarés ni comment ils sont récupérés sous VB6 et mon humble avis le pb est là


Message édité par kiki29 le 10-06-2006 à 03:22:52
n°1385005
otobox
Maison fondée en 2005
Posté le 10-06-2006 à 10:48:49  profilanswer
 

belsuncette a écrit :


Dans le module_BAS j'ai déclaré ça :
 
    Public wrkJet As Workspace
    Public db As Database
    Public RsUsers As Recordset
    Global Const bd As String = "D:\BaseAccesDistance.mdb"


 
Essaye de déclarer ta variable RsUser comme ceci:
 

Code :
  1. Public RsUsers as DAO.RecordSet


 
kenavo,
 
Jean-Marc


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°1385291
belsuncett​e
Posté le 10-06-2006 à 23:33:07  profilanswer
 

Merci aussi pour la réponse, malheureusement pas encore pu la tester :S
Chez moi je n'ai pas encore visual basic, je suis en attente d'un mot de passe pour le télécharger ! Alors bon au pire je vois ça lundi mais en tout cas merci et je donnerai le résultat !

n°1385651
belsuncett​e
Posté le 12-06-2006 à 11:10:46  profilanswer
 

Impeccable ça marche...merci beaucoup OtObOx ! Je cherche maintenant comment construire un masque de saisie pour adresse IP dans Access, si tu as une culture étendue aussi à ça ;)
Merci en tout cas ça fait plaisir d'arriver au boulot le lundi matin et de commencer par une victoire !!!

n°1385984
otobox
Maison fondée en 2005
Posté le 12-06-2006 à 18:13:09  profilanswer
 

Ravi de t'avoir aidé :)
Pour ton masque de saisie, tu peux essayer dans load_form ceci:

Code :
  1. textboxNom.inputmask="999.999.999"


Le plus simple est que tu définisses directement dans Access le masque du champ de la table.
 
kenavo,
 
Jean-Marc


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°1386096
belsuncett​e
Posté le 12-06-2006 à 21:46:28  profilanswer
 

En fait je l'avais défini dans access et ça me faisait des merdes, et puis mon responsable de stage voulait le meme genre de truc avec une nuance et finalement ça compliquait trop alors j'ai gardé ma solution.
Encore merci ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème d'accès à une base Access via VB6 (erreur 13)

 

Sujets relatifs
problème avec DialogBoxerreur validation W3C (résolu)
Access : liaison de contrôles dans un formulaire[PHP] Problème de checkbox dans une session
URGENT problemeprobleme avec des variables et fwrite
Access, insertion impossible via ASPProbleme de droits création fichier
Plus de sujets relatifs à : Problème d'accès à une base Access via VB6 (erreur 13)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR