Remplir une colonne en utilisant une boucle

Fermé
Maude_84 Messages postés 3 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 18 novembre 2013 - Modifié par Maude_84 le 16/10/2013 à 16:19
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 - 21 oct. 2013 à 10:46
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

f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
Modifié par f894009 le 16/10/2013 à 16:35
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
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
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
Modifié par f894009 le 19/10/2013 à 11:27
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
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
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
21 oct. 2013 à 10:46
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