Avatar billede donslund Nybegynder
04. juni 2004 - 08:22 Der er 13 kommentarer og
1 løsning

Værdi mellem to andre værdier

Jeg har en tabel der bl.a. indeholder 2 felter start og slut.
Så opretter jeg nye poster i databasen. Hvordan tjekker jeg, om det nye punkt overlapper eksisterende poster?

Jeg har forsøgt med lidt if...else men det bliver uoverskueligt synes jeg.

if start < rs("start") AND slut > rs("slut") then
response.redirect("index.asp?inc=fejl&fejlid=1&id=" & rs("id") & "")
elseif start > rs("start") AND start < rs("slut") AND slut > rs("slut") then
response.redirect("index.asp?inc=fejl&fejlid=2&id=" & rs("id") & "")
elseif start > rs("start") AND slut < rs("slut") then
response.redirect("index.asp?inc=fejl&fejlid=3&id=" & rs("id") & "")
elseif start < rs("start") AND slut > rs("start") then
response.redirect("index.asp?inc=fejl&fejlid=4&id=" & rs("id") & "")
elseif start < rs("slut") AND slut > rs("slut") then
response.redirect("index.asp?inc=fejl&fejlid=5&id=" & rs("id") & "")
end if
Avatar billede donslund Nybegynder
04. juni 2004 - 08:26 #1
Måske dette virker:

            if start > rs("start") AND start < rs("slut") then
                response.redirect("index.asp?inc=fejl&fejlid=1&id=" & rs("id") & "")
            elseif slut > rs("start") AND slut < rs("slut") then
                response.redirect("index.asp?inc=fejl&fejlid=2&id=" & rs("id") & "")
            elseif start < rs("start") AND slut > rs("slut") then
                response.redirect("index.asp?inc=fejl&fejlid=3&id=" & rs("id") & "")
            end if


Så tjekker den om start er mellem start og slut eller om slut er mellem eller om start er mindre end start og slut er større end slut.

Det var indviklet, men rigtigt ik´?
Avatar billede fennec Nybegynder
04. juni 2004 - 08:31 #2
Du behøver kun en if. Du tjekker bare om det ene start er før den anden slut, og omvent.

if start < rs("slut") and slut > rs("start")
  response.redirect("index.asp?inc=fejl&fejlid=1&id=" & rs("id") & "")
end if
Avatar billede donslund Nybegynder
04. juni 2004 - 09:24 #3
Der kan jeg godt se, at du har ret. Men jeg kan ikke få det til at virke.

Alle felterne har formatet tt:mm:ss
Avatar billede fennec Nybegynder
04. juni 2004 - 09:32 #4
Hvilken type er felterne. Tekst, time eller ....???
Avatar billede donslund Nybegynder
04. juni 2004 - 09:48 #5
Det er en access database og typen er Dato og Klokkeslæt
Avatar billede fennec Nybegynder
04. juni 2004 - 09:51 #6
Er det med 0 fyld?
altså 08:30:00 eller 8:30:0
Avatar billede donslund Nybegynder
04. juni 2004 - 09:54 #7
Ja. Det er med fyld.
Avatar billede fennec Nybegynder
04. juni 2004 - 09:56 #8
Så prøv sådan:

if cstr(start) < cstr(rs("slut")) and cstr(slut) > cstr(rs("start"))
Avatar billede donslund Nybegynder
04. juni 2004 - 10:06 #9
Gav følgende fejl:

Fejltype:
ADODB.Recordset (0x800A0CC1)
Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal.
/vejlefjord/admin/opret2.asp, line 54

Linie 54 er den nye if-sætning
Avatar billede donslund Nybegynder
04. juni 2004 - 10:10 #10
Fejlen var min. Nu tror jeg den er der.
Avatar billede donslund Nybegynder
04. juni 2004 - 10:15 #11
Hvad mon der sker hvis enten start eller slut er lig et andet tidspunkt?
Avatar billede fennec Nybegynder
04. juni 2004 - 10:48 #12
du kan rende i problemer hvis du har tider der krydser midnat. F.eks 23:00:00 til 01:15:00
Avatar billede donslund Nybegynder
04. juni 2004 - 11:34 #13
Det har jeg ikke formentlig aldrig. Så det bliver nok ikke noget problem.
Avatar billede fennec Nybegynder
04. juni 2004 - 11:37 #14
Så skulle der ikke være nogen problemer :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
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging