DroomDoos Geplaatst: 18 december 2003 Delen Geplaatst: 18 december 2003 Hallo, vraagje: Ik heb een database dat wordt gebruikt om te plannen. Een HTML pagina laat een tabel zien met wat tijden vanaf 6:00 AM tot 21:00 PM. Mijn database bevat data zoals Id, Klantnummer, Datum, Item, Tijd, Uren en Aantal Nu wil ik mijn ASP file in de database laten kijken of er op een gegeven datum een reservering is. Maar hij moet tijdsvakken die niet gereserveerd zijn als leeg laten staan. Sorteren lukt me wel, maar ik wil dat hij er als volgt uitziet: Dus: Als er iets is ingepland op 08:00 AM moet de lijst er zo uitzien: 06:00 Nobody 07:00 Nobody 08:00 Clientnr - Hours 09:00 Nobody etc.. etc.. Hopelijk kan iemand me hierbij helpen. Ik kom er zelf niet helmaal uit. Ik kan het wel maken maar dan wordt de source zo groot en omslachtig dan zou ik de volgende tekst steeds moeten herhalen voor elk uur. <% datum=Request("datum") if datum="" then datum=date() activity=Request("activity") Set DBConnection = Server.CreateObject("adodb.connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.Mappath("database.mdb") DBConnection.Open DSN SQL = "SELECT * FROM reserveringen where Datum=#"&datum&"# AND Item="&activity&" AND Tijd='6:00:00 AM' Set rs = DBConnection.Execute(SQL) %> <B><Font Size=3><%=datum%><Font Size=2></B><BR> <BR> <Table> <% On Error Resume Next do while Not rs.eof %> <TR> <TD> <%=Server.HTMLEncode(rs.Fields("Tijd").Value)%> </TD> <TD> </TD> <TD> <%Klantnr=Server.HTMLEncode(rs.Fields("Klantnummer").Value)%> <% TSQL = "SELECT * FROM adressenbestand where Klantnummer="&Klantnr Set Trs = DBConnection.Execute(TSQL) %> <%=Server.HTMLEncode(Trs.Fields("Bedrijfsnaam").Value)%> - <%=Server.HTMLEncode(Trs.Fields("Contactpersoon").Value)%> - <%=Server.HTMLEncode(Trs.Fields("Telefoonnummer").Value)%> <% Trs.Close Set Trs = Nothing %> </TD> <TD> </TD> <TD> <%=Server.HTMLEncode(rs.Fields("Aantal").Value)%> Personen </TD> <TD> </TD> <TD> <%=Server.HTMLEncode(rs.Fields("Uren").Value)%> uur </TD> </TR> <% rs.MoveNext loop %> </Table> <% rs.Close Set rs = Nothing DBConnection.Close Set DBConnection = Nothing %> Alvast bedankt, DroomDoos Link naar reactie Delen op andere sites Meer opties om te delen...
rlckring Geplaatst: 19 december 2003 Delen Geplaatst: 19 december 2003 Citaat: Ik kan het wel maken maar dan wordt de source zo groot en omslachtig dan zou ik de volgende tekst steeds moeten herhalen voor elk uur. Kun je dan geen loop maken die dat voor je doet. for([color:"red"]i[/color]=0; [color:"red"]i[/color]=24, [color:"red"]i[/color]++){ //wat ie dan 24 keer moet doen. { Waarbij [color:"red"]i[/color] dan het aantal tabelrijen is of het aantal uren of vind zelf iets waar je op kan schakelen. Ik ben zelf niet zo'n kenner van ASP maar als ik zo eens je code bekijk moet je hier ergens een while loop in proberen te plakken. Let niet op de code zal wel niet kloppen maar messchien kun je er wat mee. SQL = "SELECT * FROM reserveringen where Datum=#"&datum&"# AND Item="&activity&" while(Set rs = DBConnection.Execute(SQL)){ //plak hier dan je code voor het genereren van je pagina echo "rs.filedname(mijn naam)" } rs zou dan de array zijn die iedere keer andere waarden bevat aan de hand van je tabel gegevens. De while loop loopt dan voor het aantal tabelrijen en stopt automatisch. Let wel er is nu geen where voorwaarde Tijd. Link naar reactie Delen op andere sites Meer opties om te delen...
Gast Geplaatst: 20 december 2003 Delen Geplaatst: 20 december 2003 Zo zou het moeten werken: <% Dim Conn 'db connection Dim Rs ' DB recordset Dim DSNName Dim Hourcount Dim zoektime Set Conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") DSNname = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSNname = DSNname & "DBQ=" & Server.Mappath("/mdbs/schedule.mdb") Conn.Open DSNname %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#0000CC"> <% For Hourcount = 6 to 21 %> <tr> <td width="20%"> <% zoektime = formatdatetime(cdate(Hourcount & ":00"), 4) response.write zoektime %> </td> <td> <% Set RS = conn.Execute("select * from schedule where aptime = #" & timevalue(zoektime) & "#") if not rs.eof then response.write rs.fields("omschr") Else response.write " " End if %></td> <td> </td> </tr> <% next %> </table> <% rs.close conn.close set conn = nothing %> </body> </html> Bijlage is bewuste asp file. Suc6 Rebel 477198-schedule.zip Link naar reactie Delen op andere sites Meer opties om te delen...
DroomDoos Geplaatst: 20 december 2003 Auteur Delen Geplaatst: 20 december 2003 Bedankt Rebel87, die is super. Dat werkt veel simpeler. <img src="/ubbthreads/images/graemlins/smile.gif" alt="" /> Kan ik hier nu ook nog iets in bakken zodat als ik er een extra tabel tijd bij zet met daarin bijvoorbeeld 2 uur durende afspraak dat hij de gegeven omschrijving een uur later ook nog een keer neerzet? Bedankt voor de moeite. (p.s. ook een echte asp fan?) Link naar reactie Delen op andere sites Meer opties om te delen...
Gast Geplaatst: 20 december 2003 Delen Geplaatst: 20 december 2003 Wat je kunt doen is, maak een afspraak start en afspraak duur field in je database. Selecteer met sql statement de fields die groter of gelijk zijn als afspraak start maar kleiner of gelijk zijn dan afspraak start + afspraak duur. bijv. zoektime = 08:00 duur 02:00 selecteer >= 08:00 maar <= (08:00 + 02:00) Toon dan alle records in de table dit kunnen dus ook meerdere overlappende afspraken zijn. Volgens mij zou dit zo moeten werken maar heb dit niet getest. Rebel Link naar reactie Delen op andere sites Meer opties om te delen...
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen