essaie de tester dans un premier temps
Code : Sélectionner tout - Visualiser dans une fenêtre à part Nz(DMax("IdMvt","TbMvt","Beneficiaire=[Forms]![FmMvt]![zdlBeneficiaire] "),0)
essaie de tester dans un premier temps
Code : Sélectionner tout - Visualiser dans une fenêtre à part Nz(DMax("IdMvt","TbMvt","Beneficiaire=[Forms]![FmMvt]![zdlBeneficiaire] "),0)
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Me donne 61 qui est l'IDMvt de la deuxième ligne. ?!
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 CompteurD, TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso FROM TbMvt;
Je te joint ici le zip la requête est (R1) liée à FmMvt, car là je ne comprends plus rien je suis perdu
OK,
donc on fait un peu fausse route là.
Ton objectif final c'est de faire quoi exactement ? Quel est le lien avec le formulaire qui n'est pas unique mais continu...
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Le formulaire à 8 champs, 6 + 2 calculés
les 6 premiers :
Date | Beneficiaire | Kms Arrivée | Kms Départ | Pompe Départ | Pompe Fin
Ce que je souhaiterais c'est que dans les champs "Kms Arrivée" s'auto-alimentent avec la valeur entrée ds "Kms Départ" ajoutée précédemment pour un "Beneficiaire", tout en ayant la possibilité qd le Champ "Kms Arrivé" est = à 0 de pouvoir ajouter manuellement une valeur. l'image ci-jointe.
Jamais compris les idées compliquées de présentation dans certains formulaires moi
On peut garder la même fonction trouvée plus tôt dans cette discussion pour récupérer la donnée.
Reste à préciser dans quel cas on souhaite qu'elle soit lancée (Changement de bénéficiaire, mais lors d'un ajout seulement ? à tout moment ?)
Je pense que ce n'est pas tant la facon de trouver la valeur qui pose problème, mais plus la logique du formulaire
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Bonjour Jean-Philippe,
En général c'est les débutants comme moi qui se compliquent la vie
Comme si ce n'était pas déjà assez difficile comme ça
Le but rechercher c'est que quand tu sélectionne une nouvelle ligne et si tu n'entre aucune donnée dans le premier champ "CompteurD" alors une fonction doit récupérer la dernière valeur entrée dans le champ "Compteur" si elle existe, pour le bénéficiaire sélectionne.
Le pire c'est que sous Excel j'ai la même chose et l’arrives pas à le mettre sous un format Access, je te met le fichier xls ici, si tu a le temps pourrais tu y jeter un œil pour comprendre mieux ce que je recherche à faire sous Access.
Comment verrais tu cela alors ?
Très cordialement,
Sylvain
En fait, j'ai tendance à utiliser un fomulaire continu mais sans autoriser l'ajout d'enregistrement dans ce formulaire, et d'inciter l'utilisateur à cliquer sur un bouton pour créer un nouvel enregistrement via un autre formulaire. C'est dans ce nouveau formulaire que tu aurais "l'intelligence" de chercher la valeur dont on parle
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Jean-Philippe,
Pour moi cela ce compliques, comment mettre cela en place ?
Pourrais tu me donner un coup de pouce stp, car c'est qq ch de très important pour moi de réussir à mettre en place cela et j'en suis tout bonnement incapable
Cordialement,
Sylvain
Par rapport à ton formulaire actuel :
- tu ajoutes un bouton (en bas à droite par exemple) qui ouvrira l'autre formulaire dont je t'ai parlé
- dans le fomulaire avec la liste, tu passes la propriété "Ajout Autorisé" à "Non"
- dans ton formulaire d'ajout, tu mets les memes controls que ton formulaire principale, mais tu mets ton "affichage par défaut en "formulaire unique" (on est sensé n'avoir qu'un ajout à faire)
- ce formulaire permettra l'insertion d'un nouvel enregistriment dans la table
Je te mets en PJ un exemple avec 1 table exemple et les 2 formulaires
(double clic dans la liste des pays pour ouvrir un pays existant, clic sur le bouton pour en créer un nouveau)
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
ça me donne une erreur de compilation au niveaupour
Code : Sélectionner tout - Visualiser dans une fenêtre à part As New ADODB.Recordset
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private Sub Btn_Validate_Click()
Hehe, regarde dans les références, j'ai du utilisé une version plus récente d'Access que celle installée sur ton poste, mes confuses
Dans les références, certaines sont peut-être flaggées comme "MANQUANT", il faut choisir la version disponible sur la machine.
Pour ADODB, la référence est Microsoft ActiveX Data Objects 2.x Library.
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Bonjour Jean Philippe,
J'ai bien créé mes deux tables, une en mode vue et l'autre en mode ajout,
J'ai du mal à comprendre ton code pour ajouter la nouvelle ligne à la table.
Et je te dis pas pour afficher la dernière valeur entrée pour un bénéficiaire, tout en gardant en mémoire que si on a ajouter une valeur au champ CompteurD alors on ne va pas chercher cette valeur. Je suis perdu.
Pourrais tu m'aider dans un pas à pas pour que j’arrive à avancer ?
Cordialement,
sylvain
Tu veux commencer par quel bloc :
- l'ajout dans la table ?
- la récupération du dernier km ?
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Jean Philippe,
avant tout merci de tout coeur.
Et bien commençons par l'ajout des données.
Très cordialement,
Sylvain
Ok,
ajouter les données peut se faire de plusieurs facons :
- requete INSERT INTO que tu executes
- manipulation des données par un recordset
dans mon cas de figure, j'ai utilisé le recordset:
l'ajout d'un enregistrement se fait avec le AddNew, et se valide par le Update.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim RS As New ADODB.Recordset Dim strSQL As String strSQL = "SELECT * FROM OLY_COUNTRY" RS.Open strSQL, CurrentProject.Connection, adOpenDynamic, adLockOptimistic RS.AddNew RS.Fields("NM_COUNTRY") = Me.Txt_NM_COUNTRY RS.Fields("DESC_COUNTRY") = Me.Txt_DESC_COUNTRY RS.Update RS.Close
OK ?
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Ok,
ce qui donnerais dans mon cas :
C'est ça ?
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 Private Sub BtnAjout_Click() Dim RS As New ADODB.Recordset Dim strSQL As String strSQL = "SELECT * FROM TbMvt" RS.Open strSQL, CurrentProject.Connection, adOpenDynamic, adLockOptimistic RS.AddNew RS.Fields("Datesortie") = Me.Datesortie RS.Fields("Beneficiaire") = Me.Beneficiaire RS.Fields("CompteurA") = Me.CompteurA RS.Fields("CompteurD") = Me.CompteurD RS.Fields("PompeD") = Me.PompeD RS.Fields("PompeA") = Me.PompeA RS.Update RS.Close End Sub
Yes.
On passe à la partie initialisation des valeurs à l'ouverture ?
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
mais ça me donne une erreur qd je cliques : Erreur de compilation, Type défini par l'utilisateur non défini ?!?
C'est peut être normal à ce stade ?
quelle ligne ?
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
La première est indiquée par une flèche jaune et mis en surbrillance jaune, la seconde est en surbrillance bleue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Private Sub BtnAjout_Click() Dim RS As New ADODB.Recordset
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