/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
MS Access-fejl; for få parametre
Fra : Jonas Schmeltz Aaber~


Dato : 02-07-04 10:39

Hvorfor får jeg følgende fejl når jeg eksekverer min SQL-streng?

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få
parametre. Der var ventet 1.

Min streng ser sådan ud i ASP:
strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < " & Date & "
AND Afleveringsdato > " & Date & " AND Hjemme = 'Yes'"

Når jeg udskriver den, får jeg følgende:
SELECT * FROM Ordrer WHERE Udlånsdato < 02-07-2004 AND
Afleveringsdato > 02-07-2004 AND Hjemme = 'Yes'

- Dét kan jeg da ikke se det forkerte i?

Jeg har også prøvet at erstatte Date med Now, men så får jeg
fejlen:
strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < " & Now & "
AND Afleveringsdato > " & Now & " AND Hjemme = 'Yes'"
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl,
fordi der mangler en operator. i forespørgselsudtrykket
"Udlånsdato < 02-07-2004 11:35:14 AND Afleveringsdato >
02-07-2004 11:35:14 AND Hjemme = 'Yes'".

Jeg går ud fra, at det er pga. mellemrummet mellem datoen og
tiden - så prøver vi med apostroffer:
strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < '" & Now & "'
AND Afleveringsdato > '" & Now & "' AND Hjemme = 'Yes'"
(SELECT * FROM Ordrer WHERE Udlånsdato < '02-07-2004 11:37:32'
AND Afleveringsdato > '02-07-2004 11:37:32' AND Hjemme = 'Yes')
- Og så får jeg fejlmeddelelsen, vi startede med; at der er for
få parametre!!

Hjææælp! Jeg kan ikke finde fejlen!

MVH Jonas (aka Juke)

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
thomas fagerholt (02-07-2004)
Kommentar
Fra : thomas fagerholt


Dato : 02-07-04 10:50

Hej Jonas

Er der ikke noget med at datoer skal skrives omgivet af havelåger f.eks.
#dato#
Det er lang tid siden jeg har arbejdet med Access, men prøv det lige.

Mvh
Thomas



Jonas Schmeltz Aaber~ (02-07-2004)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 02-07-04 11:33

thomas fagerholt wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej Jonas
>
> Er der ikke noget med at datoer skal skrives omgivet af havelåger f.eks.
> #dato#
> Det er lang tid siden jeg har arbejdet med Access, men prøv det lige.

Har prøvet, og fejlen er der stadig! :(

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Nikolaj Rasmussen (02-07-2004)
Kommentar
Fra : Nikolaj Rasmussen


Dato : 02-07-04 12:01

Prøv ...
Min streng ser sådan ud i ASP:
strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < '" & Date & "'
AND Afleveringsdato > '" & Date & "' AND Hjemme = 'Yes'"

... så det bliver til følgende ...

SELECT * FROM Ordrer WHERE Udlånsdato < '02-07-2004' AND
Afleveringsdato > '02-07-2004' AND Hjemme = 'Yes'


Kan ikke huske om det er ' eller " i access, men ' i interbase.
Plus om det er DD-MM-YYYY, MM-DD-YYYY eller om det er
regional settings på "serveren" der styrer det.

mvh
Nikolaj Rasmussen




Jonas Schmeltz Aaber~ (02-07-2004)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 02-07-04 18:37

Nikolaj Rasmussen wrote in dk.edb.internet.webdesign.serverside.asp:
> Prøv ...
> Min streng ser sådan ud i ASP:
> strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < '" & Date & "'
> AND Afleveringsdato > '" & Date & "' AND Hjemme = 'Yes'"
>
> ... så det bliver til følgende ...
>
> SELECT * FROM Ordrer WHERE Udlånsdato < '02-07-2004' AND
> Afleveringsdato > '02-07-2004' AND Hjemme = 'Yes'
>
>
> Kan ikke huske om det er ' eller " i access, men ' i interbase.
> Plus om det er DD-MM-YYYY, MM-DD-YYYY eller om det er
> regional settings på "serveren" der styrer det.
>
> mvh
> Nikolaj Rasmussen

Har prøvet; samme fejl - mangler parameter!

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørgen Müller (02-07-2004)
Kommentar
Fra : Jørgen Müller


Dato : 02-07-04 20:22

Jonas Schmeltz Aaberg skrev:
> Min streng ser sådan ud i ASP:
> strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < '" & Date & "'
> AND Afleveringsdato > '" & Date & "' AND Hjemme = 'Yes'"

Access kræver havelåger # om dato værdier, så du skal skrive
strSQL3 ="SELECT * FROM Ordrer WHERE Udlånsdato < #" & Date & "#
AND Afleveringsdato > #" & Date & "# AND Hjemme = 'Yes'"

--
Med Venlig Hilsen
Jørgen Müller



Jens Gyldenkærne Cla~ (02-07-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-07-04 22:13

Jonas Schmeltz Aaberg skrev:

> Min streng ser sådan ud i ASP:
> strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < " & Date & "
> AND Afleveringsdato > " & Date & " AND Hjemme = 'Yes'"

Du går over åen efter vand. Som koden ser ud herover beder du asp-
parseren om at beregne dags dato og sender derefter en
tekstrepræsentation af datoen videre til Access. Som du har opdaget
giver det flere fejlmuligheder (i første omgang skal der
anførselstegn om datoerne, i anden omgang skal du sikre dig at
datoformatet på asp-siden matcher det datoformat som access-
databasen benytter).

Access har - ligesom asp - funktioner der giver dags dato (Date) og
dags dato + tid (now). Hvis du bruger dem i stedet for at bruge
asp's udgaver, slipper du helt for at tænke på anførselstegn og
datoformater:

strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < Now()" & _
   " AND Afleveringsdato > Now() AND Hjemme = 'Yes'"

(linjeskiftet skal bibeholdes)

NB: Hvis "Hjemme" er et boolesk felt (ja/nej, sand/falsk), skal du
skrive Hjemme = True i stedet for Hjemme = 'Yes'
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jonas Schmeltz Aaber~ (11-07-2004)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 11-07-04 21:04

> Du går over åen efter vand. Som koden ser ud herover beder du asp-
[klip]
> Access har - ligesom asp - funktioner der giver dags dato (Date)
og
> dags dato + tid (now). Hvis du bruger dem i stedet for at bruge
> asp's udgaver, slipper du helt for at tænke på anførselstegn og
> datoformater:
>
> strSQL3 = "SELECT * FROM Ordrer WHERE Udlånsdato < Now()" &_
>    " AND Afleveringsdato > Now() AND Hjemme = 'Yes'"

- Smart! Hehe..

Det var lige det, der manglede - og så, at jeg havde angivet et felt
(Hjemme) fra en anden tabel. Det skulle i stedet have været
"Afsluttet".
Ja, det hjælper at se sin kode igennem en ekstra gang!

Tak for hjælpen! - Nu virker det hele.

MVH Jonas (aka Juke)

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408805
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste