Fait tourner pour voir![]()
Voilou je fait tourner
Voici la pièce jointe avec les nouveaux ajouts de ces posts
OK,
bon maintenant il faut ajouter en bas de ton formulaire Vue un bouton pour créer une nouvel enregistrement (tu mettras ton parametre IdMVT à 0)
On passera à l'alimentation de de FmMvt maintenant![]()
Ok, il me donne 86 comme valeur, qui est l'IDMvt du bénéficiaire 1450 TC 79
c'est bien ce que tu cherches, donc OK
Maintenant dans ton formulaire qui s'ouvre, tu vires toutes les requetes qui alimentent tes controls![]()
Bien avec l'IDMvt je suppose que je peux récupérer la Valeur CompteurD et bénéficiaire entrés non ?
Tu veux dire que je supprime les requêtes qui alimentent les contrôles du FmMvt ?
Les sources non, il faut que mes contrôles soient indépendants ?
Les sources oui, tu vires les requetes SQL qui alimentent tout ca
On va les alimenter directement dans notre code![]()
Bonjour Jean Philippe,
J'ai donc mis tous les champs en indépendants et aucun source n'alimente plus ce formulaire.
Que dois-je faire maintenant ?
Cordialement,
Sylvain
Dans ton evenement Form_Load maintenant, on va alimenter tous ces champs en partant de l'IDMvt qui a été mis dans la table _PARAMS_
j'ai mis en exemple la récupération d'une date si je me souviens bien.
Tu fais la meme chose pour l'ensemble des controlsz de ton formulaire![]()
Serais-ce ceci ? :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Form_Load() Dim ID_COUNTRY As Double ID_COUNTRY = Nz(GetParam("ID_COUNTRY"), 0) If ID_COUNTRY <> 0 Then 'load existing data Me.Txt_NM_COUNTRY = Nz(DLookup("NM_COUNTRY", "OLY_COUNTRY", "ID_COUNTRY=" & ID_COUNTRY), "") Me.Txt_DESC_COUNTRY = Nz(DLookup("DESC_COUNTRY", "OLY_COUNTRY", "ID_COUNTRY=" & ID_COUNTRY), "") Else 'create new one Me.Txt_NM_COUNTRY = "" Me.Txt_DESC_COUNTRY = "" End If End Sub
Ca c'est le code dans mon cas de figure oui, il te faut juste l'adapter à ta situation![]()
Ok, donc je change "ID_COUNTRY" par "IDMvt"
etPar mes champs de formulaire, comme j'en ai 6 , zdtDateSortie, zdlBeneficiaire, CompteurA, CompteurD, PompeD, PompeA, je devrais donc les retrouver dans le code, exact ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Me.Txt_NM_COUNTRY = Nz(DLookup("NM_COUNTRY", "OLY_COUNTRY", "ID_COUNTRY=" & ID_COUNTRY), "") Me.Txt_DESC_COUNTRY = Nz(DLookup("DESC_COUNTRY", "OLY_COUNTRY", "ID_COUNTRY=" & ID_COUNTRY), "")
Ce qui donnerais,
Est-ce correcte ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub Form_Load() Dim IDMvt As Double IDMvt = Nz(GetParam("IDMvt"), 0) If IDMvt <> 0 Then 'load existing data Me.zdtDatesortie = Nz(DLookup("Datesortie", "TbMvt", "IDMvt=" & IDMvt), "") Me.zdlBeneficiaire = Nz(DLookup("Beneficiaire", "TbMvt", "IDMvt=" & IDMvt), "") 'Me.zdtCompteurA s'auto alimente si absence de données par la plus recente valeur de CompteurD du beneficiaire selectionné Me.zdtCompteurA = Nz(DLookup("CompteurA", "TbMvt", "IDMvt=" & IDMvt), "") Me.zdtCompteurD = Nz(DLookup("CompteurD", "TbMvt", "IDMvt=" & IDMvt), "") Me.zdtPompeD = Nz(DLookup("PompeD", "TbMvt", "IDMvt=" & IDMvt), "") Me.zdtPompeA = Nz(DLookup("PompeA", "TbMvt", "IDMvt=" & IDMvt), "") Else 'create new one Me.zdtDatesortie = "" Me.zdlBeneficiaire = "" 'Me.zdtCompteurA s'auto alimente si absence de données par la plus recente valeur de CompteurD du beneficiaire selectionné Me.zdtCompteurA = "" Me.zdtCompteurD = "" Me.zdtPompeD = "" Me.zdtPompeA = "" End If End Sub
Les valeurs par défaut pourront etre modifiées si nécessaire, mais moi ca me convient oui
Tu essaies de double cliquer dans ton formulaire vue pour voir comment ca s'ouvre ?![]()
Cela ouvre avec des données entrées, correspondantes au choix de la zone de clique. GÉNIAL
Quelle est la suite maintenant ? Récupérer la dernière valeur entrée pour le champ CompteurD et l'attribuer comme valeur au champ CompteurA si on n'y ajoute aucune valeur ?
Toujours en fonction bien sur du bénéficiaire sélectionne.
La liste des bénéficiaire peut maintenant etre alimentée par ta requete
On ajoutera ensuite sur l'évènement Afterchange de ces bénéficiaires la mlise à jour automatique du compteurD![]()
Celle-ci ?
Dans le "FmMvtVues" c'est cela ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, Nz(DMax("IdMvt","TbMvt","Beneficiaire=[Forms]![FmMvt]![zdlBeneficiaire] "),0) AS CompteurA, TbMvt.CompteurD, TbMvt.PompeD, TbMvt.PompeA, [CompteurD]-[CompteurA] AS TotalKm, [PompeA]-[PompeD] AS TotalConso FROM TbMvt;
Non,
ta zdlbeneficiaire avec :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part SELECT TbVehicules.Immat FROM TbVehicules UNION SELECT TbAutres.Nom FROM TbAutres
on ne change pas ce que tu y avais mis![]()
Oki Doki, donc rien ne change.
Alors la suite des festivités sera ? L'évènement Afterchange ?
Cordialement
Yes, et il faut voir aussi dans quelle mesure tu acceptes des modifications de la part de ton utilisateur.
S'il double-clic sur un élément pour le changer, tu dois décider s'il peut tout modifier ou non (il va falloir jouer sur les Enabled de tes controls)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager