/ 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
SELECTmed datoer i WHERE
Fra : Jens R. rasmussen


Dato : 16-03-09 16:29

hej

Håber på hjælp, da jeg er kørt fast.

Jeg har en accecc database ved navn VVV med en tabel ved navn
Arrangementer, hvor kolonnen When1 indeholder datoer og kolonne
Open indenholder 'Y' eller 'N'

Tabel: Arrangementer
When1 Open
25-08-2008 N
16-09-2008 N
22-10-2008 N
12-11-2008 N
13-01-2009 N
24-02-2009 N
18-03-2009 Y
16-04-2009 N
11-05-2009 N

When1 er i access formatteret til dato-klokkeslet med dd-mm-yyyy.
Nu er det min opgave at udtrække alle de poster som har Open =
'N' AND Date < When1 - altså de 2 sidste poster i ovenstående.

Til min overraskelse får jeg alle poster med Open = 'N' uanset
hvad when1 er. Hvorfor det? Min sætning til sql-udtræk ser sådan
ud:

strSQL = "SELECT * FROM Arrangementer WHERE ((Open = 'N') AND
('FormatDateTime(Now,vbShortDate)' <
'FormatDateTime(when1,vbShortdate)')) ORDER BY When1"

set rs = Conn.Execute(strSQL)

Jeg troede det var et formateringsspørgsmål, så derfor tilføjede
jeg FormatDateTime - men lige meget hjalp det
Kan I se, hvad jeg gør galt?

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

 
 
Birger Sørensen (16-03-2009)
Kommentar
Fra : Birger Sørensen


Dato : 16-03-09 17:41

Jens R. rasmussen udtrykte præcist:
> hej
>
> Håber på hjælp, da jeg er kørt fast.
>
> Jeg har en accecc database ved navn VVV med en tabel ved navn
> Arrangementer, hvor kolonnen When1 indeholder datoer og kolonne
> Open indenholder 'Y' eller 'N'
>
> Tabel: Arrangementer
> When1 Open
> 25-08-2008 N
> 16-09-2008 N
> 22-10-2008 N
> 12-11-2008 N
> 13-01-2009 N
> 24-02-2009 N
> 18-03-2009 Y
> 16-04-2009 N
> 11-05-2009 N
>
> When1 er i access formatteret til dato-klokkeslet med dd-mm-yyyy.
> Nu er det min opgave at udtrække alle de poster som har Open =
> 'N' AND Date < When1 - altså de 2 sidste poster i ovenstående.
>
> Til min overraskelse får jeg alle poster med Open = 'N' uanset
> hvad when1 er. Hvorfor det? Min sætning til sql-udtræk ser sådan
> ud:
>
> strSQL = "SELECT * FROM Arrangementer WHERE ((Open = 'N') AND
> ('FormatDateTime(Now,vbShortDate)' <
> 'FormatDateTime(when1,vbShortdate)')) ORDER BY When1"
>
> set rs = Conn.Execute(strSQL)
>
> Jeg troede det var et formateringsspørgsmål, så derfor tilføjede
> jeg FormatDateTime - men lige meget hjalp det
> Kan I se, hvad jeg gør galt?

For mig at se, står 'er forkert...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Stig Johansen (16-03-2009)
Kommentar
Fra : Stig Johansen


Dato : 16-03-09 19:40

Jens R. rasmussen wrote:

> strSQL = "SELECT * FROM Arrangementer WHERE ((Open = 'N') AND
> ('FormatDateTime(Now,vbShortDate)' <
> 'FormatDateTime(when1,vbShortdate)')) ORDER BY When1"

Det burde virke direkte med
strSQL = "SELECT * FROM Arrangementer WHERE Open = 'N' AND
When1 > now ORDER BY When1"

Formatering er kun til visning.

--
Med venlig hilsen
Stig Johansen

Jens R. rasmussen (16-03-2009)
Kommentar
Fra : Jens R. rasmussen


Dato : 16-03-09 20:54

Tak Stig. Du har ganske ret - det virker. Men det undrer mig -
fordi jeg prøvede næsten det samme først - altså uden
formattering, og da virkede det ikke. Kan det have betydet noget
at jeg skrev

Now < When1 i stedet for When1 > Now ?

mvh
/jens

Stig Johansen wrote in dk.edb.internet.webdesign.serverside.asp:
> Jens R. rasmussen wrote:
>
> > strSQL = "SELECT * FROM Arrangementer WHERE ((Open = 'N') AND
> > ('FormatDateTime(Now,vbShortDate)' <
> > 'FormatDateTime(when1,vbShortdate)')) ORDER BY When1"
>
> Det burde virke direkte med
> strSQL = "SELECT * FROM Arrangementer WHERE Open = 'N' AND
> When1 > now ORDER BY When1"
>
> Formatering er kun til visning.
>
> --
> Med venlig hilsen
> Stig Johansen


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

Stig Johansen (16-03-2009)
Kommentar
Fra : Stig Johansen


Dato : 16-03-09 22:35

Jens R. rasmussen wrote:

> Kan det have betydet noget
> at jeg skrev
>
> Now < When1 i stedet for When1 > Now ?

Det bør ikke betyde noget. Personligt synes jeg bare det er pænere at skrive
feltet før kriterier, men det er en smagssag.

For at være sikker, testede jeg lige dette statement mod en Access database:

select count(*) from logfile where (now-2) < ldate
UNION ALL
select count(*) from logfile where ldate > (now-2)

Og resultatet bliver:
Expr1000
328
328
Count = 2

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177578
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste