Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Nolla numeron eteen

Aloittelija3 [19.01.2008 20:21:54]

#

Miksiköhän tämä ei toimi?

If Len(Month(Date)) = 1 Then
kk = Chr(48) & Month(Date)
MsgBox kk ' 1

Eli jos Date on esim. 1.1.2008 niin se pitäisi saada muotoon 20080101. Eli ongelma on siinä että en saa muutettua tota 1 -> 01. Onnistuu kyllä toisin päin.. koitin myös tällasta:

If Len(Month(Date)) = 1 Then
kk = Month(Date) & Chr(48)
kk = StrReverse(kk)
MsgBox kk ' 1

Mutta ei se tietenkään toiminut :( Miten tää pitäis tehdä? Ja tietysti Chr(48) on sama asia kuin 0, mutta ei se mitään auta.

Antti Laaksonen [19.01.2008 20:27:24]

#

Kunhan muuttuja kk on tyypiltään merkkijono (String), tuon pitäisi toimia.

Saman asian voi tehdä myös näin:

Dim kk As String
kk = Right("0" & Month(Date), 2)

Tai saman tien koko päivämäärän voi muotoilla näin:

Dim pvm As String
pvm = Format(Date, "yyyymmdd")

Lisää tietoa Format-funktiosta: http://vb.ohjelmointiputka.net/?Format

Aloittelija3 [19.01.2008 20:30:17]

#

Aijaa kiva sen voi tehdä noin helposti :) ois pitäny googlettaa ja ottaa asioista selvää, no kiitos nopeasta vastauksesta! :) Pääsen taas jatkamaan.

setä [19.01.2008 20:35:47]

#

Esim. näin toimii:
Format(Date, "yyyy") & Format(Date, "mm") & Format(Date, "dd")
Edit:Olin hidas ja toimii näköjään sittenkin tuolla yksinkertaisemmalla tavalla.

Merri [20.01.2008 01:27:03]

#

Sitten ihan vain yleistä tietoa: jos tahtoo noudattaa jotakin standardia päivämäärän muodossa, niin yyyy-mm-dd on suositelteva kansainvälinen päivämäärästandardi.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta