webForumDet fria alternativet

mismatch error??

6 svar · 195 visningar · startad av niclas.j

niclas.jMedlem sedan juni 2000120 inlägg
#1

Hej.
Jag har ett formulär med en list meny, den hämtar namn från ett fält i tabellen namn. den ska sedan öppna sida2 beroende på just det fältnamnet öppningen ser ut som följer:

visa= "SELECT * From tabell2 WHERE access=" & Request.Form("namn") & ""

men jag får hela tiden syntax error:
Data type mismach in criteria expression

vad kan det bero på??? på sidan med felmedelandet ser man att den hämtat rätt under "POST"
namn=blabla submit=ok

/niclas

------------------
ingenting är omöjligt det tar bara lite längre tid..

@ndersMedlem sedan juni 200032 969 inlägg
#2

antar att access är ett fält av texttyp.

prova följande:

visa= "SELECT * From tabell2 WHERE [access]='" & Request.Form("namn") & "'"

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

niclas.jMedlem sedan juni 2000120 inlägg
#3

ja du @nders tänk att jag glömde enkel fnuttarna igen...Tack

appropå det betyder enkelfnuttarna att man gör om det till string? har aldrig riktigt vetat varför man skriver så...

/niclas

------------------
ingenting är omöjligt det tar bara lite längre tid..

VideMedlem sedan dec. 19998 577 inlägg
#4

Att du sätter enkelfnuttar betyder att du anger att värdet inom dem är text... utan dom säger du att de är Integer, och i Access så betyder # att det är ett datum...

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

niclas.jMedlem sedan juni 2000120 inlägg
#5

Hej vide.
alltså, om man inte deklarerar ett värde så antas det att det är en Integer? tex vad/hur skriver man om man vill ha värdet i byte, long, single? och hur är det med "variant?" kan vara intresant att veta om man har sådana värden i databasen..

/niclas

------------------
ingenting är omöjligt det tar bara lite längre tid..

VideMedlem sedan dec. 19998 577 inlägg
#6

I en SQL-sats kan du inte deklarera en tom variabel som integer, det kommer att ge ett felmeddelande:

SQL = "Select * from tblUsers where userid = "&tom_var&" Order by dtm Desc"

Kommer att ge ett felmeddelande...

Long och single är väl också sorter av integer så samma sak gäller där. Vad gäller Byte så vet jag inte faktiskt.

Variant skulle jag tro är en text i SQL men nu blir jag väldans osäker... @nders? Emission? Nån? :)

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

@ndersMedlem sedan juni 200032 969 inlägg
#7

variant är någonting som inte existerar i databasen.

huruvida du väljer att ha apostrofer runt värdet i din sql-fråga, har inget att göra med vad värdet är för datatyp. det har att göra med vad databasen förväntar sig.

exempelvis har du en tom variant som du på något sätt skall sparka in i en kolumn i din tabell av typen text så är det inga problem. om däremot kolumnen är av typen tal, så måste du sätta den tomma varianten till null, annars får du syntaxfel i din sql-fråga.

alltså: är kolumnen i accesstabellen av text- eller pm/memo-typ, så skall värdet i sql-frågan omslutas av apostrofer. är kolumnen definierad som tal så får du inte ha apostrofer. är det en kolumn som är av typen datum, skall brädgård omsluta värdet.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

124 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)