Access 97, tout bête
Fermé
Utilisateur anonyme
-
13 août 2003 à 12:05
blux Messages postés 26536 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 - 13 août 2003 à 14:33
blux Messages postés 26536 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 - 13 août 2003 à 14:33
A voir également:
- Access 97, tout bête
- Pense bete - Guide
- Indicatif +97 - Guide
- Acer quick access - Forum Logiciels
- Modulo 97 ✓ - Forum Programmation
- Access appdata - Guide
4 réponses
Sous google tape +vba +acess +requete c la seul aide que je peux t apporter normalement tu doit trouver ton bonheur!
A+ Omar cvhenibi
A+ Omar cvhenibi
blux
Messages postés
26536
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
19 décembre 2024
3 317
13 août 2003 à 13:54
13 août 2003 à 13:54
Salut,
il suffit de définir un recordset qui est le nom de ta table pour travailler dessus.
Un petit exemple :
Dim Db As Database
Dim Rs As Recordset
Dim MonCtl As Control
Dim Element As Variant
...
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("Liste_Composition", dbOpenDynaset)
Set MonCtl = Forms!principal!Ajout_Total_Liste
For Each Element In MonCtl.ItemsSelected
Cont = MonCtl.Column(0, Element)
'MsgBox Cont
On Error Resume Next
With Rs
.AddNew
!Num_liste = Liste
!Num_Contenu = Cont
.Update
.Requery
End With
Select Case Err.Number
Case 0
Case 3022
MsgBox "La liste suivante existe déjà et n'est pas prise en compte :" & vbCrLf _
& MonCtl.Column(1, Element) & " " & MonCtl.Column(2, Element) _
& " " & MonCtl.Column(3, Element) & " " & MonCtl.Column(4, Element) & " " _
& MonCtl.Column(5, Element) & vbCrLf, vbCritical
Resume Next
Case Else
MsgBox Err.Number & Chr(13) & Err.Description
GoTo Fin:
End Select
Next
Rs.Close
Db.Close
Set Rs = Nothing
Set Db = Nothing
Ici, la table dans laquelle on veut ajouter des données s'appelle liste_composition et elle comprend les champs num_liste et num_contenu.
On va voir ce que l'utilisateur a sélectionné dans le formulaire 'ajout_total_liste' et on écrit dans la table toutes les données cochées avec la méthode 'addnew'
Va faire un tour sur l'aide de recordset, tu trouveras plus de précisions.
A+ Blux
il suffit de définir un recordset qui est le nom de ta table pour travailler dessus.
Un petit exemple :
Dim Db As Database
Dim Rs As Recordset
Dim MonCtl As Control
Dim Element As Variant
...
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("Liste_Composition", dbOpenDynaset)
Set MonCtl = Forms!principal!Ajout_Total_Liste
For Each Element In MonCtl.ItemsSelected
Cont = MonCtl.Column(0, Element)
'MsgBox Cont
On Error Resume Next
With Rs
.AddNew
!Num_liste = Liste
!Num_Contenu = Cont
.Update
.Requery
End With
Select Case Err.Number
Case 0
Case 3022
MsgBox "La liste suivante existe déjà et n'est pas prise en compte :" & vbCrLf _
& MonCtl.Column(1, Element) & " " & MonCtl.Column(2, Element) _
& " " & MonCtl.Column(3, Element) & " " & MonCtl.Column(4, Element) & " " _
& MonCtl.Column(5, Element) & vbCrLf, vbCritical
Resume Next
Case Else
MsgBox Err.Number & Chr(13) & Err.Description
GoTo Fin:
End Select
Next
Rs.Close
Db.Close
Set Rs = Nothing
Set Db = Nothing
Ici, la table dans laquelle on veut ajouter des données s'appelle liste_composition et elle comprend les champs num_liste et num_contenu.
On va voir ce que l'utilisateur a sélectionné dans le formulaire 'ajout_total_liste' et on écrit dans la table toutes les données cochées avec la méthode 'addnew'
Va faire un tour sur l'aide de recordset, tu trouveras plus de précisions.
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Utilisateur anonyme
13 août 2003 à 14:10
13 août 2003 à 14:10
Salut à toutes et tous,
Le post de blux manque un peu d'explication:
Pour écrire des données dans une table sous VBA, il faut
1. Définir les variables dont tu auras besoins
Dim Db As Database (un pointeur vers ta DB)
Dim Rs As Recordset (un pointeur vers la table de cette DB)
2. Tu initialises ces variables:
Set Db = CurrentDb (Db est la DB Access sur laquelle tu travailles)
Set Rs = Db.Db.OpenRecordset("Liste_Composition", dbOpenDynaset)
"Liste_Composition" est le nom de la table. Rs pointe sur cette table.
3. Pour ajouter un enregistrement à la table, tu utilises:
Rs.AddNew
4. Pour référencer un champ de cette table tu utilises:
Rs("Nomduchamp") = valeur que tu veux lui donner
5. Tu fais une mise à jour de la table:
Rs.Update
J'espère que ça te permetra de commencer.
:-)
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
Le post de blux manque un peu d'explication:
Pour écrire des données dans une table sous VBA, il faut
1. Définir les variables dont tu auras besoins
Dim Db As Database (un pointeur vers ta DB)
Dim Rs As Recordset (un pointeur vers la table de cette DB)
2. Tu initialises ces variables:
Set Db = CurrentDb (Db est la DB Access sur laquelle tu travailles)
Set Rs = Db.Db.OpenRecordset("Liste_Composition", dbOpenDynaset)
"Liste_Composition" est le nom de la table. Rs pointe sur cette table.
3. Pour ajouter un enregistrement à la table, tu utilises:
Rs.AddNew
4. Pour référencer un champ de cette table tu utilises:
Rs("Nomduchamp") = valeur que tu veux lui donner
5. Tu fais une mise à jour de la table:
Rs.Update
J'espère que ça te permetra de commencer.
:-)
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
blux
Messages postés
26536
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
19 décembre 2024
3 317
13 août 2003 à 14:33
13 août 2003 à 14:33
ben c'est surtout que le 'coller', n'a pas gardé les indentations.
pis je veux pas donner trop d'explications, c'est plus glorifiant, à mon avis, de s'investir dans l'analyse du code...
A+ Blux
pis je veux pas donner trop d'explications, c'est plus glorifiant, à mon avis, de s'investir dans l'analyse du code...
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"