Avatar billede want2learn Nybegynder
30. marts 2006 - 23:15 Der er 14 kommentarer og
1 løsning

Data type mismatch in criteria expression fejl

Hej jeg får denne fejl:

Microsoft JET Database Engine error '80040e07'
Data type mismatch in criteria expression.
process.asp, line 15

Linje 15 = Set objRS = objConn.Execute(strSQL)

Min kode er:
process = Request.QueryString("process")

Sub omklubben()

Call OpenDB
  If process <> "1" Then
    strSQL = "SELECT [TextID], [TextOverskrift], [TextMain] FROM index"
    strSQL = strSQL & " WHERE [TextID] = '" & process & "'"
  Else
    strSQL = "SELECT [TextID], [TextOverskrift], [TextMain] FROM index"
    strSQL = strSQL & " WHERE [TextID] = 1"
  End If
  Set objRS = objConn.Execute(strSQL)
 
  If Not (objRS.BOF Or objRS.EOF) Then
...
..
.


Hvad kan fejlen skyldes.
Avatar billede saudoo Nybegynder
30. marts 2006 - 23:19 #1
Du er sikker på dine datatyper er sat rigtigt ifh. det indhold der skrives til felterne?
Avatar billede kalp Novice
30. marts 2006 - 23:19 #2
If process <> "1" Then
    strSQL = "SELECT [TextID], [TextOverskrift], [TextMain] FROM index"
    strSQL = strSQL & " WHERE [TextID] = " & process & ""
Avatar billede eagleeye Praktikant
30. marts 2006 - 23:19 #3
Hvis kolonnen TextID er af typen tekst så skal der ' omkring 1 tallet i denne

    strSQL = strSQL & " WHERE [TextID] = '1'"
Avatar billede want2learn Nybegynder
30. marts 2006 - 23:31 #4
nej virker heller ikke.

samme fejl.

kan der være fordi jeg åbner 2 databaser med 2 forskellige filer men hvor objRS,strSQL og objConn er det samme men database navne er forskellige !?
Avatar billede eagleeye Praktikant
30. marts 2006 - 23:34 #5
Prøv også lige at sætte klamme omkring index det er vist reserveret ord i access:

..  FROM [index]"
Avatar billede kalp Novice
30. marts 2006 - 23:35 #6
det er det
Avatar billede want2learn Nybegynder
30. marts 2006 - 23:36 #7
det er heller ikke det, samme fejl fortsat.
Avatar billede eagleeye Praktikant
30. marts 2006 - 23:37 #8
ok hvordan ser de to SQL sætninger så ud nu?
Avatar billede eagleeye Praktikant
30. marts 2006 - 23:42 #9
Prøv lige at udskrive strSQL det kan også være fordi variablen process er tom:

    strSQL = ...
  End If
  Response.Write strSQL
  Response.End 'stopper koden for at undgå fejl

  Set objRS = objConn.Execute(strSQL)
 



Jeg sidder lige og kigger på din if sætning:

  If process <> "1" Then

Det er kun hvis process er lig "1" den kommer ind i else delen hvor du har hardcoded TextId til 1. Ved alle andre værdier af process kommer du ind i then delen. Er det meningen?
Avatar billede want2learn Nybegynder
30. marts 2006 - 23:49 #10
dette får jeg hvis jeg laver din kode:
SELECT [TextID], [TextOverskrift], [TextMain] FROM [index] WHERE [TextID] = '1'

tror dog jeg sletter 1 i min if sætning så når det er "" = tomt så laver den 1 og ellers kigger den på hvilket tal den skal bruge.

og klikker jeg på mine link så kan jeg ændre 1 til 2,3 eller 4. så det ser ud somom den henter tallet godt nok som den skal.

men kan ikke få den til at udskrive den record hvor min ID er = tallet
Avatar billede eagleeye Praktikant
30. marts 2006 - 23:52 #11
ok så skal du havde ' væk omkrning 1 tallet så du skal gøre som kalp forslog :)
Så du skal lige rette mit forslag tilbage til det orginale :)

  strSQL = strSQL & " WHERE [TextID] = 1"
Avatar billede eagleeye Praktikant
30. marts 2006 - 23:53 #12
Ja hvis du også rette if sætningen til:

  If process <> "" Then

Så giver den mening, hvis process ikke er valgt vælges TextId = 1 :)
Avatar billede want2learn Nybegynder
30. marts 2006 - 23:56 #13
ahh okay det er da rigtigt..

dog virkede det ikke får selvom jeg fjernede ' ved taller men fjernede dem også ved process og så virker det nu.

mange tak

og havde kun set i kalp's svar at det var 1 tallet og ikke process, beklager.

KLAP vil du lægge et svar og tak ;)
Avatar billede kalp Novice
31. marts 2006 - 00:00 #14
Deler gerne med eagleeye
han fik brugt lidt tid på spørgsmålet også:)
Avatar billede want2learn Nybegynder
31. marts 2006 - 00:05 #15
tror Eagleeye er med på at du tage dem ;)
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