Avatar billede moxtell Nybegynder
06. januar 2006 - 16:13 Der er 7 kommentarer og
1 løsning

Udløbsdato for nyhed

Hejsa

Jeg har oprettet en Access database med bl.a. et felt som jeg har kaldt "OutDate" samt et flet som hedder "NoShow". I "outDate" sætter jeg en udløbsdato for en nyhed (standard dato format) - i "NoShow" - som er et ja/nej felt kan jeg krdsye af manuelt hvis en nyhed ikke længere skal vises. Jeg vil nu gerne have lavet mit SQL/ASP script sådan at når udløbsdatoen i "OutDate" nås skal nyheden forsvinde - ikke slettes - bare ikke vises. Jeg er usikker på om jeg skal lave det i SQL forespørgslen eller i ASP koden.

Jeg har forsøgt flere ting. F.eks. troede jeg at følgende kunne bruges:

Nyheder.Source = "SELECT * FROM Nyheder WHERE Forbruger = " + Replace(Nyheder__MMColParam, "'", "''") + " AND NoShow = 0 AND OutDate <= Now() ORDER BY Dato DESC"

(Jeg har også forsøgt med Date() og leget med formatteringen - det ser ud til den godt vil læse datoen, men den vil ikke lege med....).
Men her viser den faktisk kun de to nyheder som ikke har en markering i NoShow og som HAR en dato i OutDate.

Jeg har også forsøgt at lave nogle variabler, men det virker ikke rigtigt. Er der ikke en rimelig simple måde at løse det på? Det burde vel være muligt i SQL koden at lave noget som sørger for den IKKE tager noget med som har en bestemt dato? Eller skal vi over i en If....Else....ting?

Jeg vil godt give 100 points - for jeg har ikke tid til at pille mere i det....

:)
Morten
Avatar billede terry Ekspert
06. januar 2006 - 21:19 #1
moxtell>Try writing the contents of Nyeder.source to the screen so that you can see what the SQL contains.
Then you could copy this  to a query in Access to se what result you get.
Avatar billede moxtell Nybegynder
07. januar 2006 - 19:01 #2
Hi Terry
I have all readey tried that. But the result is the same.
How can I get "OutDate" (wich is shortformatetted date in Access DB) to work as an outdated news date so the news with a date in the OutDate-field will not be shown after the outdate date?
I can not figure it out....

Morten
Avatar billede terry Ekspert
07. januar 2006 - 20:10 #3
Hi Morten
Dates in Access are always sorted in the same way no matter what format you use. And very often there are problems when including dates in SQL statements.

Is it possible for you to send me your Access database including a query with your SQL? and if ypu can tell me waht you expect from you rSQL then I cabn mayb esee the problem.

eksperten@NOSPAMsanthell.dk

remove NOSPAM

I'll take a look tomorrow, off to see a video now :o)
Avatar billede moxtell Nybegynder
08. januar 2006 - 10:19 #4
Hi Terry

I solved the problem myself using this SQL-string:
"SELECT * FROM Nyheder WHERE (OutDate >= Now() OR OutDate is NULL) AND Forbruger = -1 AND NoShow = 0 ORDER BY Dato DESC"

Don´t really know if the syntax is 100% correct, but it works....

I give you the points anyway - you did at least try to help.

:)
MOrten
Avatar billede moxtell Nybegynder
08. januar 2006 - 10:20 #5
Sorry - I am not used to this point-thing - I was about to give the points to my self. Just answer and I will give you the 100 points. OK?
Avatar billede terry Ekspert
08. januar 2006 - 10:42 #6
I had a feeling it hasd something to do with OutDate being empty, so your syntax looks fine :o)

No need to give me all or any of the points, but I'll leave that up to you.

Have a good sunday
Terry
Avatar billede moxtell Nybegynder
08. januar 2006 - 19:53 #7
Thx - You got it anyway...I don´t want to scare people from trying to help me another time by not giving them anything,,,

Morten
Avatar billede terry Ekspert
09. januar 2006 - 11:38 #8
Thanks Morten :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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