13. april 2003 - 17:59Der er
6 kommentarer og 1 løsning
Opdeling eller forenkling af betingelsessætning
Det her er ikke for godt. Jeg spørger om det næsten samme, bare med forskellige datoer. Har nogen et forslag.
if weekDay(dtmCurDate) > 6 or weekDay(dtmCurDate) < 2 or instr(dtmCurDate,"13-04") <> 0 or instr(dtmCurDate,"16-04") <> 0 or instr(dtmCurDate,"17-04") <> 0 or instr(dtmCurDate,"18-04") <> 0 or instr(dtmCurDate,"20-04") <> 0 or instr(dtmCurDate,"21-04") <> 0 or instr(dtmCurDate,"16-05") <> 0 or instr(dtmCurDate,"29-05") <> 0 or instr(dtmCurDate,"8-06") <> 0 or instr(dtmCurDate,"9-06") <> 0 or instr(dtmCurDate,"25-12") <> 0 or instr(dtmCurDate,"26-12") <> 0 then
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det lyder som en god ide, at lade administratoren af tidsbookingen selv skrive lukkedage ind løbende. Det skal vel være en kommasepareret liste? Kan du uddybe sidste forslag?
Lad os kalde dem metode A og B. A: Nej - det skal ikke være en kommasepareret liste, men en tabel som bare indeholder alle datoer. Du bruger så denne tabel til at vise din kalender, i stedet for bare at kigge på en dato-variabel. Når en dag bookes i "Booking-tabellen" sletter du den fra dato-tabellen. Og modsat hvis en booking aflyses.
B: Samtidigt med at du gennemløber de dage du vil vise, gennemløber du et recordset, som indeholder de dage der er lukket. Jeg gør ud fra at du lukker dagene ved at de bookes i en tabel.
Med noget lignende det følgende, kan du kontrollere om den aktuelle dag står i databasen:
StartDato= Date() SlutDato=DateAdd("d",7,StartDato) CurDato=StartDato ' Hent lukkede dage Set rsDatoer=Conn.Execute("SELECT DISTINCT Datoen FROM BookingTabel WHERE Datoen between #" & StartDato & "# AND #" & SlutDato & "#") Response.Write "Ledige Datoer:" do while CurDato<SlutDato if not rsDatoer.EOF if rsDatoer("Datoen").Value>CurDato then ' Ledig dag Response.Write "<br>" & CurDato end if if rsDatoer("Datoen").Value=CurDato then rsDatoer.MoveNext end if else Response.Write "<br>" & CurDato end if CurDato=DateAdd("d",1,CurDato) loop
(hvis det ellers er skrevet rigtigt. Jeg har brugt noget lignende tidligere, så det kan lade sig gøre)
Tak mortrr. Fin udredning. Du må vist hellere få pointene. Er det så ikke lettest med metode A? Og er det ikke lettere at sætte en dato on/of med et ekstra felt istedet for at slette og putte ind igen?
A er nemmest. Om det skal gøres på den ene eller den anden måde (on/off eller slette/oprette) kommer an på om du skal bruge datoerne til noget andet. Hvis ikke, så ville jeg nu nok slette dem.
OK, det vil vise sig. Jeg er ikke meget for datoprogrammering, men vil forsøge at få noget til at virke. Og opretter nok et spørgsmål igen, hvor jeg håber på du vil hjælpe med at få urværket til at tikke.
Synes godt om
Ny brugerNybegynder
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.