|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Voilà ce que ça donne en image :
![]() Le calendrier s'affiche juste en dessous du contrôle : Programmé sur Access 97 (et Windows 2000), ça fonctionne dans toutes les sections de formulaire (même en mode continu). Le calendrier est en fait une InputBox modifiée, donc : - il faut cliquer sur OK ou Annuler pour fermer la fenêtre (fenêtre dialogue) - la fonction renvoi un texte (string) Evolution de la v0.2 : le double-click sur un jour du calendrier suffit à valider une date. Correction de la v0.3 : positionnement du calendrier était incorrect si sous-formulaire dans un onglet Ajout de philben pour jours fériés : suivre ce lien Téléchargez le code et copiez le dans un module : ftp://ftp-developpez.com/arkham46/fi.../MCalendar.zip Mirroir HTTP La fonction à utiliser est DisplayCalendar avec pour paramètres : - pCtrl : un contrôle servant à positionner le calendrier - pText : un texte à afficher sous le calendrier - pDefault : la date par défaut sur laquelle s'ouvre le calendrier - pCalendarFontName : la police de caractère du calendrier (Arial, Comic sans MS , ...) - pCalendarFontSize : la taille des caractères du calendrier - pDisplayWeeks : mettre ce booléen à Vrai (True) pour afficher les numéros de semaine - pTextForeColor : Couleur du texte sous le calendrier - pTextBackColor : Couleur du fond du texte sous le calendrier - pTextFontName : police de caractère du texte sous le calendrier - pTextFontSize : taille des caractères du texte sous le calendrier - pBoldDays : tableau de jours à mettre en gras : soit une date, soit la position du jour dans la semaine --> Array(6,7) pour mettre en gras les samedi et dimanche --> Array(6,7,#08/15/2007#) pour mettre en gras les WE et le 15 août - pAbove : Mettre à Vrai pour afficher le calendrier au-dessus du contrôle Exemple d'utilisation : - Un contrôle texte TxtDetail dans le quel on veut saisir une date - Un bouton CmbDetail qui ouvre le calendrier (Le bouton doit être dans la même section que la zone de texte pour que le positionnement soit correct) Code :
ftp://ftp-developpez.com/arkham46/fi...stCalendar.zip Mirroir HTTP |
||
|
|
10
|
|
|
#2 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 6 ![]() |
Encore bravo pour ce calendrier très réussi, c'est exactement ce dont j'avais besoin !
une petite info pour les newbies comme moi : - prendre le code source donné en PJ et le mettre en tant que module (le nommer MCalendar) dans le code du fichier access. - Ensuite insérer dans le code du formulaire, les lignes pour la commande mbDetail_Click() Après c'est impécable Encore Merci |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 6 ![]() |
En fait à l'utilisation un problème est là
Quelque soit la date choisie, la valeur de TxtDetail devient la date actuelle. Avec le programme fourni en annexe, même problème. Si un date a déja été rentrée dans TxtDetail, la selection d'une date dans le calendrier ne la modifie pas. Est-ce parce que je suis sous Access 2003 (Win XP) ? |
|
|
00
|
|
|
#4 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Bjr,
Citation:
J'ai fais une modif pour que ça marche sur Access 2003/XP.
|
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2007 Messages : 9 ![]() |
Merci bcp,
C juste ce que je voulais faire dans mon projet, merci encore une Fois. |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 197 ![]() |
Bonjour,
Super le calendrier ! Seulement je l'appel sur un double click, et le souci c'est que l'input box apparait en haut à gauche de l'écran! Y à t'il un moyen pour controler sa position ? Merci |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Bjr,
Le positionnement se fait par rapport au contrôle passé dans le paramètre pCtrl. Il faut qu'un contrôle de la même section ait le focus au moment de l'appel de la fonction pour que le positionnement soit correct. Sinon pour une boîte de dialogue indépendante : http://arkham46.developpez.com/artic...utboxplus/doc/ |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 197 ![]() |
Le problème c'est que la valeur prise par le contrôle pCtrl est le contenu de ma textbox et pas son nom !!!
Ensuite j'ai testé en forcant le positionnement avec ta méthode : Ca ne fonctionne pas ! |
|
|
00
|
|
|
#9 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Citation:
pCtrl est de type Access.Control, donc tu passes le contrôle complet en paramètre (Me.MonContrôle). Ensuite le code se charge de trouver la position du contrôle à l'écran pour positionner le calendrier en dessous (pour peu que la section ait le focus, ce qui devrait être le cas si tu double-cliques sur la zone de texte) Citation:
Pour la positionner, il faut utiliser les paramètres XPos et YPos comme pour une InputBox classique, mais le repositionnement n'est pas très facile... |
||
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 197 ![]() |
Je pense savoir d'où vient le problème, car j'ai fait un essai avec un formulaire normal et sa fonctionne chez moi donc... !
Le souci c'est que mon contrôle se trouve sous un sous formulaire (Formulaire unique) Quand pense tu? |
|
|
00
|
|
|
#11 | |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 197 ![]() |
Quelle horreur !!!!
Citation:
Qu'en pense tu? |
|
|
|
00
|
|
|
#12 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Citation:
Sinon j'en pense que je ne me rappelle pas avoir testé avec un sous-formulaire. Mais au vu du code ça devrait être bon, sans garanti. (il faudra que je teste dès que je peux). Comment est écrit le paramètre pCtrl dans ton appel de fonction? Code :
Me.NomDuControlSousFormulaire.Form.NomDuContrôle |
|
|
|
00
|
|
|
#13 | |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 197 ![]() |
Il est écrit comme ca :
Me.TxtDetail Mais de toute façon quelque soit la manière dont je l'écrive, lorsque j'éxecute la procédure en pas à pas, cCtrl prend la valeur du contenu !! Citation:
|
|
|
|
00
|
|
|
#14 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
alors je viens de tester et ça marche dans un sous-formulaire (avec le code dans le sous-formulaire)
|
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 197 ![]() |
Je viens de le tester dans un autre sous formulaire, et ca fonctionne à merveille !
Reste à trouver pourquoi ce n'est pas le cas dans le premier ! Ils ont pourtant les mêmes propriétés ! |
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 197 ![]() |
Désolé d'y revenir, mais je pose une hypothèse car je n'ai pas trouver la solution pour le positionnement dans mon premier formulaire !
Mes contrôles date se trouve sur un contrôle onglet ! Est-ce que cela peut avoir une incidence ? |
|
|
00
|
|
|
#17 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Citation:
J'ai corrigé le module et la base de tests en ajoutant la correction pour les onglets. (à télécharger sur les liens au début du message) |
|
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 9 ![]() |
bonjour je souhaite intégrer un calendrier dans mon formulaire avec un petit bouton a coté qui ferait apparaitre mon formulaire...
en principe pas trop compliqué mais moi j'y arrive pas et j'avoue que je ne comprends pas tout ce qu'il y a d'écrit au dessus...(désolé je suis débutante pourriez vous me donner un petit coup de main svp je travail avec access 2000 merci |
|
|
00
|
|
|
#19 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 197 ![]() |
Bonjour,
Il ne faut t'occuper que du premier post d'Arkham ! Suit bien les instructions qui y sont données et explique plus précisemnent sur quoi tu bloque ! A+ |
|
|
00
|
|
|
#20 |
|
Membre du Club
![]() |
Bonjour,
Juste pour remercier 10 000 fois Arkham46 !!! C'est vraiment super de donner tout cela sur le site ! ![]() Ce matin il m'aura fallut seulement 15 min pour mettre en place mon calendrier en sachant que 10 minutes auront été consacrées à la recherche d'une solution sur le WEB ! Merci encore et bonne continuation...
__________________
Pourquoi partir si l'on a envie de rester encore un peu et pourquoi rester quand le besoin se fait de changer de quartier ? Bernard MOITESSIER |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com