Avatar billede riishoj Nybegynder
08. september 2003 - 19:56 Der er 9 kommentarer og
1 løsning

Tidsbestemt Insert Into

Hvordan laver man tidsbestemt indsætning af data i en Access database? Jeg har brug for at kunne indsætte data i db'en i perioder, f.eks. fra 1. januar til 15. juli, og 1. august til 31. december. Data må gerne blive liggende i db'en, men de skal kun kunne hentes i de nævnte perioder.
Avatar billede riishoj Nybegynder
08. september 2003 - 20:36 #1
Er mit spørgsmål dårligt formuleret eller umuligt at svare på?
Avatar billede nmh Nybegynder
08. september 2003 - 21:19 #2
har jeg forstået dig ret, så må ingen kunne hente data fra databasen i perioden fra 16.07 til 31.07.
Men så kan du blot lave en test, hvor du bestemmer måned og dag i dagens dato, og så redirecter i den specielle periode til en side, der fortæller, at nu er der ikke adgang.
Avatar billede nmh Nybegynder
08. september 2003 - 21:27 #3
testen kan laves således:
dg=day(now):md=month(now)
if dg<31 and dg>15 and md=7 then
  response.redirect("IntetAtHenteNu.asp")
end if
Avatar billede riishoj Nybegynder
08. september 2003 - 21:52 #4
Næ, der  er desværre ikke så enkelt. Jeg skal bruge funktionen i et reservationssystem, som er udformet som et skoleskema, altså en tabel med 5 x 7 celler. Ved at klikke i cellerne kan man reservere positionen, men jeg vil gerne kunne lave blokeringer, så det ikke er muligt at reservere positionen i bestemte perioder. Som det er nu, kan jeg kun lave blokeringer, som gælder alle 52 uger i året.
Avatar billede nmh Nybegynder
08. september 2003 - 22:06 #5
OK, men det var da ikke det du beskrev i dit spøgsmål.
Den letteste måde at løse dit helt nye problem på er nok at køre et VBscript hos klienten.
Kunne du så ikke beskrive, hvad det er du gerne vil kunne gøre.
Du kan jo aflæse time-talet (hour(now)) og minuttallet (minut(now)).
Så du må da let kunne lave dine blokeringer styret af det præcise tidspunkt.
Til hver skemaposition kan du knytte en tidsafhængig (datoafhængig også) blokering.
Avatar billede nmh Nybegynder
08. september 2003 - 22:25 #6
Du kan have en liste over alle de blokerede tidspunkter.
Time, dato, og så checke en reservation med denne liste.
(den kan jo højst indeholde 7 x 52 poster)
Avatar billede riishoj Nybegynder
08. september 2003 - 22:47 #7
Jeg prøvede at stille et generelt spørgsmål, men kan godt være lidt mere specifik. Her er scriptet, som kan indsætte blokeringer på valgte positioner, men altså ikke på udvalge perioder i løbet af året. Det er det jeg gerne ville kunne gøre. Altså så blokeringen kun virker f.eks i 8 uger.

<%
ConnString = "DSN=xxxxxxxx"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
   
strSQL = "SELECT  dag, lektion, reservation FROM xxxx_blokering WHERE dag = '" & request.form("dag") & "' AND lektion = '" & request.form("lektion") & "' AND reservation = '" & request.form("reservation") & "';"
Set rs = Conn.Execute(strSQL)

If (Rs.BOF Or Rs.EOF) Then


' SQL sætning opbygges
strSQL = "Insert into xxxxx_blokering (dag,lektion,tekst,reservation) values('" & Request.Form("dag") & "','" & Request.Form("lektion") & "','" & Request.Form("tekst") & "','" & Request.Form("reservation") & "')"
Conn.Execute(strSQL)
Response.Redirect ("vis_blokering.asp")

Else
Response.Write "<td align=center height=50><font color=#ffffff face=verdana size=3>Tidspunktet er allerede blokeret!</td>"
End If
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede riishoj Nybegynder
10. september 2003 - 21:55 #8
Jeg kunne da stadig tænke mig nogle kommentarer eller aller helst et svar/løsning på mit problem. Det må kunne løses ved hjælp af datofunktionen i Access. Jeg har prøvet at rode med det, men kan ikke få det til at fungere.
Avatar billede nmh Nybegynder
10. september 2003 - 22:05 #9
Jeg tror ikke det er en god ide, at benytte en datofunktion i access. Du skal blot gemme sammen med en blokering information om den periode, hvor blokeringen skal gælde.
En blokering er altså en post i databasen. Den skal indholde en skemapostion, en startdato og en slutdato for blokeringen.
Når du skal vise et skema, kan du så inden du viser det checke for blokeringer, og så vise skemaet med indføjede blokeringer.
Når du kender dagens dato er det jo muligt at se om der er blokeringer den pågældende dag.
Hvis der er 7 positioner pr. dag 5 dage og 52 uger så er der højst 1820 mulige poster, og i praksis vel kun få hundrede.
Avatar billede riishoj Nybegynder
25. marts 2004 - 19:26 #10
Lukker spørgsmålet
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