Avatar billede skildpadden Nybegynder
10. marts 2004 - 20:39 Der er 7 kommentarer og
1 løsning

WHERE i access database

Skulle nedenstående kode:

strDagsDato = Day(Date) & "-" & Month(Date) & "-" & Year(Date)

RstObj.Open "Select * From Bannere WHERE [Kategori] = 'Topbannere' " & "AND [PeriodeStart] <= "&strDagsDato&" AND [PeriodeSlut] >= "&strDagsDato&" "

Ikke kunne hente poster hvor KATEGORI er TOPBANNERE - PERIODESTART ligger før dags dato og PERIODESLUT ligger efter dags dato?
Avatar billede eagleeye Praktikant
10. marts 2004 - 20:43 #1
Nej hvis det er en PeriodeStart og PeriodeSlut er af typen Date/Time skal der # omkring i SQL sætningen. Samt Access skal havde datoen i yyyy-mm-dd eller mm-dd-yyyy via SQL og ikke i DK format. Ved DK format vil den bytte rundt på dag og månede.

Så prøv:

strDagsDato =  Year(Date) & "-" & Month(Date) & "-" & Day(Date)

RstObj.Open "Select * From Bannere WHERE [Kategori] = 'Topbannere' " & "AND [PeriodeStart] <= #"&strDagsDato&"# AND [PeriodeSlut] >= #"&strDagsDato&"#"
Avatar billede eagleeye Praktikant
10. marts 2004 - 20:44 #2
men når du bruge Date som dato kan du ligeså godt bruge Access egen Date funtion så din SQL bliver (uden # omkring):

RstObj.Open "Select * From Bannere WHERE [Kategori] = 'Topbannere' AND  [PeriodeStart] <= Date() AND [PeriodeSlut] >= Date()"
Avatar billede skildpadden Nybegynder
10. marts 2004 - 20:48 #3
eagleeye: jeg får en fejl ved begge dine forslag

ADODB.Recordset error '800a0e7d'
The connection cannot be used to perform this operation. It is either closed or invalid in this context.
Avatar billede eagleeye Praktikant
10. marts 2004 - 20:54 #4
Hvordan ser "hele" koden ud?
Der manlger en connection eller connectionstring i den viste linje eks:

RstObj.Open "Select * From Bannere WHERE [Kategori] = 'Topbannere' " & "AND [PeriodeStart] <= #"&strDagsDato&"# AND [PeriodeSlut] >= #"&strDagsDato&"#", Conn, 1
Avatar billede skildpadden Nybegynder
10. marts 2004 - 20:55 #5
<%
Dim ConnObj
Set ConnObj = Server.Createobject("ADODB.Connection")
Set RstObj = Server.CreateObject("ADODB.Recordset")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\udvikling\portal.danskewww.dk\docs\data\database.mdb; password=123abc"
ConnObj.Open strDSN
%>

<%
strDagsDato = Day(Date) & "-" & Month(Date) & "-" & Year(Date)

Set RstObj = Server.CreateObject("ADODB.RecordSet")
RstObj.Open "Select * From Bannere WHERE [Kategori] = 'Topbannere' " & "AND [PeriodeStart] <= "&strDagsDato&" AND [PeriodeSlut] >= "&strDagsDato&" "

Do While Not Fundet
    RstObj.MoveFirst
    Randomize
    RstObj.Move(int(RstObj.RecordCount * rnd))
    If Not RstObj.EOF And Not RstObj.BOF Then
        Fundet = True
    End If
Loop
%>
Avatar billede eagleeye Praktikant
10. marts 2004 - 21:02 #6
ok så din Connectione hedder ConnObj så prøv at rette:

RstObj.Open "Select * From Bannere WHERE [Kategori] = 'Topbannere' " & "AND [PeriodeStart] <= "&strDagsDato&" AND [PeriodeSlut] >= "&strDagsDato&" "


Til:

RstObj.Open "Select * From Bannere WHERE [Kategori] = 'Topbannere' " & "AND [PeriodeStart] <= #"&strDagsDato&"# AND [PeriodeSlut] >= #"&strDagsDato&"#", ConnObj, 1
Avatar billede skildpadden Nybegynder
10. marts 2004 - 21:05 #7
Du er f*me en guttermand! - det drøner bare der ud af nu!

Takker! - smid lige et svar
Avatar billede eagleeye Praktikant
10. marts 2004 - 21:08 #8
Ok et svar :)
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