2009-08-19 4 views
0

Utilisation de VB 6Comment sélectionner les dates mensuelles et annuelles?

L'utilisation de deux DTPicker dans mon projet, je veux sélectionner chaque mois et chaque année comme MM/aaaa et aaaa

maintenant l'aide de date am Daily comme 23/02/2009 (jj/mm/aaaa), je veux utiliser comme mensuel (MM/aaaa) et annuel (aaaa)

Mon code

Public Function DaysInMonth(dte As Date) As Integer 
    Dim d As Date 
    d = DateAdd("m", 1, dte) 
    d = DateAdd("d", -1, d) 
    DaysInMonth = Day(d) 
End Function 

Private Sub Form_Load() 

Dim dteFrom As Date 
Dim dteTo As Date 
dteFrom = Format(CDate(Year(Date) & "-" & Month(Date) & "-" & "01"), "yyyy-mm-dd") 
dteTo = Format(CDate(Year(Date) & "-" & Month(Date) & "-" & DaysInMonth(dteFrom)), "yyyy-mm-dd") 

dtpFrom.Value = dteFrom 
dtpTo.Value = dteTo 

End Sub 

code ci-dessus travaille pour les dates quotidiennes. Je veux utiliser des dates mensuelles et annuelles aussi Maintenant je choisis une date montrant la valeur complète de la date comme 03-02-2009, je veux montrer des données mensuelles et annuelles

Sortie attendue.

Date de mois

03/2009 to 04/2009 – It should take a value of 01/03/2009 to 30/04/2009 
05/2009 to 05/2009 – It should take a value of 01/05/2009 to 31/05/2009 

Date de annuelle

2008 to 2008 – It should take a value of 01/01/2008 to 31/12/2008 
2008 to 2009 – It should take a value of 01/01/2008 to 31/12/2009 

Comment sélectionner mensuel et annuel?

besoin VB 6 Code Aide

Répondre

1

Vous pouvez définir le format sur le DTPicker à 3 (dtpCustom) et le CustomFormat à MM/yyyy. Cela affichera le format mois/année dans la section de texte, mais vous obtiendrez toujours le calendrier complet sur le menu déroulant.

Si vous souhaitez désactiver le calendrier, vous pouvez définir UpDown sur True. Ensuite, vous obtiendrez des boutons haut/bas au lieu de la liste déroulante.

Vous devez vous assurer que la valeur cachée (partie du jour) est correcte.

EDIT: OK , de votre commentaire, je comprends que vous êtes satisfait du sélecteur de date, mais vous voulez afficher le résultat dans un format spécial?

Exemple:
date sélectionnée se 20/8/2009 et stocké dans une variable date un.

Afficher en tant que :

MsgBox Format(a, "yyyy") 

Afficher en tant que 08/2009:

MsgBox Format(a, "mm/yyyy") 

Afficher en tant que Août 2009:

MsgBox Format(a, "mmmm, yyyy") 

Afficher en tant que août 2009:

MsgBox Format(a, "mmm, yyyy") 

Est-ce que vous voulez?

+0

@awe. Je reçois la valeur Date, comme a = dtpicker1, msgbox (a) il montre 01/02/2009. Il devrait montrer 02/2009. Et aussi quand je sélectionne une date comme 01/2009 à 01/2009. L'enregistrement est affiché pour un jour. Il devrait afficher l'enregistrement de janvier (31 jours). Comment modifier mon code. S'il vous plaît .... – Gopal

+0

J'ai changé ma réponse pour ajouter un exemple, c'est ce que vous voulez? – awe

Questions connexes