Avatar billede mc.lucifer Praktikant
22. januar 2003 - 09:18 Der er 14 kommentarer og
2 løsninger

DTPicker vil ikke som jeg

Jeg prøver at adde en dato til min Access database med DTPicker

Database feltet er en "Date/Time og derfor fast på 8 karaktere

Jeg har nu fået kogt DTPickers value ned på 8 karaktere med megen nøje og besvær

Dim Dag As Single
Dim Mdr As Single
Dim Year As Single
Dag = DTPicker1.Day
Mdr = DTPicker1.Month
Year = DTPicker1.Year
Dato = Dag & Mdr & Year

Men jeg for stadig en fejl når jeg så prøve at tilføje datoen til Databasen

Fejl:

[Microsoft][ODBC Microsoft Access-driver] Datatypen stemmer ikke overens i kriterieudtrykket.

Hvad er det lige jeg gør galt

Min DTPicker giver valuen 2112003
Men det virker jo egentlig ikke for når vi når til Oktober vil den jo være

21102003

Og det er jo 9 tegn

MC
Avatar billede bennytordrup Nybegynder
22. januar 2003 - 09:23 #1
Dim Dag As Single
Dim Mdr As Single
Dim Year As Single
Dag = DTPicker1.Day
Mdr = DTPicker1.Month
Year = DTPicker1.Year
Dato = Format$(Dag, "00") & Format$(Mdr, "00") & Format$(Year, "0000")
Avatar billede ocp Nybegynder
22. januar 2003 - 09:29 #2
Benny.Tordrup>>
I virkeligheden bør udtrykket vel vendes om for altid at blive tolket korrekt:

Dato = Format$(Year, "0000") & Format$(Mdr, "00") & Format$(Dag, "00")

Eller er det kun SQL Server der oprerer med den syntaks?
Avatar billede mc.lucifer Praktikant
22. januar 2003 - 09:30 #3
Benny tordrup>> jeg takker for du gad at rette mine høcker koder
Men Jeg kan stadig ikke tilføje den til databasen, For stadiig fejlen

[Microsoft][ODBC Microsoft Access-driver] Datatypen stemmer ikke overens i kriterieudtrykket.
Avatar billede ocp Nybegynder
22. januar 2003 - 09:32 #4
Prøv dette

Dato = Format$(Year, "0000") & "/" & Format$(Mdr, "00") & "/" & Format$(Dag, "00")
Avatar billede mc.lucifer Praktikant
22. januar 2003 - 09:33 #5
OCP. Jeg prøver lige

Men jeg ved ikke om i kan læse det ud af fejlmeddelsen, Men jeg bruger SQL mod min Access DB

MC
Avatar billede mc.lucifer Praktikant
22. januar 2003 - 09:36 #6
Hurraaaaa Og det var danmark og det ...... Godt så

Men nu virker det

Private Sub Command1_Click()
Dim Dag As Single
Dim Mdr As Single
Dim Year As Single
Dag = DTPicker1.Day
Mdr = DTPicker1.Month
Year = DTPicker1.Year
Dato = Format$(Year, "0000") & "/" & Format$(Mdr, "00") & "/" & Format$(Dag, "00")
Main.Label12 = Dato
Set MyConn = CreateObject("ADODB.Connection")
MdbFilePath = "c:\store\db.mdb"
MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
SQL_query = "Insert into Enhed (Kategori, Navn, Placering, Garenti, User, Kommentare, Indkobt) VALUES ('" + Combo1.Text + "','" + Text2.Text + "','" + Text3.Text + "','" + Text5.Text + "','" + Text6.Text + "','" + Text7.Text + "','" + Dato + "')"
MyConn.Execute (SQL_query)
Me.Hide
Main.Show

End Sub

Jeg vil mene at i skal dele pointene.
Hvad siger i til det
MC
Avatar billede bennytordrup Nybegynder
22. januar 2003 - 09:37 #7
mc.lucifer >> Det er kun SQL Server, der bruger den syntax (AFAIR). Desuden skal du have datokonstanter omkranset af #, når du bruger Access
Avatar billede ocp Nybegynder
22. januar 2003 - 09:39 #8
Så skidt da ;-)
Avatar billede mc.lucifer Praktikant
22. januar 2003 - 09:39 #9
Benny>>> den forstod jeg ikke lige # Hvor

MC
Avatar billede bennytordrup Nybegynder
22. januar 2003 - 09:40 #10
Al min erfaring er, at datokonstanter (2002/11/15) skal omkranses af # således:

#2002/11/15#
Avatar billede ocp Nybegynder
22. januar 2003 - 09:40 #11
Det er rigtigt nok hvad Benny siger, MEN det virker altså alligevel i dette tilfælde.
Avatar billede ocp Nybegynder
22. januar 2003 - 09:42 #12
Fra Access' hjælpefil:

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#.
Avatar billede mc.lucifer Praktikant
22. januar 2003 - 09:42 #13
Ja det virker
Men jeg kan ikke lige se hvor jeg skal smide de havelåger
Dato = #Format$(Year, "0000") & "/" & Format$(Mdr, "00") & "/" & Format$(Dag, "00")# <---- Her ???

MC
Avatar billede bennytordrup Nybegynder
22. januar 2003 - 09:43 #14
SQL_query = "Insert into Enhed (Kategori, Navn, Placering, Garenti, User, Kommentare, Indkobt) VALUES ('" + Combo1.Text + "','" + Text2.Text + "','" + Text3.Text + "','" + Text5.Text + "','" + Text6.Text + "','" + Text7.Text + "',#" + Dato + "#)"
Avatar billede ocp Nybegynder
22. januar 2003 - 09:43 #15
Dato = "#" & Format$(Year, "0000") & "/" & Format$(Mdr, "00") & "/" & Format$(Dag, "00") & "#"
Avatar billede mc.lucifer Praktikant
22. januar 2003 - 09:50 #16
Ok, Fjong,

Takker mang gange for hjælpe

MC
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