[ASP] Records uit database in selectbox

Pagina: 1
Acties:

  • Dutch_guy
  • Registratie: September 2001
  • Laatst online: 20-04 14:47
Een probleem met het tonen van records uit de database in selectboxen.

Hier wordt een invulformulier weergegeven, dit werkt prima.
Afbeeldingslocatie: http://www.xs4all.nl/~uwsite/got/screen1.gif

Alle select en textboxen hebben een andere naam.

De waarden van de selectboxen worden uit de database gehaald uit een tabel "Gebruikers"

De waarden worden bij het submitten als volgt opgeslagen in de database in een tabel "Medewerkers"

Dit gebeurt met onderstaande code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Set rsMedewerkers = Server.CreateObject("ADODB.Recordset")
rsMedewerkers.Open "Select * From Medewerkers", Conn

For i = 1 To 10
rsMedewerkers.Addnew
    
    rsMedewerkers.Fields("OfferteNummer") = NummerRequest

    If Request.Form("Medewerker" & i) <> "0" then
        rsMedewerkers.Fields("Medewerker_ID")   = Request.Form("Medewerker" & i) 
    End If
    
    If Request.Form("Uurtarief" & i) <> "0" then    
        rsMedewerkers.Fields("Tarief")  = Request.Form("Uurtarief" & i) 
    End If
    
    If Request.Form("Aantal" & i) <> "" then
        rsMedewerkers.Fields("Aantal")      = Request.Form("Aantal" & i)
    End If
    
    If Request.Form("Medewerker" & i) = "0" 
AND Request.Form("Uurtarief" & i) = "0" AND Request.Form("Aantal" & i) = "" Then
        Exit For
    End If
        
rsMedewerkers.Update
Next


Dit wordt als volgt in de database opgeslagen:

Afbeeldingslocatie: http://www.xs4all.nl/~uwsite/got/screen2.gif

Waarbij alle gelijke OfferteNummers dus bij dezelfde offerte horen.

De basisgegevens van de offerte staan in de tabel "OTS". Een ID koppelt dus de tabel "OTS" met de tabel "Medewerkers".

Nu wil ik graag op een nieuwe pagina hetzelfde overzicht laten zien als op het 1e plaatje, maar dan dat in de selectboxen de waarden worden weergegeven uit de database voor de desbetreffende offerte.

Ik krijg dat maar niet voor elkaar. Voor de 1e rij lukt het wel, maar de rest wordt niet weergegeven. Ik snap niet hoe ik dan e.e.a. in een loop moet zetten zodat alle waarden uit de tabel "Medewerkers" worden weergeven, inclusief lege selectboxen zodat er altijd een rij van 10 wordt weergegeven.

Op dit moment geef ik de records in een simpele loop weer in textboxen. Maar ik wil juist dat ze worden weergegeven in de selectboxen, zodat ik die gegevens kan editten.

Iemand enig idee ?

Pay peanuts get monkeys !


  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 21:58
Je kunt in de 'while not rs.Eof'-loop (of hoe je je records ook weergeeft) een teller laten meelopen. Dit doe je sowieso omdat je de namen van de textboxen een nummer meegeeft.
Daarna kun je nog een for-loopje voor de lege records maken (For x = laatste_nummer to 10)

Voor de selectboxen: Je kan bij het opbouwen van de textbox de waarden vergelijken met je huidige recordwaarde en indien deze overeenkomen een SELECTED tag meegeven aan je OPTION.
HTML:
1
2
<OPTION VALUE="1">Jaap</OPTION>
<OPTION VALUE="2" SELECTED>Piet</OPTION>


Stukje voorbeeld-ASP:
ASP:
1
2
3
4
5
6
7
8
9
10
 While Not (rst.BOF Or rst.EOF)
  %><OPTION<%
  If (CInt(rst("Id")) = CInt(huidigell)) Then 
   %> SELECTED<%
  End If
  %> VALUE="<%=rst("Id")%>"><%
  %>Even niet van belang<%
  %></OPTION><%
  rst.Movenext
 Wend 'Not (rstUsr.BOF Or rstUsr.EOF)

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans