Modifier table Access en Visual Basic [RESOLU] - VB/VBA/VBS - Programmation
Marsh Posté le 26-08-2010 à 14:07:31
Bon je me suis dit que ca venait sans doutes de la base T_TEST, access va la chercher dans la base de donnee connectee via ADODB et non pas en local.
Alors j'ai modifie mon code pour donner ca :
Code :
|
Sauf que je retombe sur une erreur 424, objet requis ...
help svp !
Marsh Posté le 26-08-2010 à 14:45:28
Salut,
Code :
|
Pour voir si la database est bien connectée.
Après, moi j'utilise DAO. C'est bien plus simple.
Code :
|
L'objet recordset contient le resultat de la requete (requete SELECT par ex.).
Marsh Posté le 26-08-2010 à 15:00:30
Merci pour ta réponse,
je ne rentre pas dans la condition de test de dbs, donc elle est bien connectée, mais j'ai un message d'erreur au niveau de la requete sql (erreur 242 objet requis)
Marsh Posté le 26-08-2010 à 15:46:16
Dans la doc MSDN:
Code :
|
Il doit te manquer l'ouverture de ta connexion.
Marsh Posté le 27-08-2010 à 10:51:54
Salut, je crois avoir résolu le problème de la connexion, mon maître de stage ne veut pas que je passe par le DSN, dont j'utilise OLEDB..
Le code qui suit est fonctionnel pour l'instant, mais comment je peux le tester pour savoir si la connexion s'est bien effectuée ?
Code :
|
Marsh Posté le 27-08-2010 à 13:39:27
objCom est un objet. Suffit de voir s'il est valide:
If objConn Is Nothing Then
MsgBox "Raté!"
Exit Sub
End If
Marsh Posté le 27-08-2010 à 15:05:24
Donc je teste la valeur de objConn et je ne rentre pas dans la condition, donc c'est bon, mais l'erreur 424 objet requis est toujours présente a cette ligne ci :
Code :
|
Marsh Posté le 27-08-2010 à 15:46:49
Code :
|
Essaie avec cette synthaxe ci-dessus.
Sinon, passa ta requête en dur, sans variable, pour être sûr de la synthaxe.
Marsh Posté le 27-08-2010 à 15:55:11
Ça fonctionne avec des valeurs en dur, c'est donc un problème de syntaxe de la requête SQL. F_ARTICLE est une table ODBC attache. Si je remplace "F_ARTICLE" par "[Liste articles]" qui est la table qui est remplie avec F_ARTICLE,j'ai une nouvelle erreur : "2465 NomDuDSN ne trouve pas le champ "|" auquel il est fait référence dans votre expression"
Je suis sur que c'est une erreur complètement nulle, mais en tout est nouveau pour moi (je passe de programmation C# sous emacs a access ...)
Marsh Posté le 27-08-2010 à 16:17:12
Je crois que la synthaxe, c'est [Table!Champ] (point d'exclamation en séparateur, pas un pipe).
Marsh Posté le 27-08-2010 à 16:57:41
Oui c’était bien ça le problème, une erreur de syntaxe dans la requête. Mais maintenant j'ai une erreur au moment de l’exécution de cette requête :
"aucune valeur donnée pour un ou plusieurs des paramètres requis"
Marsh Posté le 31-08-2010 à 09:10:07
Après avoir bien réfléchi ce week-end, j'ai trouve le problème, et c'est un problème complètement stupide...
La table F_ARTICLE est sur le DSN et je m'y connecte via ADO, mais la table T_TEST est une table que j'ai créé dans Access, donc je dois m'y connecter avec une autre strConnect.
Mais je ne sais pas comment je peux faire pour me connecter a 2 sources différentes .. Et surtout comment faire pour faire un execute(strsql) en utilisant 2 variables de connexion ?
Code :
|
J'ai teste la syntaxe ci dessus dans un SELECT avec 1 seule source et c'est celle ci qui fonctionne. La question que je me pose, c'est, comment je peux faire pour faire un open de strConnect2 ? Refaire un Set dbCPTA = New ADODB.Connection ?
Marsh Posté le 31-08-2010 à 10:04:18
Je pense avoir trouvé un moyen de me connecter au DSN et a ma base access :
Code :
|
Le seul problème pour l'instant, c'est que je ne peux pas voir les valeurs de var_ref et var_design, les msgbox sont vides..
Comment faire pour checker leur valeur ?
Marsh Posté le 31-08-2010 à 15:07:11
Problème résolu, en parfait noobie, je ne connaissait pas l'existence des recordset
Je ne met pas encore la bannière "[RESOLU]" car j'aurais encore qqes questions plus tard !
Marsh Posté le 31-08-2010 à 16:00:42
Le problème de modification de table via code vb est résolu merci a tous de m'avoir aidé
Edit : je joins quand meme le code résolu
Code :
|
Marsh Posté le 26-08-2010 à 12:13:31
Bonjour à tous, je suis débutant en Visual Basic et je suis déjà confronté a un problème :
J´ai crée une table dans Access que je souhaite remplir grâce a un code Visual Basic :
Le problème, c´est qu´à l´exécution, j´ai une erreur d´exécution ´-214721865 (80040e37´ :
[Simba][SimbaEngine ODBC DRIVER][DRM File Library]No such table or object.
Ce qui signifierait que ma table ¨T_TEST¨ n´existe pas ?
Si c´est le cas, comment puis-je corriger le problème svp ?
J'ai aussi une autre methode, celle de creer la table directement dans la fonction :
mais je tombe sur une nouvelle erreur :
Erreur de compilation:
instruction incorrecte à l'extérieur d'un bloc de type
Si une bonne ame voulait bien m'aider svp
Message édité par greg360 le 31-08-2010 à 16:24:44
---------------
Greg