Avatar billede Slettet bruger
23. oktober 2007 - 23:27 Der er 9 kommentarer og
1 løsning

Tom variabel (uden format)

Hey eksperter.

Jeg er ved at lave noget kalendernoget. Hvor jeg tilføjer en variabel ind i en coloum med formatet Dato/Tid.

Men jeg har så lavet:

  tid = timen & ":" & min & ":" & sek

  if tid = "00:00:00" then
    tid = ""
  end if

Hvilket virker fint hvis den IKKE går ind i IF sætningen, men hvis datoen fra inputsne faktisk ER 00:00:00, så laver den fejlen:

Data type mismatch in criteria expression.

Jeg vil tro at dette er fordi jeg laver tid = "", og dermed laver tid om til en streng, hvor den skal bruge en dato/tid. Hvordan formaterer jeg så variablen, så den bliver enten ingenting eller dato/tid?
tid = nothing hjælper ikke, da variablen så forsvinder...
Avatar billede Slettet bruger
23. oktober 2007 - 23:49 #1
prøv med tid = null i stedet...

\Dan
Avatar billede Slettet bruger
23. oktober 2007 - 23:57 #2
Ingen forskel, stadig samme fejl.
Avatar billede nielle Nybegynder
24. oktober 2007 - 08:16 #3
Da du alligevel arbejder med den som om den var en streng kan du vel lige så godt have den på den form fra starten?

Prøv med:

    tid = "" & timen & ":" & min & ":" & sek

    if tid = "00:00:00" then
        tid = ""
    end if
Avatar billede Slettet bruger
24. oktober 2007 - 17:04 #4
Jamen problemet er, at jeg inde i databasen har lavet feltet til et Dato/Tid format.
Dette er for at jeg et andet sted kan sortere i posterne, efter dato; hvilket man ikke kan, hvis det står som Tekst/Notat.

Jeg kan sagtens lave
  tid = timen & ":" & min & ":" & sek

men ikke
  tid = ""

Hvad gør jeg så? (synes selv det virker lidt underligt)
Avatar billede soerenlyn Nybegynder
24. oktober 2007 - 17:57 #5
Hvis typen er datoformat kan du ikke brug en string. Så bliver du nødt til at gøre sådan at feltet i db gerne må være tomt, og så bare lade være med at angive tiden..
Avatar billede Slettet bruger
24. oktober 2007 - 19:00 #6
Det er allerede lavet i databasen, hmm hvordan skriver jeg så min sql?

hmm, at lade være med at angive tiden.. så skal jeg lave en if som laver enten
  sql = "insert into " & tableName & " (dato, tid, navn, billetpris, billetudbydernavn, billetudbyderlink) values ('" & dato & "', '" & tid & "', '" & navn & "', '" & billetpris & "', '" & billetudbyder & "', '" & billetudbyderlink & "')"
  conn.execute(sql)
eller
  sql = "insert into " & tableName & " (dato, navn, billetpris, billetudbydernavn, billetudbyderlink) values ('" & dato & "', '" & navn & "', '" & billetpris & "', '" & billetudbyder & "', '" & billetudbyderlink & "')"
  conn.execute(sql)

?
Avatar billede Slettet bruger
24. oktober 2007 - 19:03 #7
Det virker sgu :) Jeg siger tak for inspirationen soerenlyn.. smid et svar :)
Avatar billede soerenlyn Nybegynder
24. oktober 2007 - 19:06 #8
Det var godt - glad for at hjælpe :)
Avatar billede nielle Nybegynder
24. oktober 2007 - 19:06 #9
Du kan også eventuelt bare sætte tidpunktet til "nu":

    tid = timen & ":" & min & ":" & sek

    if tid = "00:00:00" then
        tid = Now()
    end if

Jeg ved dog ikke om det giver mening i lige dit tilfælde?
Avatar billede Slettet bruger
25. oktober 2007 - 19:35 #10
Desværre nielle, for pointen var at variablen tid skulle være 100% tom og uden format. Men det er ordnet på en anden måde :) ellers tak.

Points givet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester