Avatar billede hanne-rk Nybegynder
31. marts 2005 - 00:36 Der er 6 kommentarer og
1 løsning

indsæt i database ser forkert ud, det ændres fuldstændigt

Når jeg skal indsætte denne linie fra en semikolon separeret .txt fil:
51999;01-02-2004;0;0;0;0;0;0;0;0;0;0;0;0;0;0;

kommer datoen (01-02-2004) til at se sådan ud i databasen: 04-07-1894

Hvorfor i alverden gør den det?

Jeg har prøvet at lave feltet til både dato og til tekst, men med samme resultat.
Avatar billede kalp Novice
31. marts 2005 - 00:39 #1
51999;CDate(01-02-2004);0;0;0;0;0;0;0;0;0;0;0;0;0;0;

hvis du kan gøre sådan så virker det.
Avatar billede hanne-rk Nybegynder
31. marts 2005 - 00:44 #2
det kan jeg desværre ikke, da .txt filen genereres af et andet program, og skal laves en opdatering hver dag.

kan jeg gøre noget ved indsæt i database?

Function replace3(VAR)
    If VAR = "" Then
        replace3 = "NULL"
    Else
        replace3 = VAR
    End If
End Function


Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../statistik/statistik.mdb")

SQL = "DELETE * FROM dyrestatistik"
conn.execute(SQL)

Set fso = CreateObject("Scripting.FileSystemObject")
    MYFILE = Server.Mappath("dyrestatistik.txt")
    Set CONTENT = fso.OpenTextFile(MYFILE,1)
        COUNTER = 1
        Do While not CONTENT.AtEndOfStream
            CONTENTLINE = CONTENT.readline
            CONTENTSPLIT = split(CONTENTLINE,";")
            SQL = "INSERT INTO dyrestatistik (Kundenummer, Dato, FCGram, FCKcal, RefGram1, RefKcal1, RefGram2, RefKcal2, Gram1, Kcal1, Gram2, Kcal2, AntalHanner, AntalTæver, AntalHvalpe, DyrIalt) VALUES (" & replace3(CONTENTSPLIT(0)) & ", " & replace3(CONTENTSPLIT(1)) & ", " & replace3(CONTENTSPLIT(2)) & ", " & replace3(CONTENTSPLIT(3)) & ", " & replace3(CONTENTSPLIT(4)) & ", " & replace3(CONTENTSPLIT(5)) & ", " & replace3(CONTENTSPLIT(6)) & ", " & replace3(CONTENTSPLIT(7)) & ", " & replace3(CONTENTSPLIT(8)) & ", " & replace3(CONTENTSPLIT(9)) & ", " & replace3(CONTENTSPLIT(10)) & ", " & replace3(CONTENTSPLIT(11)) & ", " & replace3(CONTENTSPLIT(12)) & ", " & replace3(CONTENTSPLIT(13)) & ", " & replace3(CONTENTSPLIT(14)) & ", " & replace3(CONTENTSPLIT(15)) & ")"
            conn.execute(SQL)
            COUNTER = COUNTER + 1
        Loop
    CONTENT.Close
set fso = Nothing

conn.Close
Set conn = Nothing
Avatar billede kalp Novice
31. marts 2005 - 02:46 #3
Har du hotel hos www.webdomain.dk ? lige før jeg tror det er deres server som gør det!
Avatar billede fennec Nybegynder
31. marts 2005 - 08:21 #4
Du kan godt gøre noget i indsættelsen. Jeg ville starte med at sætte # omkring datoen:

SQL = "INSERT INTO dyrestatistik (Kundenummer, Dato, FCGram, FCKcal, RefGram1, RefKcal1, RefGram2, RefKcal2, Gram1, Kcal1, Gram2, Kcal2, AntalHanner, AntalTæver, AntalHvalpe, DyrIalt) VALUES (" & replace3(CONTENTSPLIT(0)) & ", #" & replace3(CONTENTSPLIT(1)) & "#, " & replace3(CONTENTSPLIT(2)) & ", " & replace3(CONTENTSPLIT(3)) & ", " & replace3(CONTENTSPLIT(4)) & ", " & replace3(CONTENTSPLIT(5)) & ", " & replace3(CONTENTSPLIT(6)) & ", " & replace3(CONTENTSPLIT(7)) & ", " & replace3(CONTENTSPLIT(8)) & ", " & replace3(CONTENTSPLIT(9)) & ", " & replace3(CONTENTSPLIT(10)) & ", " & replace3(CONTENTSPLIT(11)) & ", " & replace3(CONTENTSPLIT(12)) & ", " & replace3(CONTENTSPLIT(13)) & ", " & replace3(CONTENTSPLIT(14)) & ", " & replace3(CONTENTSPLIT(15)) & ")"

Desuden skal formatet være mm-dd-yyyy og det kan jeg ikke se om det er ud fra den dato du har vist.
Avatar billede hanne-rk Nybegynder
31. marts 2005 - 12:24 #5
#  se det hjalp jo vildt.
Hvornår skal man bruge den?

svar lige og 1000 tak for hjælpen
Avatar billede fennec Nybegynder
31. marts 2005 - 12:39 #6
Der skal # omkring alle datoer (andre databaser bruger '). Dog ikke om datofunktioner. F.eks.

insert into enTabel(dato1, dato2) values(#31-03-2005#,now())
update enTabel set dato1=#31-03-2005# where dato2=#01-01-2005#

Husk også at tjekke at datoerne bliver indsat rigtigt. Access bruger jo mm-dd-yyyy formatet så vis din tekstfil er med DK format (dd-mm-yyyy) bytter den om på alle dage og måneder. Hvis en af tallene er over 12 kan den dog godt indsætte i DK format.

#12-01-2005# bliver indsat som 1 dec 2005
#13-01-2005# bliver indsat som 13 jan 2005
Avatar billede hanne-rk Nybegynder
31. marts 2005 - 12:42 #7
1000 tak for hjælpen
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