Formatage de dates de 01/01/2004 vers 20040101

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 343 fois - Téléchargée 27 fois

Contenu du snippet

Voilà un petit code simple qui permet de transformer une date en numérique. Cela nous permet ensuite de demander à notre programme des valeurs à partir d'une date donnée par exemple.

Moi je l'ai placé sur un événement KeyPress de la touche Entrée. L'utilisateur rentre sa date au format jj/mm/aaaa et je la formate avant de l'insérer dans ma table de destination.

Source / Exemple :


Public Sub TxtCritere_KeyPress(KeyAscii As Integer)
    
    Dim lAnnee As Long
    Dim iMois As Integer
    Dim iJour As Integer
    Dim lDate As Long
    
    ' Si la touche pressé est "Entrée"

    If (KeyAscii = 13) Then
        
        ' lValeur prend la valeur de mon TextBox
        lValeur = TxtCritere.Text
        
        ' Si la valeur de mon TextBox est bien au format Date   
        If IsDate(lValeur) Then
        
            iJour = Mid(lValeur, 1, 2)

            ' Je multiplie le mois par 100
            iMois = Mid(lValeur, 4, 2) * 100

            ' Je multiplie l'année par 10000
            lAnnee = Mid(lValeur, 7, 4) * 10000
            
            'On additionne les 3 valeurs dans le bon ordre
            lDate = lAnnee + iJour + iMois
            
            'Insertion dans la base
             db.Execute ("UPDATE Matable set monchamp = " & lDate & ";")
            
        End If
    
    End If

End Sub

A voir également

Ajouter un commentaire

Commentaires

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
J'allais le dire !

En plus, tous les transtypages sont explicites, que du beau code ;)
Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012

Pourquoi ne fais-tu pas :

lDate = CLng(format(CDate(txtCritère.text),"yyyyddmm")

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.