Hallo!

> bin�res denken :-)
>
> denk einfach in bin�ren zahlen
>
>
>    1        0       1
> feld 3 | feld 2 | feld 1
>
> somit w�re dies 5. und eindeutig auf diese felder runterzurechnen....

Ja so geht's, allerdings sind Bit-Operationen in VBScript doch etwas
gew�hnungsbed�rftig.

Zun�chst die 10 Checkboxen:

for i = 1 to 10
   Response.Write("<input name="cbox" value=""" & 2 ^ i & """>...")
next

Den Checkboxen werden also die Werte 1, 2, 4, 8, 16, 32, 64, 128, 256,
512 zugeordnet.

Wenn im Formular das 3. und 7. K�stchen angekreuzt wird, erh�ltst Du mit
...

cbox = cstr(Request("cbox"))

... die Zeichenkette "4,64" zur�ck.

Deinen Wert f�r die Datenbank (4 + 64 = 68) berechnest Du dann mit ...

rs.Fields("cbox").value = eval(replace(cbox, ",", "+"))

Dabei werden die Kommata durch Pluszeichen ersetzt und die Addition �ber
die EVAL-Funktion durchgef�hrt.

Um dann mit dem Wert zu rechnen, schreibst Du eine Funktion:

function BitTest(pBit, pValue)
   dim lValue: lValue = 2 ^ pBit
   BitTest = (lValue = (lValue and pValue))
end function

BitTest(3, 68) und BitTest(7, 68) ergeben TRUE.

So kannst Du im Formular auch wieder die entsprechenden K�stchen mit
"checked" markieren:

for i = 1 to 10
   if BitTest(i, rs.Fields("cbox").value) then
      lChecked = " checked"
   else
      lChecked = ""
   end if
   Response.Write("<input name="cbox" value=""" & 2 ^ i & """ & _
                  lChecked & ">...")
next

Freundliche Gr��e
Joachim van de Bruck




| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an