Copier recordset

cs_CharlEm Messages postés 39 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 28 janvier 2009 - 8 janv. 2008 à 10:10
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 9 janv. 2008 à 12:32
Bonjour,

Je me débrouille en VB6 mais en VBA ... un peu moins

Bref ce que je veux faire c'est tout con pour moi en VB6 mais dans Access ça devient vite plus flou pour moi.

Voilà, j'ai une table d'inventaire de matos et un formulaire pour remplir cette table de matos.

Pour le moment je rempli toutes les cases puis quand j'arrive au SerialNumber je scan et puis je clique sur un bouton VALIDER qui déclanche une fonction automatique d'Access qui fait un ENREGISTRER et un ACTUALISER et c'est tout.

Le truc chiant c'est que je rempli une série d'écran par exemple et là je dois re remplir tous les champs puis scanner le SerialNumber. Ce que j'aimerais c'est qu'au moment où je fais VALIDER ça :
* enregistre les données encodées à l'écran
* passe au record suivant dans le formulaire
* recopie les données du dernier enregistement sauf le SerialNumber

Ainsi je peux juste faire scanner le code barre et appuyer sur VALIDER et je gagne un temps fou

Pour ce faire je comptais faire un truc genre :

sql = "insert into TaInventaire values ..."
executer sql ==> comment je peux lui dire d'exécuter un sql dans Access ?

passer à l'occurence du formulaire suivant ==> comment on fait pour passer à la 'page suivante' d'un formulaire Access ?

sql = "select * from TaInventaire"
rs.movelast
FoInventaire.modele.text = rs!modele
FoInventaire.marque.text = rs!marque
...

Merci

3 réponses

cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
8 janv. 2008 à 10:55
Salut,

Si tu veux garder les anciennes informations de ton précédent articles(sauf le sérial), je ne voips donc pas l'intêret de faire 2 requête....

Une seul requête de séléction suffit, puis par la suite une fois que tu as enregistrer, tu effaces juste la zone de texte qui contient ton sérial...Non ? C'est plus simple je pense....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
8 janv. 2008 à 11:13
Euh...Je voulais dire : une seul requête d'insertion suffit

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
9 janv. 2008 à 12:32
Pour exécuter une requête SQL dans le VBA ACCESS, dans le code de ton bouton le code suivant : 
DoCmd.RunSQL "INSERT blabla ..."

Pour passer à la page suivante de ton formulaire :
C'est inutile dans ton cas puisque le clic sur le bouton Valider déclenche une requête Insertion. Quelque part, tu te moques de savoir où tu te trouves dans ta table, et de changer la page de ton formulaire. Il te suffit de réinitialiser tous les champs nécessaires comme le suggère Exploreur, ta requête Insertion fera tout le reste.

Molenn
0
Rejoignez-nous