ironheadMedlem sedan mars 20011 346 inlägg Om man vill göra en konferansbokning enligt följande:
Tid |namn |övrigt|
---------------------------
08.00-09.00|Olle | |
09.00-10.00| | |
10.00-11.00|Patrick| |
---------------------------
osv.
Hur är det bäst att göra detta för att lagra i en databas?
Det ska vara fasta tider (10 st,08-18.00) med anv.namn & övrig info.
Jag har redan en kalender som skickar med år/mån/dag till denna sida.
[Redigerat av ironhead den 06 aug 2001]
PaceMedlem sedan juni 20019 024 inlägg Fält:
starttid, stopptid, namn, ovrigt
------------------
Peter D
ironheadMedlem sedan mars 20011 346 inlägg Ska jag använda samma tabell eller ska jag skapa en ny?
och om jag vill presentera tabellen i samma format som nu, hur ska jag lista alla klockslag men bara skriva ut namn och kommentarer där det är bokat?
PaceMedlem sedan juni 20019 024 inlägg Ska jag använda samma tabell eller ska jag skapa en ny?
Ny!
och om jag vill presentera tabellen i samma format som nu, hur ska jag lista alla klockslag men bara skriva ut namn och kommentarer där det är bokat?
Nu förstår jag inte rikigt... jag är lite trög "så här tidigt" :)
Förklara närmare, och ge gärna exempel.
------------------
Peter D
PaceMedlem sedan juni 20019 024 inlägg Jag fattade till slut... ;)
så här kanske:
For timme = 1 To 24
'Ändra ex. 3:45 till 03:45.
If timme < 10 Then
modTimme = "0" & timme & ":00"
Else
modTimme = timme & ":00"
End If
' Skriv ut.
Response.Write "Tid: " & modTimme
If rs("starttid") = modTimme Then
Response.Write "Då ska " & rs("namn") & " köra ungarna till dagis."
End If
Next
------------------
Peter D
[Redigerat av Pace den 06 aug 2001]
ironheadMedlem sedan mars 20011 346 inlägg När användaren ska boka en lokal så ser det ut såhär:
Tid|namn|info
----------------------------------
08.00-09.00|Marie|Här skrivs info|
09.00-10.00|Olle.|...............|
10.00-11.00|.....|...............|
----------------------------------
osv.
Sidan ska se likadan ut om någon bokat eller inte.
Om jag listar en massa fält utan data blir det fel, och jag kan ju inte kolla varje rad med if-satser.
HarbackMedlem sedan juni 2001206 inlägg Varför kan du inte köra If-satser och kolla ifall de inte innehåller något värde? Du kör ju bara igenom dem när du loopar värdena från databasen.
Ex.
<% tid = RecSet("tid")
namn = RecSet("namn")
ovrigt = RecSet("ovrigt")
Response.Write "<table>"
Do until RecSet.EOF
Response.Write "<tr><td>"&tid&"</td><td>"
If Not namn = "" Then
Response.Write namn
End If
Response.Write "</td><td>"
If Not ovrigt = "" Then
Response.Write ovrigt
End If
Response.Write "</td></tr>"
RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
Response.Write "</table>"
%>
Ej testad kod men det borde fungera.
------------------
MVH
Harback
[Redigerat av Harback den 07 aug 2001]
HarbackMedlem sedan juni 2001206 inlägg Annars kan du göra lite enklare för dig och sätta Tillåt nolllängd till ja i designen för fälten i Access så slipper du all "onödig" kod.
------------------
MVH
Harback
ironheadMedlem sedan mars 20011 346 inlägg Jag har fått totalt hjärnsläpp!
Jag vill att alla tider ska listas oavsett när man bokat (fasta tider 08.00-18.00) + att där det är bokat ska skrivas in bredvid rätt tid.
Tabell1
-------
sTimeId - räknare
sTime - alla tider ex. 08.00-09.00
Tabell2
-------
sBookId - räknare
sName - Namn på den som bokat
sInfo - Övrig info
sTimes - Id'et från sTime (Tabell1)
sDate - Vilket datum bokningen är
Alltså såhär:
----------------------------------------------|
|.....Tid.....|.....Namn.....|.....Övrigt.....|
|.08.00-09.00.|.....Olle.....|................|
|.09.00-10.00.|.....Anna.....|................|
|.10.00-11.00.|..............|................|
osv.
Så tiden mellan 10.00-11.00 är inte bokad, men listas iallafall.
Hur göra?
PaceMedlem sedan juni 20019 024 inlägg
Jag vill att alla tider ska listas...
Så tiden mellan 10.00-11.00 är inte bokad, men listas iallafall.
Hur göra?
Bestäm dig! Ska den listas eller inte?
------------------
Peter D
ironheadMedlem sedan mars 20011 346 inlägg heh! Du ser...hjärnan?
Den ska listas oavsett bokning eller inte, får inte SQL-satsen att fungera.
PaceMedlem sedan juni 20019 024 inlägg Hur ser den ut då?
------------------
Peter D
ironheadMedlem sedan mars 20011 346 inlägg Nja, nu har jag listat tabellerna separat, men det funkar dåligt. Är dålig på join, tror det är det jag behöver :)
HarbackMedlem sedan juni 2001206 inlägg Okej nu ska vi se. Testa denna SQL-sats.
SQL = "Select tid.sTime, bok.sName, bok.sInfo, bok.sDate FROM tabell1 tid LEFT JOIN tabell2 bok ON tid.sTimeId = bok.sTimes"
Skriv sedan ut infon som vanligt.
------------------
MVH
Harback
[Redigerat av Harback den 07 aug 2001]
ironheadMedlem sedan mars 20011 346 inlägg Ojojoj! Vad bra det funkar!
Tack så hemskt mycket boys! :)
[Redigerat av ironhead den 07 aug 2001]
HarbackMedlem sedan juni 2001206 inlägg Fick du fram all info som du vill ha det nu eller? Fungerade min SQL-sats som du ville?
------------------
MVH
Harback
ironheadMedlem sedan mars 20011 346 inlägg Den fungerar nästan...
Nu visar den de två bokningarna på alla ställen.
Om jag använder koll efter datumet (som jag skall göra) visas bara själva bokningarna och inte hela boknings-schemat, med denna SQL-sats:
SQL = "Select tid.sTime, bok.sName, bok.sInfo, bok.sDate FROM tblTime tid LEFT JOIN tblBooking bok ON tid.sTimeId = bok.sTimes WHERE Datepart(year, sDate) = " & iYear & " AND Datepart(month, sDate) = " & iMonth & " AND Datepart(day, sDate) = " & iDay & ""
Hur ska jag få hela boknings-schemat att listas samtidigt som bokningarna som är gjorda hamnar på rätt ställe.
Harback: Din SQL-Sats var precis vad jag ville ha,tack! men jag vill att den ska vara beroende av datumet den är bokad.
Förstår nån vad jag är ute efter?
[Redigerat av ironhead den 08 aug 2001]
PatrikBMedlem sedan mars 20002 836 inlägg kanske en sortering av posterna är vad du söker:
SQL = "Select tid.sTime, bok.sName, bok.sInfo, bok.sDate FROM tblTime tid LEFT JOIN tblBooking bok ON tid.sTimeId = bok.sTimes WHERE Datepart(year, sDate) = " & iYear & " AND Datepart(month, sDate) = " & iMonth & " AND Datepart(day, sDate) = " & iDay & " ORDER BY sDate ASC"
cya,
PatrikB
------------------
*så kan det gå när inte haspen är på*
ironheadMedlem sedan mars 20011 346 inlägg PatrickB: Näe! inte det.
Jag vill att listningen av tiderna (sTime) alltid ska lista alla tider
ex:
2001-08-06
08.00-09.00
09.00-10.00
10.00-11.00
osv.
Om det finns en bokning ska (sTime) fortfarande lista alla tider, men lägga in bokningen på rätt ställe
ex:
2001-08-06
08.00-09.00
09.00-10.00 Olle, Konferansrum 4
10.00-11.00
osv.
Vad som händer just nu med min SQL-Sats är följande:
ex:
2001-08-06
09.00-10.00 Olle, Konferansrum 4
osv.
Resten av tiderna listas inte.
[Redigerat av ironhead den 08 aug 2001]
HarbackMedlem sedan juni 2001206 inlägg Hmmm...det var konstigt eftersom när man använder LEFT JOIN ska den oberoende av den andra tabellen ta med alla tider från tblTime och sedan ta med dom som stämmer från tblBooking. Det är det som är finessen med LEFT JOIN.
Vad säger ni andra? Visa hela din kod, hur du skriver ut infon etc.
------------------
MVH
Harback
[Redigerat av Harback den 08 aug 2001]