J'ai un formulaire où les utilisateurs saisissent des informations pour un test exécuté à une date particulière. Cela crée une table que je lie ensuite avec une autre table basée sur la date et un ID. Dans cet autre tableau (rempli par un formulaire créé par quelqu'un d'autre) tous les temps sont 07h00. Celui qui a créé le formulaire pour cette table a fait ce que je demande maintenant; Puisque les dates doivent correspondre EXACTEMENT pour que les tables soient jointes, je dois le faire aussi. La façon dont je veux faire ceci est d'avoir deux champs dans mon formulaire. Un pour la date (mm/jj/aaaa) et un pour l'heure (##: ##: ## xM) et je veux que le champ de temps soit non modifiable par l'utilisateur. De cette façon, l'utilisateur sait qu'il ne peut pas modifier l'heure. Jusqu'à présent, je sais comment faire tout cela avec des masques de saisie et autres. Cependant, je ne sais pas comment ajouter ces deux champs ensemble, puis stocker cela dans la table. Aidez-moi?ms date et heure d'accès. L'heure doit être 07h00 et l'utilisateur ne doit pas modifier l'heure
Répondre
Il semble que vous ayez un seul champ Date/Heure dans la source d'enregistrement de votre formulaire et que vous souhaitiez afficher la partie date dans un contrôle de formulaire et la partie heure dans un autre contrôle. Et la partie temps devrait toujours être 7:00 AM.
Ajoutez deux contrôles de zone de texte (txtDate et txtTime) à votre formulaire qui utilisent tous deux le même champ date/heure comme source de contrôle. Définissez la propriété Format
de txtDate à Date abrégée. Définissez la propriété Format
de txtTime sur Moyenne durée. En outre, dans l'onglet Données pour txtTime, définissez Activé sur Non et Verrouillé sur Oui.
Puis, dans la Après mise à jour événement de txtDate, vous pouvez utiliser:
Private Sub txtDate_AfterUpdate()
Me.txtDate.Value = DateValue(Me.txtDate.Value) + #7 AM#
End Sub
Si vous devez masser les valeurs existantes dans votre table, vous pouvez utiliser une requête UPDATE
:
UPDATE YourTable SET YourDateField = DateValue(YourDateField) + #07:00#
WHERE YourDateField IS NOT NULL;
parfait! Je vous remercie. – Matt
+1. Bonne réponse. –
Je voudrais écrire une mise à jour pour définir toutes les heures existantes à minuit (c'est-à-dire 00:00:00), puis modifier le formulaire afin qu'il tronque également les dates à minuit. Ajoutez une règle de validation ou une contrainte CHECK
pour vous assurer que les valeurs ne peuvent pas être autres que minuit. Ensuite, si vous utilisez la sécurité au niveau de l'utilisateur, vérifiez les privilèges de la table pour vous assurer que les utilisateurs ne peuvent pas supprimer la règle de validation ou la contrainte CHECK
.
Utilisateur un contrôle de sélecteur de date-heure - laissez l'utilisateur juste choisir la partie de date. La portion de temps se trouve dans un autre contrôle - une étiquette ou une zone de texte verrouillée.
Lorsque vous écrivez votre SQL pour mettre à jour/insérer dans votre table, vous pouvez simplement ajouter ces deux valeurs de contrôle ainsi que
Declare MyDateTimeValue as String
'This creates value of MM/DD/YYYY
MyDateTimeValue = MyDateTimePickerControl.Value
'This adds a blankspace and HH:MM:SS to become "MM/DD/YYYY HH:MM:SS"
MyDateTimeValue = MyDateTimeValue + ' ' + MyTimeLabelControl.Value
Utilisez la MyDateTimevalue variable dans l'instruction SQL comme
DoCmd.ExecuteSQL ('Insert Into MyTable (Col1, DateTimeColumn) Values (1, #' & MyDatetimeValue & '#')
- 1. L'ID ne doit pas s'afficher entre la date spécifiée?
- 2. PyQt4 QDialog - le champ ne doit pas être vide
- 3. garde est ignorée quand il ne doit pas être
- 4. PHP Heure et date
- 5. Est-ce qu'un IBOutlet doit être une propriété et synthétisé?
- 6. Je ne sais pas quelle date de format doit pouvoir l'analyser '[1252457867]'
- 7. NullRefs doit-il être détecté?
- 8. T-SQL doit être améliorée
- 9. SharePoint Date et heure Colonne
- 10. date et heure à delphi
- 11. L'installateur doit distinguer Vista et XP
- 12. Doit pas Gdiplus :: Image :: GetWidth() et un tas d'autres getters être "const"?
- 13. Sys.InvalidOperationException: gestionnaire doit être une fonction
- 14. Quelle syntaxe doit être utilisée pour WebMessageBodyStyle.Wrapped?
- 15. La méthode doit être surchargée mais n'est pas abstraite?
- 16. UITableViewCells doit être au centre de UITableView
- 17. Le fichier d'extension "curl" doit être chargé
- 18. Application .NET qui doit intégrer la fonctionnalité "Fusion et publipostage"
- 19. Oracle 'identifiant myschema.mytable doit être déclaré'
- 20. Une instance NSLock doit-elle être "globale"?
- 21. Impossible de voir l'erreur "Doit être implémenté"
- 22. Redimensionner mon image sur le téléchargement ne fonctionne pas - quel doit être mon tampon?
- 23. Convertir une chaîne avec date et heure à une date
- 24. Date et heure du client JSP
- 25. Sélection de ligne de table, mais le texte ne doit pas être sélectionné
- 26. centrer divs ne fonctionne pas comme il se doit
- 27. IE7 est en retrait du texte quand il ne doit pas être
- 28. Quelle exception doit être levée lorsqu'une requête ADO.NET ne peut pas récupérer les données demandées?
- 29. Arrays.binarySearch ne fonctionne pas comme il se doit
- 30. Windsor Container: Comment spécifier une propriété publique ne doit pas être rempli par le conteneur?
Si vous voulez que tous les champs de date aient la même heure, vous n'avez pas besoin de stocker la partie heure. Il suffit de stocker la partie Date() (c'est-à-dire la valeur entière). Si vous remplissez les champs avec Now(), remplacez-les par Date(). Le fait est que si tous les champs ont le même temps, vous n'avez pas besoin de le stocker du tout. –
... mais ne formatez pas pour ajouter une règle de validation ou une contrainte CHECK pour appliquer la règle afin de vous assurer que le problème ne se reproduira pas. – onedaywhen
j'avais besoin de le stocker. Il y a une autre table que je suis en train de joindre à cette table à la date.Dans l'autre tableau, les dates ont déjà été stockées avec la date et l'heure et toutes les heures sont 7 heures. C'est idiot, je sais, mais je n'ai pas écrit l'ancien code de table et je ne peux pas le changer. Je dois juste vivre avec. – Matt