[Basic] Bloquer la date dans un champ DateField

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
JPMartin
Membre lOOyal
Membre lOOyal
Messages : 46
Inscription : 13 juil. 2011 13:24

[Basic] Bloquer la date dans un champ DateField

Message par JPMartin »

Bonjour à tous,

Est-il possible de bloquer la date max et min dans un champ date DateField ?
Je voudrai bloquer visuellement dans le champ :
- la date min à janvier 2011
- la date max à la date du jour.

Les valeurs retenues sont bonnes mais visuellement, il est possible d'aller au delà de ces deux limites.
D'après Xray, les valeurs min et max sont bien retenues.

Le code :

Code : Tout sélectionner

REM  *****  BASIC  *****

		
'Option Explicit

Private DialogueDate As Object

Sub DialogueDynamique()
	Dim bibli As Object, monDialogue As Object
	
	bibli = DialogLibraries.GetByName("Standard")
	monDialogue = bibli.GetByName("DDate")
	DialogueDate = CreateUnoDialog(monDialogue)
	ParametrerDate()
	DialogueDate.Dispose
End Sub


Sub ParametrerDate()
	Dim ChampDate As Object

	DialogueDate.Model.Title = "Ceci est un essai"
		
	ChampDate = DialogueDate.getControl("DateField1")
	
	with ChampDate
		.Max=CDateToIso(date) 'a mettre sous forme d'un long
		.Min=20110101
		.First=20110101
		.Date=CDateToIso(date)
		.Last=CDateToIso(date)
	end with
	
	with ChampDate.model
		.FontWeight =150
		.BackgroundColor = RGB(255,211,32)' cyan clair
	end with

	DialogueDate.execute
	'Xray ChampDate.model
End Sub
Encore merci d'avance pour tout

JP
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.5.3.1 / openSUSE Tumbleweed
Aide à la programmation : SDK 7.5.3 + X-Ray tool 6.0 + MRI 1.3.4
Et surtout l'excellent livre : Programmation OpenOffice.org 3... en attente de la nouvelle version :)
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: [Basic] : Bloquer la date dans un champ date DateField

Message par bm92 »

Bonsoir,
Comme tu as pu le constater, le contrôle des limites ne se fait que lorsque le focus quitte le champ. Par exemple en tapant la touche Tab, ou en cliquant un bouton.
Tant que le contrôle est en focus, on peut taper n'importe quoi, par exemple azertyuiop.
La raison probable est qu'il est bien plus simple d'analyser le contenu lorsqu'il est complètement écrit.
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial