Avatar billede kalaharikid Nybegynder
02. april 2003 - 17:26 Der er 10 kommentarer og
1 løsning

Kalender funktion ASP - variabler for maaneder og aar

Jeg har 2 spørgsmål - Er en smaragdgrøn ASPkoder, der bakser med en kalender som skal vise arrangementer for et website 1 måned af gangen - Startende med denne maaned -

Har de to variabler ("maane") og ("aar") der skal holde styr på hvilken måned der bliver vist - De skal begge indgå en SQL query som viser alle arrangementer imellem (BETWEEN) i Access db, med felterne startmaaned/slutmaaned og startaar/slutaar.

Der er pile frem og tilbage i kalenderen der lægger en til eller fra ved maaneden ("maane") - <% = (maane) + eller - 1 %> med Request.queryString - Godt -  Spørgsmålet kommer nu :

1) Hvordan får jeg ASP til at starte forfra når variablen ("maane")  enten er over 12 eller under 1 og samtidig trække et tal fra eller lægge det til i år ("aar") feltet ?

Har prøvet en IF sætning men den virker ikke - Skal det lægges i en function ?

2) Kan ikke få SQL sætningen til at sortere rigtigt :

Bruger :

SELECT * FROM t_arr WHERE 'maanedsvariabel' BETWEEN startmaaned AND slutmaaned AND 'aarsvariabel' BETWEEN
startaar AND slutaar

Jeg fandt denne post der lignede noget af det jeg bakser med : http://activedeveloper.dk/brevkassen/default.asp?category=14&question=201

F.eks ligger der en post i databasen med startmaaned = 1 og slutmaaned = 12 der burde blive vist hele kalenderen igennem - Men det gør den bare ikke ?

Har prøvet at få svar på spørgsmålet før, men fik ikke formuleret det korrekt ! Håber denne gang er lykkens gang !

MVH kalaharikid
Avatar billede Slettet bruger
02. april 2003 - 17:52 #1
1. skulle du kunne med en if sætning der siger:

if request.querystring("maane") > 12 then
maane = 1
arr = request.querysting("arr")+1
elseif request.querystring("maane") < 1 then
maane = 12
arr = request.querysting("arr")-1
end if
Avatar billede ellebaek Nybegynder
02. april 2003 - 17:52 #2
maaned = request.querystirng("maane") mod 12
if maaned < 1 then
maaned = 1
end if
derved begynder måned forfra.

sql = "SELECT * FROM TABEL WHERE (startmaaned <= slutmaaned AND startaar <= slutaar)
noget i den stil med din sql.
Avatar billede mortrr Praktikant
02. april 2003 - 17:52 #3
1)
<%
IF maane>12 then
  maane=1
  aar=aar+1
elseif maane<1 then
    maane=12
    aar=aar-1
end if
%>

2) Det giver ikke rigtigt mening. Med den viste SQL burde den faktisk virke.
Men du skal ikke have ' omkring tal. Det er nok derfor. Kommer an på hvilken database det er.
Ellers - kunne du ikke vise de par linier hvor du sætter SQL'en sammen?
Avatar billede -master-d- Nybegynder
02. april 2003 - 17:53 #4
Jeg kan ikke helt få styr på dine felter i databasen, har du to altså måned og år eller har du fire ???
Avatar billede kalaharikid Nybegynder
02. april 2003 - 18:20 #5
Hejsa alle, Tak for forslagene - Er i gang med at prove dem af - mortrr> Bruger Dreamweaver MX og derfor '' tegnene omkring Variablen - Kan det gøres anderledes ?

master - d > Jeg har 4 felter i db'en - en startmaaned og slutmaaned og et startaar og et slutaar - Det er meningen at SQL sætningen skal finde ALLE arrangementer der ligger indenfor start og slut for både maaned og aar. Ellebaek> Er enig med dig i at det er den logiske måde at forespørge på - det virker bare ikke - Jævnfør linket ovenover !
Avatar billede mortrr Praktikant
02. april 2003 - 18:29 #6
mht DreamWeaver så har jeg aldrig brugt den, men det kan ikke passe at den ikke kan indsætte tal i en forespørgsel.
Men det kunne jo være fordi dine felter er sat til at være tekst?
Hvilket dit sql-problem faktisk tyder på.
'2' er jo ikke between '1' og '12'
Derimod er
2 between 1 og 12
Avatar billede kalaharikid Nybegynder
02. april 2003 - 18:35 #7
Jamen, inde i Access db er alt tekst felter - skal det så også laves om ? Hvordan skal SQL'en se ud - Det hjælper ikke at fjerne '' tegnene (syntaksfejl i forespørgselsudtrykket) ?
Avatar billede kalaharikid Nybegynder
02. april 2003 - 18:40 #8
Jeg vender tilbavs i morgen !
Avatar billede mortrr Praktikant
02. april 2003 - 18:40 #9
Måned og år bør være tal-felter.

sql-en skulle så blive til noget der ligner
sql="SELECT * FROM t_arr WHERE " & maanedsvariabel & " BETWEEN startmaaned AND slutmaaned AND " & aarsvariabel & " BETWEEN startaar AND slutaar"

Ved ikke hvordan det ser ud i DreamWeaver når man opbygger sql-sætninger.
Avatar billede kalaharikid Nybegynder
04. april 2003 - 00:19 #10
Hejsa - Undskyld forsinkelsen - brugte mortrr's variabel og sql sætning - Begge dele funker flot - Tak for hjælpen, guys !

mortrr - smid lige et svar så får du gryn !!

PS: DW MX kan ikke selv pakke dele af sql statement  "ud" af anførselstegn - Men nu har du lært mig hvodden man gør - Fedt !

Kalaharikid
Avatar billede mortrr Praktikant
04. april 2003 - 00:28 #11
Held og lykke
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