Access vba: atteindre un champ par variable
Résolu
Melycea
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je travaille sous Access97.
J'ai une table avec les champs 2000|2001|2002|...|2011
Et je calcule les données à y rentrer via une fonction vb.
Donc, évidemment, vu que le calcul est le même pour chaque champs, j'ai commencé à faire une boucle mais je n'arrive pas à atteindre les champs:
ça ne fonctionne pas (même si je met des cotes dans les crochets) et j'ai comme message d'erreur : "3265: élément non trouvé dans cette collection."
J'attend toutes vos suggestions avec impatience.
Merci
Je travaille sous Access97.
J'ai une table avec les champs 2000|2001|2002|...|2011
Et je calcule les données à y rentrer via une fonction vb.
Donc, évidemment, vu que le calcul est le même pour chaque champs, j'ai commencé à faire une boucle mais je n'arrive pas à atteindre les champs:
for i=2000 to 2011 valeurCalculee=...(en fonction de i) MaTable.edit MaTable![" & i & "]=valeurCalculee MaTable.update next i
ça ne fonctionne pas (même si je met des cotes dans les crochets) et j'ai comme message d'erreur : "3265: élément non trouvé dans cette collection."
J'attend toutes vos suggestions avec impatience.
Merci
A voir également:
- Access vba: atteindre un champ par variable
- Acer quick access - Forum logiciel systeme
- Quick Access service ✓ - Forum PC portable
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Access appdata - Guide
- Excel compter cellule couleur sans vba - Guide
6 réponses
Bonjour,
Voici un exemple type :
... j'ai laissé tous le code en commentaires que j'ai utilisé ...
Cdt
Lupin
Voici un exemple type :
... j'ai laissé tous le code en commentaires que j'ai utilisé ...
Option Compare Database Option Explicit ' Private Sub ExecuteInsertionNomChampDynamique() Dim DBCourant As Database Dim RecClone As Recordset Dim Message As String, NomChamp As String Dim Champ As Variant Dim Nombre As Long, Boucle As Long, Limite As Long Set DBCourant = CurrentDb() Set RecClone = DBCourant.OpenRecordset("Req_SelectionTous") ' For Each Champ In RecClone.Fields ' ' Capture nom du champ ' Message = Message & Champ.Name & vbCrLf ' Next ' ' MsgBox Message ' Message = "" ' RecClone.AddNew ' For Boucle = 2000 To Limite ' NomChamp = CStr(Boucle) ' RecClone.Fields(NomChamp).Value = Boucle ' Next Boucle ' RecClone.Update If (Not RecClone.EOF) Then RecClone.MoveLast RecClone.MoveFirst Nombre = RecClone.RecordCount End If Limite = 2012 RecClone.Edit For Boucle = 2000 To Limite NomChamp = CStr(Boucle) RecClone.Fields(NomChamp).Value = CStr(Boucle * 10) Next Boucle RecClone.Update RecClone.Close End Sub '
Cdt
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question