/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Tryk på knap og vis dagsdato
Fra : jcd
Vist : 645 gange
100 point
Dato : 01-04-04 19:36

Hej !

Jeg har lavet et lille program, der skal når jeg trykker på en knap vise dagsdato

Sub dato()
Dim dagsdato As Date

dagsdato = Format(expression:=Now, Format:=dd - mm - yy)

MsgBox ("Idag er det d." & dagsdato)

End Sub

MEN når jeg kalder subrutinen DATO op vises ikke datoen for idag men datoen imorgen
Mit ur på PC er stillet korrekt

Hvorfor vises datoen forkert

Hvis jeg trækker 1 fra NOW vises den rigtige dato men det kan da ikke være rigtigt jeg skal det.

MVH
JCD

 
 
Kommentar
Fra : KooL


Dato : 01-04-04 20:14

Hej jcd.

Jeg mener at format funktionen kan se sådan ud:

dagsdato = Format$(Now, "dd - mm - yyyy")

envidre er jeg ikke lige bekendet med variabeltypen date.

virker det?

Mvh KoL


Kommentar
Fra : jcd


Dato : 01-04-04 20:29

Det virker på samme måde.
Der vises stadig datoen for i morgen.

Jeg glemte lige at fortælle at jeg benytter visual basic delen der ligger i excel.
Det lille program er nemlig en del af et større program.

Jeg vil gerne vide hvorfor der vises datoen for imorgen når jeg skriver NOW
Hvis jeg skriver NOW i en Celle i excel vises datoen for idag


Accepteret svar
Fra : berpox

Modtaget 110 point
Dato : 01-04-04 20:38

Hvorfor ikke blot:

Kode
Sub dato()

MsgBox ("Idag er det d. " & Date), vbInformation, "Dags Dato"

End Sub


Det virker da 100% sikkert...

mvh Berpox

Kommentar
Fra : KooL


Dato : 01-04-04 20:40

Uha :X kender desv. ikke til brugen af VB i excel.
men det skulle vil ikke være megen til forskæld.

det er ikke sådan at du har en timer indblandet?
spørger fordi jeg selv engang har haft probs med timer og now.

Mvh KoL

Kommentar
Fra : berpox


Dato : 01-04-04 20:42

Eller:

Kode
Sub dato()

MsgBox ("Idag er det d. ") & FormatDateTime(Date, vbShortDate), vbInformation, "Dags Dato"

End Sub


mvh Berpox

Kommentar
Fra : jcd


Dato : 01-04-04 20:52

En stor tak for de hurtige svar.

Både

Sub dato()

MsgBox ("Idag er det d. " & Date), vbInformation, "Dags Dato"

End Sub

OG

Sub dato()

MsgBox ("Idag er det d. ") & FormatDateTime(Date, vbShortDate), vbInformation, "Dags Dato"

End Sub

virker perfekt. Den rigtige dato vises, nu er det bare at få det ind i det lidt større program.

Jeg er stadig i tvivl om hvorfor den min første sub rutine ikke virker men det må jo stå i det uvisse.

Jeg siger mange tak til BERPOX

MVH JCD






Kommentar
Fra : jcd


Dato : 01-04-04 20:56

Til KOOL

Jeg tror ikke jeg har en timer indblandet.
Det eneste jeg benytter NOW til er at vise datoen i denne ene sub rutine

Jeg kunne stadig godt tænke mig at få at vide hvorfor ikke min første subrutine ikke virker

MVH

JCD


Kommentar
Fra : KooL


Dato : 01-04-04 21:18

Grunden til at jeg spurte om timeren var at jeg oplevede at fejl datoer blev genereret ved en timer interval på 1.
Jeg havde et klokkeslet og dato. som vedvarende skulle køre, derfor timeren. Den opdaterede hele tiden, tiden.
ved at sætte timerens interval til 1000 (svarre til et sek) kom den rette dato frem.
http://www.kandu.dk/dk/spg/30394
Jeg ved desv. ikke hvad der sker i dit script.

Mvh KoL


Kommentar
Fra : jcd


Dato : 01-04-04 21:30

Tak for kigget Kool

Jeg tror det har noget med forskellen på NOW og DATE at gøre. men det skulle jo være det samme når man sætter NOW til at være DD - MM - YY.

jeg ved det ikke men det virker i hvert fald med DATE.

MvH JCD

Godkendelse af svar
Fra : jcd


Dato : 01-04-04 21:32

Tak for svaret berpox.

Det virker med DATE. hvorfor ved jeg ikke, men hovedsagen er det virker.

TAK for hjælpen

MvH
JCD                  

Kommentar
Fra : berpox


Dato : 01-04-04 21:42

Snippet fra VB hjælpen:

Citat
Date variables are stored as IEEE 64-bit (8-byte) floating-point numbers that represent dates ranging from 1 January 100 to 31 December 9999 and times from 0:00:00 to 23:59:59. Any recognizable literal date values can be assigned to Date variables. Date literals must be enclosed within number signs (#), for example, #January 1, 1993# or #1 Jan 93#.

Date variables display dates according to the short date format recognized by your computer. Times display according to the time format (either 12-hour or 24-hour) recognized by your computer.

When other numeric types are converted to Date, values to the left of the decimal represent date information while values to the right of the decimal represent time. Midnight is 0 and midday is 0.5. Negative whole numbers represent dates before 30 December 1899.


Det forklarer det nok bedre hvorfor du IKKE kan erklærer dagsdato som variabeltypen Date, bedre end jeg kan i hverttilfælde...

mvh Berpox

Kommentar
Fra : KooL


Dato : 01-04-04 21:45

Ja, jeg vil jo oxo mene at Date kommer af Now.
Kan det tænkes at Now i excel er "vedvarende", så ledes at der er timer intergreret?
Giver dog heller ikke mening da intervallet ville være sat til 1000, og problemet dermed elimineret.

tror den må akiveres som uidetifiseret hendelse :P

Held og lykke med reste ;)
Mvh KoL

Kommentar
Fra : jcd


Dato : 01-04-04 21:47

TAK

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste