Ajout d'enregistrement table access en VBA

Résolu/Fermé
medbo Messages postés 551 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 24 mars 2019 - 6 mars 2013 à 16:07
 pfe - 1 mars 2016 à 22:13
Bonjour,

je suis entrain de faire une petite application en access. je suis coincé devant un problème que j'explique comme ceci :

dans l'application il y a un formulaire qui contient 02 champs de texte (texte1 et texte2)

et il y a une table (table1) qui reçois les valeurs que je vais saisir dans "texte1" et "texte2" dans la colonne "série" ( les valeurs sont de "texte1.value" à "texte2.value" ). exemple :

si je met dans texte1 la valeur 10 et dans texte2 la valeur 15, alors les valeurs qui vont être enregistrées dans la table1 dans la colonne série sont 10, 11, 12, 13, 14, 15 (soit 16 enregistrements)

je ne sais pas comment faire cela en VBA.

si quelqu'un sais comment s y prendre alors sont aide m'est très précieuse. J'ai besoin de votre aide.

merci à tout ceux qui m'aideront.



1 réponse

blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
6 mars 2013 à 17:01
Salut,

tu peux regarder ça et t'en inspirer pour commencer.

Ensuite, il suffit de mettre une boucle pour générer les numéros entre les deux bornes.
1
medbo Messages postés 551 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 24 mars 2019 29
6 mars 2013 à 19:58
Merci blux, c'est gentille de m'avoir répondu.

voici le code que j'ai utilisé :

Private Sub Commande4_Click()
Dim rst As Recordset
Dim DBTemp As DAO.Database
Set DBTemp = CurrentDb
Set rst = DBTemp.OpenRecordset("table1")
With rst
rst.AddNew
rst("série").Value = Me.Texte1.Value
If rst("série").Value < Me.Texte2.Value Then
Do While rst("série").Value + 1
Loop
End If
End With
MsgBox ("c'est fait !!")
End Sub

ça ne rajoute que la valeur de texte1

je vous informe que je suis novice en VBA;

je ne sais pas comment mettre une boucle.
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
Modifié par blux le 7/03/2013 à 08:58
je vous informe que je suis novice en VBA;
Tu as déjà fait un truc qui tient la route, c'est tout à fait encrourageant !

Pour la suite, on peut faire un truc comme ça (à corriger en fonction des erreurs de syntaxe qui j'aurais pu commettre) :

Private Sub Commande4_Click()  
Dim rst As Recordset  
Dim DBTemp As DAO.Database  
Set DBTemp = CurrentDb  
Set rst = DBTemp.OpenRecordset("table1")  
With rst  
    for i = Me.Texte1.Value to Me.Texte2.Value  
        rst("série").Value = i  
        rst.AddNew  
    next  
End With  
MsgBox ("c'est fait !!")  
End Sub

Le truc va quand même être de s'assurer que les insertions dans 'table1' sont correctement gérées au niveau clé primaire.
0