Gå til innhold

Anbefalte innlegg

Hei!

Dette omhandler access, men fant ingen access undergruppe, så derfor her.

 

Problemet er at eg har laga eit bestillingsprogram for ein kino, men det går an å køyre fleire filmar i samme sal mens ein film pågår!

 

då vil eg få bukt med det problemet med at eg vil gi feilmelding dersom du prøver å legge til ein forestilling i samme sal mens ein film pågår

 

eg har desse funksjonane:

start klokkelsett

start dato

varigheit (varigheita på filmen)

 

må lage ein funksjon som er slik at eg ikkje kan legge til ein anna film mens ein film køyrer. det må altså plusse på varigheita til start klokkelsett, og dersom den varer til over midnatt, så må du plusse på ein dag ekstra.

 

Korleis kan eg gjere det best mogleg?

 

takker for svar

Lenke til kommentar
Videoannonse
Annonse

Heisann!!

 

Vet ikke helt hvordan du skal løse alt sammen, men...

jeg ville i alle fall brukt DateAdd-funksjonen. Her er et eksempel på bruk:

 

<%

Dato = "12.01.2004"

Klokkeslett = "10:00"

 

' Legg inn starttid (evnt fra database)

StartTid = Dato & " " & Klokkeslett

' Legg inn antall timer filmen varer

intTimer = 1

' Legg inn antall minutter filmen varer

intMinutter = 35

 

SluttTid = StartTid

' Legger på antall timer

SluttTid = DateAdd("h", intTimer, SluttTid)

' Legger på antall minutter

SluttTid = DateAdd("n", intMinutter, SluttTid)

 

Response.Write SluttTid

%>

 

Håper dette kan føre deg litt nærmere en løsning.

Lenke til kommentar

Takk det funker bra!

Men har eit lite spm til.

når eg får ut den nye verdien, får eg den ut i dette formatet:

19/03/2004 23:59:00

Korleis kan eg då skilje dato og klokkeslett fra kvarandre slik at eg får det i to forskjellige boxer slik som dette:

Dato : 19/03/2004

Klokkeslett: 23:59:00

 

Taknemleg for all hjelp

Lenke til kommentar

Hvis du legger inn denne kodesnutten under det forrige eksempelet tror jeg det skal virke:

 

<%

DatoSlutt = Left(SluttTid, 10) ' Legger inn de 10 første tegn fra venstre

KlokkeslettSlutt = Mid(SluttTid, 12) ' Legger inn alle tegn f.o.m. det 12.

 

Response.Write "<P>Dato: " & DatoSlutt & "<br>"

Response.Write "Klokkeslett: " & KlokkeslettSlutt & "</P>"

%>

Lenke til kommentar

takker for all hjelp hittil. alle koder eg har fått fingerer:) takk skal dykk ha!

 

men eit lite spm til...

Når eg skal legge til ein ny forestilling, må eg ha ein funksjon som søker igjennom alle andre forestillingar for å sjå om tidspunktet eg set inn er mellom start tid og slutt tid i ein forestilling. dersom det er det så får eg ut ein feilmelding..

 

Korleis kan eg best gjere det?

 

takker for svar

Lenke til kommentar

håpar dette kan hjelpe deg

 

Dim blnOK

Dim dtmForestillingStart

Dim dtmForestillingSlutt

Dim dtmLagraForestillingStart

Dim dtmLagraForestillingSlutt

 

dtmForestillingStart = CDate("01/04/2004 20:00:00")

dtmForestillingSlutt = CDate("01/04/2004 23:30:00")

 

 

Do While Not objADORecordSet.EOF

 

dtmLagraForestillingStart = CDate(objADORecordSet("Start_dato_felt_navn"))

dtmLagraForestillingSlutt = CDate(objADORecordSet("Slutt_dato_felt_navn"))

 

If (dtmLagraForestillingStart > dtmForestillingStart And dtmLagraForestillingStart < dtmForestillingSlutt) And (dtmLagraForestillingSlutt > dtmForestillingStart And dtmLagraForestillingSlutt < dtmForestillingSlutt) Then

blnOK = False

End If

 

If blnOK = "" Then blnOK = True

 

objADORecordSet.MoveNext

 

Loop

 

'viss blnOK = False avbryt lagringsprosess

If blnOK = False Then

'reset serverobjekt (ADO, FSO, etc)

Response.Redirect("feil.asp")

Else

Response.Write("OK")

'Reset serverobjekt

End If

 

 

 

EDIT: Farga koden :)

Endret av Semikolon
Lenke til kommentar

ser veldig bra ut det der semikolon :thumbup: men eg er noob i access og asp.. ettersom eg skriv programmet i access, lurer eg på korleis eg kan skrive det du skreiv til meg inn i access spørringa.. har du noko forslag eller?

 

setter pris all hjelp eg får :yes:

Lenke til kommentar

da hentar du all data fra databasen med SQL SELECT og byttar du ut objADORecordset med navnet på ditt eige recordset

 

så byttar du ut dtmForestillingStart/Slutt med der du hentar dei dataane fra (Request.Form kanskje?) husk CDate() rundt.. det må vere dato

 

på dtmLagraForestillingStart/Slutt byttar du ut navnet på felta i databasen der klokkesletta er lagra

 

der det står response.redirect("feil.asp") byttar du ut med ke så skal skje viss forestillinga ikkje kan kjørast fordi det er ei fra før, og der det står Response.write("ok") byttar du ut med ke så skal skje viss forestillinga kan kjøre ved dei angitte tidspunkta. Lagre til databasen for eksempel

 

husk å lukke recordset og tilkoblingar og å slette objekta før du sender vidare til ei ny side og etter du er ferdig å bruke dei..

 

recordse.close

Set recordset = Nothing

connection.close

Set connection = Nothing

Lenke til kommentar

oki! men kor set eg det inn? har prøvd litt på moduler, men det fucker heile databasen.. vil ha det slik at når eg skal legge til verdier i skjema får eg vite om det er gyldig tid eller ikkje..

må eg lage ein ny spørring med det du skreiv over?

 

takker for svar

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...