(Access 03) Ajouter d'entrées en serie

Résolu/Fermé
Cedwick Messages postés 6 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 12 avril 2010 - 12 avril 2010 à 15:28
Cedwick Messages postés 6 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 12 avril 2010 - 12 avril 2010 à 18:34
Bonjour,

Je suis actuellement en stage de fin d'année dans le cadre de mes études et je travaille sur une BD déjà existante.

Je souhaiterai ajouter 2000 entrées a une table composée de 2 champs (un numérique et un de type texte) sachant que le champ numérique doit s'incrémenter de 1 a 2000 et le champ texte doit rester le même.

Je pensais donc créer un boucle de type for, mais le SQL ne gérant pas les boucles et mes connaissances en VBA, Macros ou Modules étant trop limites, je vous demande conseil.

Si vous avez des lins ou tout autres documentation, je suis preneur.

Merci d'avance.
A voir également:

10 réponses

blux Messages postés 25978 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 avril 2024 3 287
Modifié par blux le 12/04/2010 à 17:35
Salut,

tu peux effectivement passer une requête dans une boucle.

Dim i As Integer  
For i = 1 to 2000 step 1  
  strsql = "INSERT INTO NomTable (col1,col2) VALUES ('toto'," & i & ");"  
  DoCmd.RunSQL (strsql)  
End Sub



A+ Blux
 "Les cons, ça ose tout.  
C'est même à ça qu'on les reconnait"
1
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
12 avril 2010 à 16:21
A mon avis, il va quand même falloir passer par le vba... En intégrant une requête SQL de type "INSERT INTO"

   
    strsql = "INSERT INTO NomTable (NomColonne) VALUES "valeur" ;"
    DoCmd.RunSQL (strsql)


Il faut ensuite que tu le mette dans une fonction, que tu appelles quand tu veux, par l'intermédiaire d'un bouton ou au chargement...

Je ne sais pas si ça peut t'aider...

Après la syntaxe du "For" que tu connais est la même pour le vba...

En espèrant que ça t'aide, je ne suis pas encore très habile en Vb moi non plus
0
Cedwick Messages postés 6 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 12 avril 2010
12 avril 2010 à 17:04
Merci,

Seulement lorsque j'utilise une commande SQL je souhaite que "valeur" soit incrémentée a chaque passage de le boucle.

Est il possible d'intégrer une variable défini dans le code VBA a utiliser dans la commande SQL ? (Comme l'itération de la boucle)

Ou un autre moyen est possible ?
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
12 avril 2010 à 17:21
Oui oui, tu peux déclarer une variable, comme en C par exemple, juste la syntaxe diffère un peu:

Private Sub Fonction()

    Dim i As Integer

    For i = 1 to 2000 step 1
          strsql = "INSERT INTO NomTable (NomColonne) VALUES "valeur" ;"
          DoCmd.RunSQL (strsql)

End Sub


Un truc dans le genre, j'ai pas testé et la syntaxe du for... je ne suis pas totalement sûr...
0

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

Posez votre question
Cedwick Messages postés 6 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 12 avril 2010
12 avril 2010 à 17:24
Puis-je utiliser ma variable 'i'dans ma commande SQL :


For i = 1 to 2000 step 1
          strsql = "INSERT INTO NomTable (NomColonne) VALUES i ;"
          DoCmd.RunSQL (strsql)


Si oui, quelle en est la syntaxe ?
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
12 avril 2010 à 17:27
Je sais pas vraiment ça, mais si tu fais un NumAuto dans la création de ta table, le nombre va s'incrémenter automatiquement a chaque nouvelle saisi... ce serait peut être plus simple non?
0
Cedwick Messages postés 6 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 12 avril 2010
Modifié par Cedwick le 12/04/2010 à 17:29
La BD est déjà créer, la table a éditer aussi avec d'autre valeurs et elle est aussi liée (pour la synchro au serveur) je ne peux donc pas modifier le type des champs, malheureusement ...
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
12 avril 2010 à 17:36
Ha ok....
Donc pour répondre, je ne sais pas vraiment, il faut tester je pense, après il faudra peut être changer un peu la syntaxe avec des " ou ', je ne sais pas trop je sais juste que le VBA est légèrement chiant!! :P
0
Cedwick Messages postés 6 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 12 avril 2010
12 avril 2010 à 17:41
Ok merci je vais tester ca !
0
Cedwick Messages postés 6 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 12 avril 2010
12 avril 2010 à 18:34
OK ca marche tres bien

Merci encore
0