|
| Ingen poster Fra : bsn |
Dato : 15-04-04 21:32 |
|
Hej NG
Denne sql sætning skulle give en post, da jeg har datoen 15-01-2004 i min
database.
sql = "SELECT * FROM tblValgAktivitet WHERE Dato=" & Datepart("m",Dato=aID)
"aID=1" er fra en requestquerystring"", og den bliver overført til asp
siden.
Help please...
Bjarne
| |
Jacob Læssøe Nielsen (15-04-2004)
| Kommentar Fra : Jacob Læssøe Nielsen |
Dato : 15-04-04 23:25 |
|
> sql = "SELECT * FROM tblValgAktivitet WHERE Dato=" &
Datepart("m",Dato=aID)
Måske: sql = "SELECT * FROM tblValgAktivitet WHERE Dato=" &
Datepart("m",Dato=" & Request("aID") & ")"
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system ( http://www.grisoft.com).
Version: 6.0.656 / Virus Database: 421 - Release Date: 09-04-2004
| |
bsn (16-04-2004)
| Kommentar Fra : bsn |
Dato : 16-04-04 12:07 |
|
"Jacob Læssøe Nielsen" <cobbe@webspeed.dk> skrev
> Måske: sql = "SELECT * FROM tblValgAktivitet WHERE Dato=" &
> Datepart("m",Dato=" & Request("aID") & ")"
Den giver denne fejl:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EE)
Tegnet ')' var ventet
/3kreds/aktivitetskalender/januar_.asp, line 25, column 84
sql = "SELECT * FROM tblValgAktivitet WHERE Dato=" & Datepart("m",Dato=" &
Request("aID") & ")"
----------------------------------------------------------------------------
-------^
Så har jeg prøvet denne:
sql = "SELECT * FROM tblValgAktivitet WHERE Dato=" & Datepart & "('m',Dato="
& (Request.Querystring("id")) & ")"
Den giver denne fejl:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01C2)
Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig:
'Datepart'
Bjarne
| |
Jacob .. (16-04-2004)
| Kommentar Fra : Jacob .. |
Dato : 16-04-04 13:59 |
|
> Den giver denne fejl:
> Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EE)
> Tegnet ')' var ventet
> /3kreds/aktivitetskalender/januar_.asp, line 25, column 84
Jeg manglede lige et " &
Prøv:
sql = "SELECT * FROM tblValgAktivitet WHERE Dato=" & Datepart("m",Dato=" &
Request("aID") & ") & ""
--
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
| |
Jens Gyldenkærne Cla~ (16-04-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 16-04-04 13:41 |
|
bsn skrev:
> Denne sql sætning skulle give en post, da jeg har datoen
> 15-01-2004 i min database.
>
> sql = "SELECT * FROM tblValgAktivitet WHERE Dato=" &
> Datepart("m",Dato=aID)
Prøv at udskrive din sql-sætning (se hvordan her:
< http://asp-faq.dk/article/?id=41>)
Når man arbejder med datoer, er det farligt at overføre værdier som
tekst - som du gør her. Hvis du er ude efter at finde poster fra en
bestemt måned, så lad Datepart-funktionen (ikke resultatet af den)
indgå i sql-sætningen:
SELECT * FROM tblValgAktivitet WHERE Datepart('m', dindato) = 1
På den måde slipper du for at tænke på datoformatet på webserveren
og i databasen.
--
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
| |
bsn (16-04-2004)
| Kommentar Fra : bsn |
Dato : 16-04-04 15:30 |
|
"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev
> Når man arbejder med datoer, er det farligt at overføre værdier som
> tekst - som du gør her. Hvis du er ude efter at finde poster fra en
> bestemt måned, så lad Datepart-funktionen (ikke resultatet af den)
> indgå i sql-sætningen:
>
>
> SELECT * FROM tblValgAktivitet WHERE Datepart('m', dindato) = 1
Min sql udskrevet:
SELECT * FROM tblValgAktivitet WHERE Datepart('m', Dato) = 1
Fejl:
ADODB.Recordset (0x800A0BB9)
Argumenterne har en forkert type eller er uden for det angivne område, eller
der er opstået en konflikt mellem dem.
/3kreds/aktivitetskalender/januar_.asp, line 32
Bjarne
| |
Jens Gyldenkærne Cla~ (16-04-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 16-04-04 15:47 |
|
bsn skrev:
> Min sql udskrevet:
> SELECT * FROM tblValgAktivitet WHERE Datepart('m', Dato) = 1
"Dato" kan ikke opfattes som en gyldig dato. Hvilken dato er det du
vil have ind her? Hvis det er den aktuelle, kan du skrive Date
eller Now i stedet.
Forresten så kan du bruge Month(datoværdi) som svarer helt til
Datepart('m', datoværdi). Det hjælper ikke på dit aktuelle problem
- for "datoværdi" skal stadig være noget der kan opfattes som en
dato, uanset om det er den ene eller den anden funktion du
benytter.
--
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
| |
bsn (16-04-2004)
| Kommentar Fra : bsn |
Dato : 16-04-04 16:13 |
|
"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns94CDAAB80A76Ejcdmfdk@gyrosmod.dtext.news.tele.dk...
> bsn skrev:
>
> > Min sql udskrevet:
> > SELECT * FROM tblValgAktivitet WHERE Datepart('m', Dato) = 1
>
> "Dato" kan ikke opfattes som en gyldig dato. Hvilken dato er det du
> vil have ind her? Hvis det er den aktuelle, kan du skrive Date
> eller Now i stedet.
Jeg vil trække alle de arrangementer ud, som foregår i Januar måned...
Bjarne
| |
bsn (16-04-2004)
| Kommentar Fra : bsn |
Dato : 16-04-04 16:22 |
|
"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev
> > bsn skrev:
> >
> > > Min sql udskrevet:
> > > SELECT * FROM tblValgAktivitet WHERE Datepart('m', Dato) = 1
> >
> > "Dato" kan ikke opfattes som en gyldig dato. Hvilken dato er det du
> > vil have ind her?
"Dato" er et felt i min tabel.
Bjarne
| |
Jens Gyldenkærne Cla~ (16-04-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 16-04-04 21:49 |
|
bsn skrev:
> "Dato" er et felt i min tabel.
O.k. - hvilken datatype har feltet?
Jeg har lige prøvet at lave en eksempeldatabase med et Dato-felt af
typen "Dato og klokkeslæt". Her virker følgende sql-sætning fint:
SELECT * FROM tblDato WHERE DatePart('m', Dato) = 1
Denne variant virker også fint:
SELECT * FROM tblDato WHERE Month(Dato) = 1
Begge sætninger er testet i Access 2000.
NB: Sætningen finder alle poster med en dato hvor måneden er 1
(januar) - uanset hvilket år der er tale om.
--
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
| |
bsn (17-04-2004)
| Kommentar Fra : bsn |
Dato : 17-04-04 07:48 |
|
"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns94CDE80944904jcdmfdk@gyrosmod.cybercity.dk...
> bsn skrev:
>
> > "Dato" er et felt i min tabel.
>
> O.k. - hvilken datatype har feltet?
"Dato og klokkeslæt".
> Jeg har lige prøvet at lave en eksempeldatabase med et Dato-felt af
> typen "Dato og klokkeslæt". Her virker følgende sql-sætning fint:
>
> SELECT * FROM tblDato WHERE DatePart('m', Dato) = 1
Det virker også fint her hos mig, når jeg prøver sql'en i databasen.
> Denne variant virker også fint:
>
> SELECT * FROM tblDato WHERE Month(Dato) = 1
Giver flg. fejl:
ADODB.Recordset (0x800A0BB9)
Argumenterne har en forkert type eller er uden for det angivne område, eller
der er opstået en konflikt mellem dem.
> Begge sætninger er testet i Access 2000.
Jeg bruger Office 2003.
> NB: Sætningen finder alle poster med en dato hvor måneden er 1
> (januar) - uanset hvilket år der er tale om.
Jeg skal kun bruge inden for det aktuelle år.
Bjarne.
| |
Jens Gyldenkærne Cla~ (17-04-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 17-04-04 10:15 |
|
bsn skrev:
>> SELECT * FROM tblDato WHERE Month(Dato) = 1
> Giver flg. fejl:
> ADODB.Recordset (0x800A0BB9)
> Argumenterne har en forkert type eller er uden for det angivne
> område, eller der er opstået en konflikt mellem dem.
Mærkeligt. Prøv at poste de relevante linjer i asp-filen (den linje
der fejler og de linjer hvor du opbygger og udskriver sql-
variablen.
> Jeg skal kun bruge inden for det aktuelle år.
Så skal du nok udvide forespørgslen med Year(Dato) = Year(Now())
--
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
| |
bsn (17-04-2004)
| Kommentar Fra : bsn |
Dato : 17-04-04 11:03 |
|
"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev
> Mærkeligt. Prøv at poste de relevante linjer i asp-filen (den linje
> der fejler og de linjer hvor du opbygger og udskriver sql-
> variablen.
Nu virker det, efter jeg fik nærstuderet koden. "sql" var byttet ud med
"sgl" - godmorgen... )
> > Jeg skal kun bruge inden for det aktuelle år.
>
> Så skal du nok udvide forespørgslen med Year(Dato) = Year(Now())
Ok
Mange tak for den vedvarende entusiasme...
Bjarne
| |
Jens Gyldenkærne Cla~ (18-04-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 18-04-04 20:07 |
|
bsn skrev:
> Nu virker det, efter jeg fik nærstuderet koden. "sql" var
> byttet ud med "sgl"
Ah - det forklarer jo noget. Bemærk at den type fejl (næsten) kan
elimineres ved at bruge Option Explicit i asp-filerne.
Se mere i artiklen her: < http://asp-faq.dk/article/?id=9>.
--
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
| |
|
|