Problème de date dans un formulaire

Bjr.

J’ai un souci au niveau d’une colonne date. Je vous joins une base exemple (très minimaliste).

C’est au niveau des factures que ça déconne. Malgré,

FAC_DATE DATE DEFAULT CURRENT_DATE

défini par défaut dans T_FACTURES, dans le formulaire de saisie, la date du jour ne s’insère pas automatiquement comme attendu à la création d’un nouvel enregistrement. En attendant de résoudre la chose, j’ai ajouté une table TR_PARAMETRES dans laquelle la date est fixée dans la colonne PAR_DATE.

À la génération d’une nouvelle facture, le bouton déclenche un script qui va chercher la valeur de PAR_DATE et la copie dans FAC_DATE. C’est OK. Sauf qu’après avoir sélectionné le client, dès que je tente de sélectionner un produit dans le sous-formulaire, une boîte de dialogue indique que je dois saisir une valeur de date… alors que la cellule est déjà remplie !

Merci d’avance.

primus_test.odb (19,5 Ko)

Try this:
primus_test.odb (19.5 KB)

C’est bien mieux, ça évite de définir une valeur par défaut (mais ça n’explique pas pourquoi l’insertion de la date du jour se fait lorsqu’on fait une saisie directement dans une table, sans passer par un formulaire).

En cherchant j’avais trouvé ceci.

Sub InsertDayDate(objEvent As Object)

	Dim objForm As Object
	Dim strDate As String
	Dim strStamp As String
	
	objForm = objEvent.Source
	strDate = objForm.FindColumn("FAC_DATE")

	If objForm.GetString(strDate) = "" Then
		strStamp = Format(Now, "YYYY-MM-DD")
		objForm.UpdateString(strDate, strStamp)
	End If

End Sub

Merci. :slightly_smiling_face:

Bonjour, en ce qui concerne les factures, on m’a souvent parlé d’utiliser Rapport. Néanmoins, afin d’afficher la date de ce jour dans votre formulaire, vous pouvez le faire à partir d’une Vue qui contient l’expression NOW() dans votre formulaire principal, et tout le reste dans le sous-formulaire. Veuillez vous pencher sur le fichier ci-joint.
date de ce jour.odb (11.7 KB)

Une autre approche intéressante… :slightly_smiling_face: