Remplir une colonne en utilisant une boucle

Maude_84 Messages postés 3 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je suis débutante en programmation vba pour access
j'aimerais savoir comment remplir la colonne d'une table en utilisant une boucle.

Merci déjà

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    code pour un bouton de commande, a adapter a votre table

    ex:
    Private Sub Cmd_Remplissage_Click()
    Dim db As Database
    Dim rs As Recordset

    'ouverture de la table
    Set rs = CurrentDb.OpenRecordset("Table1")
    'test si table vide
    If Not rs.EOF And Not rs.BOF Then
    rs.MoveLast
    End If
    'boucle pour ecriture
    For x = 1 To 10
    'ajout nouvel enregistrement
    rs.AddNew
    'ecriture champ Nombre
    rs.Fields("Nombre") = x
    'mise a jour
    rs.Update
    Next x
    End Sub

    Quel access avez-vous ???
    1
    1. Maude_84
       
      Bonjour,
      Merci déjà pour ton aide,j'ai access 2003.

      Mais, je veux précisément remplir la ligne"i" de la colonne "j " d'une table tbl avec une chaine de caractère.
      comment désigner la ligne à l'aide d'une boucle quand la colonne est fixée?
      en excel on écrit Cells(i,1) pour désigner la ligne i de la colonne 1 et en access?
      Merci...........
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      la table est deja remplie ou pas ????

      Mais, je veux précisément remplir la ligne"i" de la colonne "j "

      et

      on écrit Cells(i,1) pour désigner la ligne i de la colonne 1 et en access

      petit probleme de langage: vous voulez ecrire (mise a jour) d'un champ (colonne) a une position donnee (ligne) ----> Oui ou Non
      0
    3. Maude_84
       
      Bonjour,
      la table est déjà remplie.

      vous voulez ecrire (mise a jour) d'un champ (colonne) a une position donnee (ligne)
      La réponse est oui.
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      la methode la plus simple:

      exemple: (un bouton de commande)

      la boucle de mise a jour, peut etre remplacee par la valeur de la cle primaire si une seule mise a jour

      'methode Seek recherche sur cle primaire
      Private Sub Commande2_Click()
      Dim DB As Database, rs As Recordset
      Set DB = CurrentDb
      Set rs = DB.OpenRecordset("Table1")

      'boucle pour mise a jour
      For x = 21 To 31
      'cle primaire
      rs.Index = "PrimaryKey"
      'recherche dans la colonne cle primaire un champ egal a x
      rs.Seek "=", x
      'test trouvé ou pas
      If rs.NoMatch Then
      MsgBox "pas trouvé!!!!!"
      Else
      MsgBox "Trouvé"
      'mode edition du champ
      rs.Edit
      'ecriture du champ
      rs.Fields("Nombre") = x
      'mise a jour
      rs.Update
      End If
      Next x
      End Sub

      il y a deux autres methodes: .findfirst et requete SQL, tout dépend de votre niveau de connaissance
      0