Avatar billede kbirk Nybegynder
21. april 2004 - 07:47 Der er 34 kommentarer og
1 løsning

Access Datatype problem

Hejsa!

Jeg har fået stillet en database til rådighed hvori jeg skal oprette poster, men det giver en del problemer:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/qscm/projectForm.asp, line 22


Jeg har følgende typer i databasen som jeg kunne tænke mig giver problemer: Notat, Dato og klokkeslæt, Ja/Nej og Valuta..

Så er mit spørgsmål, hvad skal jeg tage hensyn til, og hvordan skal disse inputtes..?

Jeg har en inputmaske på 'Dato og klokkeslæt' som i access ser således ud: 99-99-00;0 ..

Jeg kan ikke lave om i databasen da det er en som allerede indeholder mange records, hvad skal jeg gøre..?

Hilsen Kaser
Sorry men kunne ikke give mere end 80 point, da det er mini sidste..
Avatar billede juks Novice
21. april 2004 - 07:51 #1
prøv asp kategorien
Avatar billede jensen363 Forsker
21. april 2004 - 07:54 #2
ODBC fejlmeddelelsen, får du den i forbindelse med åbning af databasen ?
Avatar billede kbirk Nybegynder
21. april 2004 - 08:46 #3
Nej jeg for den idet jeg ønsker at insette posten, fra min asp side..
Avatar billede mugs Novice
21. april 2004 - 08:46 #4
Her ikke forstand på ASP, men denne fejl:

Data type mismatch in criteria expression

tyderpå, at du prøver at overføre forkerte datatyper. F.eks. alfanumeriske data til et numerisk felt. Prøv at sammenligne data og sikre korrekte datatyper.
21. april 2004 - 08:51 #5
hvordan ser din kode ud (bare den del, hvor du forsøger at indsætte)?
Avatar billede ddobbeltv Nybegynder
21. april 2004 - 09:25 #6
Access og Odbc driver ? Hvordan ser din connectionsstring ud ?
Avatar billede terry Ekspert
21. april 2004 - 12:05 #7
when you create records text and date values should be inside '' and number without.

