Sauvegarde de donnée

Résolu/Fermé
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023 - 1 déc. 2014 à 14:25
 Tessel75 - 7 janv. 2015 à 11:44
Bonjour,
Je ne pense pas que ma question soit déjà poser car elle est basique et sans difficulté pour des pros. Mais voici ce que j'aimerai faire : Je souhaiterai avoir une interface formulaire associer à une table mais que si je change une date de validation celle-ci soit sauvegarder dans une autre table, par exemple car je ne veux pas qu'elle soit perdu. Mais au contraire je souhaite voir si à la fin de l'année mes délais fixé était bon et si non combien d'écart entre la premier date et la deuxième
A voir également:

18 réponses

Bonjour,
La façon dont tu poses ta question n'est vraiment pas claire. Je ne comprends pas du tout ce que tu veux.
Pourquoi entrer cette date sur une 2ème table et non pas simplement avoir un 2ème champ dans la même table pour enregistrer cette date "à garder".
Merci d'être plus claire.
1
Bonjour,
C'est bien ce que je disais, il te faut autant de dates que celles dont tu as besoin : DateCommande, DateLivraisonPrevue, DateLivraisonEffective
Après tu peux prévoir une date de consultation mais seulement dans la requête qui ramène les données consultées sous la forme d'un champ calculé de la forme "Delai = Date() - DateCommande" ou "Delai = Date() - DateLivraisonPrevue "
Dans tous les cas tu ne peux pas échapper à tes 2 dates, "DateLivraisonPrevue", et "DateLivraisonEffective"
En espérant répondre à ta question.
Bonne suite
1
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
3 déc. 2014 à 12:18
Re,
Merci ta réponse me convient,
Mais peut-on l'automatiser un peu plus ex:
Que losqu'on rentre une date dans la colonne Date livraison prévu, qu'elle se mette par deffaut dans DateLivraisonEffective afin de ne pas reporter à chaque fois les données.
Merci encore.
0
Bonjour,
Un sous-formulaire est un formulaire à l'intérieur d'un formulaire. Par Exemple, tu as le formulaire des clients et à l'intérieur de chaque occurrence les commandes ou les livraisons pour chacun.
Pour nommé l'écriture sera: "Formulaires!Clients!Livraisons.Formulaire!Date" ou bien en anglais, "Forms!Clients!Livraisons.Form!Date"
Donc si tu écrit " Form!AAA!BBB " , il est normal que Access ne reconnaisse pas les ordres.

Pour ce qui est des majuscules, cela n'a aucun effet; donc s'il y a erreur, elle n'est pas là. Mais peut-être que si tu donnais la peine de donner des vrais noms à tes objets dans ta base plutôt que garder les noms-systême, les choses seraient plus faciles.
Pour le reste, je ne peux rien dire, mais si la procédure ne fait pas ce qui est demandé, c'est qu'il y a quelque chose ne va pas.
Bon courage.
1
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
2 déc. 2014 à 09:53
Bonjour Tessel75,
Avant tout merci pour ton aide et ta réponse, mais mon sujet n'est pas simple, je dois aussi créer une requête date() et date()+1 car deux fois par jour je dois envoyer un état et le problème que je rencontre est que si je fais une deuxième colonne comment faire pour quela premiere colonne avec la date obsolette se dévalide et que je n'envoi que la date de report( deuxieme colonne). Peut-être avec une fonction Si mais je n'y connais rien en VBA.
Mais pour le côté esthétique j'aimerai qu'un seul champ dans mon formulaire car ta proposition me fait rajouter un autre champs.
Que me conseille-tu ?
merci pour ton retour?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,
Toujours pas compris, désolé!
Le plus simple est d'expliquer exactement ce que tu veux faire : Etape 1, Etape 2, Etape 3, etc, sans le mélanger avec des considérations sur ce qui se passera si on fait comme çi ou comme ça, et sur ta méconnaissance de VBA, parce que cela n'a pas d'importance pour le moment.
A plus tard
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
3 déc. 2014 à 09:51
Bonjour,
ok etape 1, table avec formulaire associer avec la date de livraison à mettre a jour.
Etape deux, chaque modification de date doit etre rentrée pour calculer la différence entre date prévu et réelle (à partir du même formulaire).
Etape 3 extract des données journalier et jour +1 (état)

