mytaz2005
Messages postés20Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention11 septembre 2014
-
4 janv. 2005 à 23:59
phantom_2005
Messages postés184Date d'inscriptionmercredi 8 décembre 2004StatutMembreDernière intervention 1 septembre 2010
-
5 janv. 2005 à 12:40
J'apprends tout seul le VBA (Access2000), ce qui n'est pas évident à mon âge & je dois faire bcp de bêtises et de choses mal programmées ; cependant, je trouve que le modèle ADO a l'air vraiment puissant & "économique"...
Mon PB est le suivant : pour des raisons fiscales, je veux archiver dans une table des résultats comptables sortant p.ex. de la facturation ; je fais donc appel à une requête avec le CommandType=adCmdStoredProc et je crée un Recordset (bien rempli après vérif). Je voudrais ajouter son contenu à la fin de la table d'archivage ; cela marche si je crée un 2ème recordset avec cette table et si j'ajoute le 1er recordset à la fin du second avec une boucle AddNew qui défile tous les champs de tous les enregistrements (genre rst2!numclient=rst1!numclient, etc...), puis le UpdateBatch, puis le CommitTrans, etc... Mais cela me paraît bien lourd & compliqué !!!
J'ai essayé différents CommandText du genre "INSERT INTO T_Destination SELECT * FROM MonADORecordset1" ; mais j'ai systématiquement une erreur "incompatibilité de type" !!!
Y-a-t-il des délimiteurs spéciaux à utiliser dans ce cas, ou n'est-ce pas du tout comme cela qu'il faut procéder, ou ma 1ère méthode (avec les 2 Recordsets) est-elle la seule possible ???
Il existe sûrement d'autres méthodes, mais je souhaitais continuer à utiliser ADO (bien que cela puisse paraître débile pour ce cas)...
Merci d'avance pour votre aide
phantom_2005
Messages postés184Date d'inscriptionmercredi 8 décembre 2004StatutMembreDernière intervention 1 septembre 20101 5 janv. 2005 à 12:40
Bonjour,
comme vous utilisez Access 2000, je vous conseille de
1 - Créer vos requêtes d'ajout et autres à partir d'Access.
2 - Ensuite dans le mode Requêtes, vous cliquez sur Affichage/Mode SQL.
3 - Il ne reste plus qu'à faire un copier coller dans votre programme.
Cela évite bien des erreurs de syntaxe.
En vous souhaitant bon courage et bonne programmation