Dates should also be valid date types. Yes/No (boolean) are either -1 (yes( or 0 (no) in Access
Avatar billede kbirk Nybegynder
21. april 2004 - 19:33 #8
Line 22 som fejler ser således ud:
set objRec = objCon.execute("INSERT INTO projects (ProjectName, ProjectDescription, CustomerID, ProjectBeginDate, ProjectEndDate, PaymentTerms, MileageBillingOn, MileageBillingRate, MileageBillingCurrency, ProjectRef) values ('" & request.form("projectName") & "','" & request.form("projectDescription") & "'," & request.form("companyID") & ",'" & request.form("projectBeginDate") & "','" & request.form("projectEndDate") & "','" & request.form("paymentTerms") & "','" & request.form(mileageBillingOn) & "'," & request.form("mileageBillingRate") & ",'" & request.form("mileageBillingCurrency") & "','" & request.form("projectRef") & "')")
Avatar billede jpvj Nybegynder
21. april 2004 - 19:34 #9
Kunne du ikke lige tage og lave en streng ud af  kaldet?

Noget i stil med

Str = "INSERT INTO projects (ProjectName, ProjectDescription, CustomerID, ProjectBeginDate, ProjectEndDate, PaymentTerms, MileageBillingOn, MileageBillingRate, MileageBillingCurrency, ProjectRef) values ('" & request.form("projectName") & "','" & request.form("projectDescription") & "'," & request.form("companyID") & ",'" & request.form("projectBeginDate") & "','" & request.form("projectEndDate") & "','" & request.form("paymentTerms") & "','" & request.form(mileageBillingOn) & "'," & request.form("mileageBillingRate") & ",'" & request.form("mileageBillingCurrency") & "','" & request.form("projectRef") & "')")

og så udskrive strengen til skærmen i stedet for at kalde objCon.execute?

Så kan vi da se hvad den sender til database driveren...
Avatar billede terry Ekspert
21. april 2004 - 19:51 #10
you must be 100% sure that the fields in your web form do contain data, and that the values are valid!
Do as jpvj says and write the sql to the screen so you can see exactly what is happening. You can also copy th estring to a query in Access and see if it works there. If it fails in Access you will have a better chanc eof seeing why!
Avatar billede kbirk Nybegynder
21. april 2004 - 19:53 #11
Yes sir..
INSERT INTO projects (ProjectName, ProjectDescription, CustomerID, ProjectBeginDate, ProjectEndDate, PaymentTerms, MileageBillingOn, MileageBillingRate, MileageBillingCurrency, ProjectRef) values ('Navn','Beskrivelse',7,'01-01-2005','01-05-2005','10 til 14 dage på konto',0,12,'DK','Nummer 513')
Avatar billede kbirk Nybegynder
21. april 2004 - 19:56 #12
Men jeg ved ikke hvordan man fyrer en sql streng af direkte i access..
Avatar billede terry Ekspert
21. april 2004 - 19:56 #13
looks OK from here.
Can you make a query in Access with this. You can also send your dB to me if you like and I can maybe see where the problem is!

eksperten@NOSPAMsanthell.dk

remove NOSPAM
Avatar billede kbirk Nybegynder
21. april 2004 - 19:58 #14
Sorry, men det er ikke mine data som ligger iden.. Så jeg kan desværre ikke sende dig den..
Avatar billede terry Ekspert
21. april 2004 - 20:01 #15
Can you try making an Access query yourself?

Make sure that the data types you are sending to the fields in the projects table are correct.
You could also try changing your date formats to

yyyy-mm-dd
Avatar billede kbirk Nybegynder
21. april 2004 - 20:02 #16
terry jeg har sendt dig et screenshot..
Avatar billede terry Ekspert
21. april 2004 - 20:03 #17
the input mask in the date fields has no influence in your ASP application! Dates in Access are always stored in the same way. But if the values are NOT a correct date format then an error will occur.
Avatar billede terry Ekspert
21. april 2004 - 20:04 #18
OK 21/04-2004 20:02:25
Avatar billede kbirk Nybegynder
21. april 2004 - 20:11 #19
Yes yes yes.. Har lokaliseret problemet.. Det er det datafelt der hedder Notat.. Det vil altså ikke ind som alm streng.. Ved i hvad der kan være galt..?
Avatar billede terry Ekspert
21. april 2004 - 20:11 #20
The only fields I can see which may give problems are
ProjectDescription  (Notat) Can you change this to text?
ProjectBeginDate (Date/time) MUST be a valid date format
ProjectEndDate (Date/time)  MUST be a valid date format
MileageBillingRate (Valuta)  I would think that this value (12) is OK, but you may need to alter it to 12.0, I can see why though!

Can you send me the table (empty)?
Avatar billede kbirk Nybegynder
21. april 2004 - 20:13 #21
Har fundet dette i access hjælpen:
Bemærkninger
Felter af typen Notat, Hyperlink og OLE-Objekt kan ikke indekseres (indeks: En funktion, der øger hastigheden i søgningen og sorteringen i en tabel på basis af nøgleværdier, og som kan gennemtvinge, at rækkerne i en tabel er unikke. Den primære nøgle til en tabel indekseres automatisk. Visse felter kan ikke indekseres på grund af deres datatype.).

Men hvad vil det sige..?
Avatar billede kbirk Nybegynder
21. april 2004 - 20:14 #22
Jeg tror ikke jeg kan lave feltet notat om, med mindre det slet ikke er muligt at inputte en alm. streng fra asp..
Avatar billede terry Ekspert
21. april 2004 - 20:14 #23
Notat fields!! They always seem to give problems in ASP!
A notat field is a VERY LARGE field (65,535 characters) or greater!
If you can change this to text it will help!
Avatar billede terry Ekspert
21. april 2004 - 20:15 #24
Can a ProjectDescription  be greater than 255 characters?
Avatar billede kbirk Nybegynder
21. april 2004 - 20:16 #25
Okay.. Men hvilken inflydelse vil det så få på den data som allerede står i disse felter..?
Avatar billede kbirk Nybegynder
21. april 2004 - 20:26 #26
Det er vist slet ikke notat feltet, troede bare det var den fordig den ikke mældte fejl når jeg unlod den, men havde glæmt jeg havde lavet i asp så den ikke postede hvis de to første felter ikke var udfyldt..
terry jeg sender dig lige den tomme DB
Avatar billede terry Ekspert
21. april 2004 - 20:29 #27
OK!
Avatar billede kbirk Nybegynder
21. april 2004 - 20:35 #28
Skal Dato'en inputtes som string eller integer..?
Avatar billede terry Ekspert
21. april 2004 - 20:41 #29
string!

The SQL works fine here, I have sent you a mail!
Avatar billede terry Ekspert
21. april 2004 - 20:43 #30
Could still be the memo field! 21/04-2004 20:26:11
Alter the memo fields "Allow Zero Length" to YES. If it is NO then you must have a default value!
Avatar billede terry Ekspert
21. april 2004 - 20:44 #31
If it is NO then you must have a default value! >>>>when you remove (unlod) it!
Avatar billede kbirk Nybegynder
21. april 2004 - 21:38 #32
Hej igen..
Nu har jeg klaret det, tak for hjælpen til jer alle..
Det var som du kom ind på terry, mange af felterne var oblikatoriske og kunne ikke indeholde en nulværdi..
Avatar billede terry Ekspert
21. april 2004 - 21:53 #33
tak, strange though, none of your fields were NULL were they?
Avatar billede kbirk Nybegynder
21. april 2004 - 22:15 #34
Nej, men de har måske været forkerte datatyper.. Er igang med at tjekke dem en efter en.. Det dur :D..
Avatar billede terry Ekspert
22. april 2004 - 19:27 #35
OK og tak :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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