Merci de ton aide.
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
3 déc. 2014 à 16:25
Re,
Merci ta réponse me convient,
Mais peut-on l'automatiser un peu plus ex:
Que losqu'on rentre une date dans la colonne Date livraison prévu, qu'elle se mette par deffaut dans DateLivraisonEffective afin de ne pas reporter à chaque fois les données.
Merci encore.
0
Bonjour,
"Mais peut-on l'automatiser un peu plus"
Beaucoup de choses sont possibles, il suffit d'y mettre l'énergie si c'est nécessaire.
Ici, il suffit d'avoir une petite macro, ou un petit code, qui sera de la forme :
"Forms!NomDuFormulaie![DateLivraisonEffective] = Forms!NomDuFormulaie![DateLivraisonPrevue] " , à placer en propriété AprèsMàJ.
C'est très simple, la seule chose est que ce n'est pas judicieux du tout. Parce que si le manipulateur oublie, ou n'y prend garde, d'entrer la date de livraison, plusieurs mois plus tard il sera impossible de savoir si la DateLivraisonEffective est une date par défaut éventuellement inexacte, ou si la date indiquée est la date volontairement entrée. Mieux vaut laisser cette date vide et considérer par convention que si le contrôle "DateLivraisonEffective" est vide cela signifie qu'elle est identique à la date de livraison prévue, et donc que le calendrier a été respecté.
Bonne suite.
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
4 déc. 2014 à 11:17
Bonjour,
Merci pour ta réponse,et pour ta patience,
En fait dans mon formulaire "DateLivraisonPrévue" ne sera pas visible.
je souhaiterai que si aucunes dates n'est inscrite dans la table ni dans "DateLivraisonPrévue" ni dans "DateLivraisonEffective"
Losqu'un utilisateur entre la date dans le formulaire date effective elle se copie dans ma table "dateLivraisonPrévue"
Mais que si il la modifie elle ne soit pas copier à nouveau.

Est-ce possible?
Merci
0
Bonjour,
Oui bien sûr que ta demande est réalisable, il suffit d'ajouter une condition: If IsEmpty(Forms!NomDuFormulaie![DateLivraisonPrevue]) = True Then Forms!NomDuFormulaie![DateLivraisonEffective] = Forms!NomDuFormulaie![DateLivraisonPrevue]
Mais il me semble que le problème n'est pas là, il est dans le fait qu'il faut faire SIMPLE, surtout en étant débutant. Je t'ai dit qu'il ne fallait pas avoir 36 tables mais qu'une seule suffisait.
Par ailleurs "En fait dans mon formulaire "DateLivraisonPrévue" ne sera pas visible. ", je ne vois pas trop l'intérêt, sinon la faire apparaître dans un autre formulaire, mais alors la réponse est qu'il n'a jamais été dit que tous les champs devaient être apparent dans tous les formulaires; il suffit alors de n'entrer que les champs qu'on veut rendre visible. Mais c'est là bien des complications pour pas grand chose.
Bonne suite.
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
11 déc. 2014 à 19:06
Je viens de tester tout fonctionne super
MERCI
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
14 déc. 2014 à 18:31
Désolé j'ai clôturé le mauvais sujet,
la procédure If ne fonctionne pas il manque un objet?
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
14 déc. 2014 à 21:11
IsEmpty(Forms!NomDuFormulaie![DateLivraisonPrevue]) = True Then
0
Bonsoir,
La syntaxe des boucles If... est :
If A then B (sur une seule ligne)
sinon sur plusieurs lignes :
If A then
... B ...
ElseIf C then
... D ...
Else
... E ...
End if


Dans l'écriture donnée " If IsEmpty(Forms!NomDuFormulaie![DateLivraisonPrevue]) = True Then Forms!NomDuFormulaie![DateLivraisonEffective] = Forms!NomDuFormulaie![DateLivraisonPrevue] "
Il faut comprendre qu'il ne s'agit que d'une seule ligne parce que le cadre de CCM ne permet pas d'étaler sur la continuité,
et IsEmpty(A) = true est une seule expression, au besoin à voir dans le didacticiel de Access, mais donne le résultat Vrai/faux
Mon expression est correcte, je suppose que tu l'as mal reproduite.
Bonne suite
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
15 déc. 2014 à 08:48
Merci pour ta précision, elle etait justifier car je l'avais saisie sur plusieurs lignes en effet.
Mais maintenant erreur de syntaxe?

Public Sub Validation_FOT()

If IsEmpty(Forms!OPECardAC_Actif![FOT]) = True Then Forms!OPECardAC_Actif![FOTR] = Forms!OPECardAC_Actif![FOT] "

End If

End Sub

