Cela ne semble pas fonctionner, je dois encore actualiser manuellement pour atteindre un nouveau "Ref_historique"
Cela ne semble pas fonctionner, je dois encore actualiser manuellement pour atteindre un nouveau "Ref_historique"
Essayons un scénario :
1/
Vous ouvrez le formulaire sur 1 seul enregistrement ayant comme Ref_historique = 3.
2/
Vous appuyez sur le bouton Ajouter.
3/
Vous saisissez dans le formulaire sur le nouvel enregistrement avec la même Ref_Historique.
A la fin de cette saisie, la seule façon d'actualiser ces changements, c'est soit d'appuyer sur ajouter, pour en créer un nouveau, soir sur le bouton actualiser tout : dans les 2 cas vous vous retrouverez alors avec un seul enregistrement lié au formulaire, le dernier avec comme ref 3.
Même raisonnement pour en ajouter un 2ème...
Donc, merci de me donner un cas de figure ou un scénario qui ne fonctionne pas...
Cdlt,
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
En fait lorsque j'ouvre le formulaire, je tombe sur un enregistrement ayant comme ref_historique = 3. Lorsque j'appuie sur le bouton ajouter et que je commence à entre la date c'est le ref_historique = 5 qui apparait et non pas le 3. Le 5 vient du fait que dans ma table historique j'ai un ref_historique égale à 3 et un à 5
Bonjour,
Essayer de baser le code avant insertion sur la requête "A faire", plutôt que sur la table "Historique" :
Cdlt,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Form_BeforeInsert(Cancel As Integer) Dim id As Long id = DMax("Id_Historique", "A faire") ' retient le dernier id : id max Me.Date_exécution = DLookup("Date_Exécution", "Historique", "Id_historique=" & id) ' mets à jour la date d'exécution avec la date du dernier id. Me.Ref_historique = DLookup("Ref_historique", "Historique", "Id_historique=" & id) Me.Personne = DLookup("Personne", "Historique", "Id_historique=" & id) Me.Remarque = DLookup("Remarque", "Historique", "Id_historique=" & id) End Sub
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Le même problème survient toujours, je vois d'abord la ref 3 puis quand je veux ajouter c'est la ref 5 qui apparait.
Actuellement, quand vous appuyez sur Ajouter et que vous saisissez une date, il va mettre à jour les champs (Réf_historique, date, personne, remarque) avec les données du dernier enregistrement saisi et présent dans la requête "A faire" (id_historique maximum).... j'aimerais créer un formulaire qui reprend les informations de la dernière exécution (date, personne, remarque) et de pouvoir créer en même temps un nouvel enregistrement dans lequel on inscrit les nouvelles valeurs mais il devrait garder la même référence (Réf_historique) que l'ancien...
Y-a-t'il une incohérence dans tout cela ?
Cdlt,
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
En fait le problème est que quand on va arriver sur le formulaire, celui-ci va nous dire ce qu'il y a faire aujourd'hui. Par exemple on voit nettoyage des mandrins (ref = 3) mais lorsque l'on va appuyer sur le bouton, on va modifier la vérification du réservoir hydraulique (ref = 5) et non pas le nettoyage des mandrins qui était affiché juste avant
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Essayez de modifier le code sur ajout comme suit :
Et le code avant insertion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub CmdAjouter_Click() Me.Tag = Me.Ref_historique Me.Requery DoCmd.GoToRecord acDataForm, Me.Name, acNewRec End Sub
Cdlt,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Form_BeforeInsert(Cancel As Integer) Dim id As Long id = DMax("Id_Historique", "A faire", "Ref_Historique=" & Me.Tag) ' retient le dernier id : id max Me.Date_exécution = DLookup("Date_Exécution", "Historique", "Id_historique=" & id) ' mets à jour la date d'exécution avec la date du dernier id. Me.Ref_historique = DLookup("Ref_historique", "Historique", "Id_historique=" & id) Me.Personne = DLookup("Personne", "Historique", "Id_historique=" & id) Me.Remarque = DLookup("Remarque", "Historique", "Id_historique=" & id) End Sub
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Ca fonctionne pour le premier mais après je ne peux plus voir le prochain enregistrement, c'est directement pour remplir un nouveau et quand je veux remplir le champ date du deuxième enregistrement, cela m'affiche une erreur : utilisation incorrecte de Null
le débogueur surligne ceci : id = DMax("Id_Historique", "A faire", "Ref_Historique=" & Me.Tag) ' retient le dernier id : id max
Quand vous actualisez la requête source il est possible que les enregistrements n'est pas les même numéros d'ordre :
Exemple, le 2ème enregistrement devient le 1er.
Concernant votre message d'erreur : pour éviter les valeurs nulles concernant la propriété tag du formulaire, il faut ajouter un test sur le code avant insertion pour n'exécuter la mise à jour des champs uniquement dans le cas ou le tag n'est pas vide :
Le code sur ajoute :
Et le code avant insertion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub CmdAjouter_Click() Me.Tag = Nz(Me.Ref_historique, "") Me.Requery DoCmd.GoToRecord acDataForm, Me.Name, acNewRec End Sub
Cdlt,
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 Form_BeforeInsert(Cancel As Integer) Dim id As Long If Nz(Me.Tag, "") <> "" Then id = DMax("Id_Historique", "A faire", "Ref_Historique=" & Me.Tag) ' retient le dernier id : id max Me.Date_exécution = DLookup("Date_Exécution", "Historique", "Id_historique=" & id) ' mets à jour la date d'exécution avec la date du dernier id. Me.Ref_historique = DLookup("Ref_historique", "Historique", "Id_historique=" & id) Me.Personne = DLookup("Personne", "Historique", "Id_historique=" & id) Me.Remarque = DLookup("Remarque", "Historique", "Id_historique=" & id) End If End Sub
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Cela me fait la même erreur avec le null avec ceci en surligné : id = DMax("Id_Historique", "A faire", "Ref_Historique=" & Me.Tag) ' retient le dernier id : id max
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Je viens de vérifier et recoller au cas où mais oui cela me fait une erreur lorsque je veux inscrire la date du deuxième enregistrement.
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Pas de soucis, la voici : Plan de maintenance2.rar
Bonjour,
Essayez ce code avant insertion :
Cdlt,
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 Private Sub Form_BeforeInsert(Cancel As Integer) Dim id As Long If Nz(Me.Tag, "") <> "" Then id = DMax("Id_Historique", "Historique", "Ref_Historique=" & Me.Tag) ' retient le dernier id : id max Me.Date_exécution = DLookup("Date_Exécution", "Historique", "Id_historique=" & id) ' mets à jour la date d'exécution avec la date du dernier id. Me.Ref_historique = DLookup("Ref_historique", "Historique", "Id_historique=" & id) Me.Personne = DLookup("Personne", "Historique", "Id_historique=" & id) Me.Remarque = DLookup("Remarque", "Historique", "Id_historique=" & id) End If End Sub
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Je n'ai plus d'erreur mais je dois de nouveau actualiser tout pour changer de ref_historique sinon remet le 3 à chaque fois que je crée un nouveau
Testez voir cette base...
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
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