Bonjour,
Sur access2000, j'ai un form pour lequel je ne souhaite pas qu'access enregistre automatiquement les données. J'ai suivi la méthode indiquée dans la faq : ne pas faire un form lié mais baser la source de données à partir d'un recordset. Pour me permettre de décider quand les données doivent être modifiables ou non, j'ai utilisé un recordset DAO (cela est d'ailleurs mal indiqué dans la faq).
1 2 3 4 5 6 7
| Dim db As DAO.Database
Dim rsdao As DAO.Recordset
Set db = CurrentDb
Set rsdao = db.OpenRecordset("SELECT * FROM intervention", dbOpenDynaset)
Set Me.Recordset = rsdao
Me.AllowEdits = False |
Je joue sur AllowEdits pour passer de Lecture seule à LectureEcriture.
J'ai également un sous formulaire qui est pour la même raison basé sur un autre recordset DAO.
Set rsdao1 = db.OpenRecordset("SELECT id_intervention FROM intervention", dbOpenDynaset)
Le sousformulaire est en mode feuille de données.
Pour synchroniser le form et le sousform, j'utilise le champ id_intervention. Cela marche si form et sousform sont classiquement liés tous deux à une table ou une requête, en utilisant la fenêtre propriétés.
Problème : malgré tentatives et recherches, je n'arrive pas dans ce cas où je définis la propriété Recordset par le code à synchroniser formulaire et sous formulaire. Le sous formulaire contient toutes les données, sans aucun filtre.
pourquoi ????
Quelle solution ???
Merci pour votre aide!
Partager