Voila comment je ai écrit le code. (sur une seule ligne.

Merci de ton aide.
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
15 déc. 2014 à 08:51
Je l'ai ecrit dans un module standard nomé: Validation_FOT
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
15 déc. 2014 à 09:28
je viens de modifier comme suit:
Public Sub Validation_FOT()

If IsEmpty(Forms!OPECardAC_Actif![FOT]) = True Then Forms!OPECardAC_Actif![FOTR] = Forms!OPECardAC_Actif![FOT]

End Sub
Plus d'erreur mais ca ne fonctionne pas?

Merci de ton aide.
0
Bonjour,
Bien sûr que ça ne marche pas, il y a une erreur ENORME que tu aurais dû corriger de toi même, ce qui prouve qu'il faut aussi lire en français ce qu'on écrit. Si tu relis ce que j'avais mis comme expression, tu verras que ça donne: "Si EstVide(...!...!DateLivraisonEffective) alors ...!...!DateLivraisonPrevue= ...!...!DateLivraisonEffective"
Il est évident qu'il faut inverser le 2ème terme :
"Si EstVide(...!...!DateLivraisonEffective) alors ...!...!DateLivraisonEffective= ...!...!DateLivraisonPrevue"
Bonne suite
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
16 déc. 2014 à 11:06
Bonjour,

ok Merci pour l'info,
Je suis désolé mais je suis débutant en VBA, et je ne connais pas l'ordre des imbrications! Je ne saisit pas encore la logique de ce language.

Je comprends que mes questions soient stupides mais merci encore pour ta patience envers moi.

Je vais laisser tomber pour le moment et demander une formation, car je ne connais pas les bases du language.

Merci encore bonne journée.
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
6 janv. 2015 à 09:53
Bonjour,
Au cas ou j'ai créer une nouvelle DB

J'ai créer un module (module1)
et inscrit le code suivant:

Sub D()
If IsEmpty(Forms!table1![test2]) = True Then Forms!table1![test2] = Forms!table1![test]
End Sub

Mais ca ne copie rien je ne comprends pas ou est mon erreur!

Merci de votre aide.
Cordialement.
0
Bonjour,
Ecrite comme ça l'expression est correcte; il faut donc chercher ailleurs.
Juste une idée: es-tu sûr que "Forms!table1![test2]" est vraiment vide?
Il ne faut pas oublier que "vide" veut dire sans aucune donnée, mais " " (espace) est une donnée, elle n'est pas vide.
Sinon pour comprendre ce qui se passe, il faut mettre un point d'arrêt et lancer un pas à pas, et regarder les étapes suivies.
Bonne suite
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
Modifié par Sebas31t le 6/01/2015 à 13:11
Bonjour,
Je viens de lancer un pas a pas détailler,
Le pas à pas s'arrete directement au début du code et un message d'erreur apparait:
Erreur d'exécution 2450
Microsoft Access ne trouve pas le formulaire "table1" auquel il est fait référence.

Juste pour info la case "Forms!table1![test2]" est bien vide.
Et bien sûr le formulaire est enregistré dans access.
Merci encore pour ton aide.
0
Tessel75 > Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
7 janv. 2015 à 00:02
Un ordi ne se trompe JAMAIS (enfin presque). L'erreur est toujours du programmateur. Alors vérifie tes orthographes. Es-tu sûr de ne pas avoir écrit un truc ou donné un nom du genre "Table 1" avec un espace ou je ne sais quoi.
Dans tous les cas, c'est à toi de trouver ce qui ne passe pas; d'où nous (tous les internautes) sommes, nous ne pouvons rien faire.
Bon courage
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
Modifié par Sebas31t le 7/01/2015 à 07:58
Ok je viens de regarder en enlevant le s à Froms et je n'obtien pas la même chose maintenant l'erreur est objet requis ?
Peux-tu me dire si j'ai avancer dans mon PB?
Si oui tu m'as dit que From etait pour les sous formulaire, mais qu'est ce qu'un sous formulaire, je pensait pour ma part qu'il s'agit de formulaire implanter dans un volet de navigation d'un autre formulaire, peux tu confirmer?

Merci.
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023 > Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
7 janv. 2015 à 08:39
En effet tu as raison j'avais oublier une majuscule à Table1.
Erreur du débutant je suppose.
Maintenant j'ai lancer le pas a pas et aucune erreur n'est détecter.
Peux-tu me dire la prochaine étape, car rien ne se passe dans le formulaire?
Merci.
0
Sebas31t Messages postés 53 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 10 février 2023
Modifié par Sebas31t le 7/01/2015 à 11:38
C'est bon ca marche,
J'ai modifier IsEmpty par IsNull
Et ca fonctionne!!
Merci pour ton aide.
0