Marcus: Checkboxen-»ASP-»Access

Hallo Brettgemeinde !

Ich hab folgendes Problem:

In meinem Intranet können die Mitarbeiter Formulare mit Checkboxen-System anklicken.

Die Informationen was hinter der jeweiligen Checkbox steht kommt von einer Access Datenbank.

Sobald einige Punkte ausgewählt sind, drücken die Mitarbeiter auf Senden.

Die Texte hinter den marktieren Textboxen werden wieder
in eine Access-DB geschrieben.

In der DB gibst dann Felder die ausgefüllt(angekreuzt wurder) und eben leere Felder.

Will ich jetzt eine Abfrage machen ob ein Feld leer ist, z.b.

<% IF auswahl1 = "" then%> ...
<%=auwahl2%>, etc
<%else%>
<%=auswahl1%>
<%=auswahl3%>
<%end if%>

Dann übersieht er einfach die Abfrage !
Also ob das Feld auswahl1 nicht leer wäre!

Hat jemand ein Tip ob ich was in der DB einstellen muß oder eine andere Abfrage erzeugen muß ??

Über reichliche Antworten wäre ich sehr dankbar

cu

Marcus

  1. Hallo Marcus !

    Ich weiß nicht ob es funktioniert, aber versuch die IF Abfrage doch einmal mit einem Leerzeichen, sprich nbsp; zu machen.

    Ich hoffe Dir geholfen zu haben !

    Gruß
    Mathias

    1. »Hallo MArcus

      Ist doch ganz klar du schreibst in deine Datenbank TRUE or FALSE rein je nachdem
      ob die Checkbox angekreuzt ist oder nicht und mit der If Abfrage fraegst du
      weder TRUE noch FALSE ab also erscheint immer MOIN
      Du schreibst bei einer Checkbox immer in einer DATENBANK nur TRUE odr FALSE und nciht den VALUE rein da das CHECKBOX Feld keinen VALUE haben kann.
      Versuch mal mit Hiddenfields zu arbeiten

      Kilian

      1. »Hallo MArcus

        Ist doch ganz klar du schreibst in deine Datenbank TRUE or FALSE rein je nachdem
        ob die Checkbox angekreuzt ist oder nicht und mit der If Abfrage fraegst du
        weder TRUE noch FALSE ab also erscheint immer MOIN
        Du schreibst bei einer Checkbox immer in einer DATENBANK nur TRUE odr FALSE und nciht den VALUE rein da das CHECKBOX Feld keinen VALUE haben kann.
        Versuch mal mit Hiddenfields zu arbeiten

        Kilian

        Hallo Kilian,

        eine Checkbox kann sehr wohl einen Wert (value="Wert") haben. Diesen sollte man aber auf True setzen, denn nur, wenn die Checkbox aktiviert ist kommt auf der Empfangsseite was rüber (abc.asp?Checkbox1=True)

        Tschau, Stefan

  2. Halölo,

    auch wenn mir nicht ganz klar ist, was Du mit Deiner Frage meinst (vielleicht etwas besser erklären ???), versuche ich mal, Dir zu helfen.

    Also, Du hast ein Formular:

    <form name="Test" action="Test.asp" method="POST">
        <input type="checkbox" name="chkTest1" value="True" checked>
        <input type="submit" name="Submit" value="Senden">
    </form>

    Auslesen kannst Du den Wert der Checkbox nur dann, wenn diese angeklickt war. Denn nur dann wird der String "True" an die ASP-Seite geschickt. Die Abfrage kann etwa so aussehen.
    <%
    If Request("chkTest1") = "True" Then
       objRS.Fields("Test1") = True
       Else
          objRS.Fields("Test1") = False
    End if
    %>

    Mit obigem Beispiel füllst Du ein Ja/Nein Feld in einer Access Datenbank mit dem Wert True, wenn die Checkbox aktiviert war oder False, wenn diese nicht aktiviert war. (Boolean, kein String)

    Wenn ich das richtig verstanden habe steht bei Dir die Checkbox und dann der Wert einer Variable. Wenn Du einen Wert übergeben willst, mußt Du den schon, wie o.a. mit value="..." an die Checkbox übergeben.

    Falls Du noch Fragen hast, poste einfach mal eine nähere Beschreibung oder den Quelltext der Seite.

    Tschau, Stefan

    1. Hi Stefan

      Falls Du noch Fragen hast, poste einfach mal eine nähere Beschreibung oder den Quelltext der Seite.

      <td width="9%" align="center"><input type="checkbox" name="auswahl1" value="- <%=auswahl1%><br>"></td>
      <td width="91%" align="center"><div align="left"><p><%=auswahl1%></td>

      Das gleiche geht bis auswahl10..

      die Werte <%=auswahl1..10%> holt er sich aus einer Access Datenbank..und sollen wenn sie angekreuzt sind in einer anderen Datenbank wieder reingeschrieben werden.

      <%
      Set conn = Server.CreateObject("ADODB.Connection")
      conn.open "Datenbank","",""
      Set Session("Datenbank_conn") = conn
      sql = "Select * FROM Kurbrief"
      Set rs = Server.CreateObject("ADODB.Recordset")

      rs.Open sql, conn, 3, 3
      if rs.Supports(adUpdate + adAddNew) Then
      rs.AddNew
      rs.Fields("auswahl1") = Request.Form("auswahl1")
      rs.Fields("auswahl2") = Request.Form("auswahl2")
      rs.Fields("auswahl3") = Request.Form("auswahl3")
      rs.Fields("auswahl4") = Request.Form("auswahl4")
      rs.Fields("auswahl5") = Request.Form("auswahl5")
      rs.Fields("auswahl6") = Request.Form("auswahl6")
      rs.Fields("auswahl7") = Request.Form("auswahl7")
      rs.Fields("auswahl8") = Request.Form("auswahl8")
      rs.Fields("auswahl9") = Request.Form("auswahl9")
      rs.Fields("auswahl10") = Request.Form("auswahl10")
      rs.Update

      etc.

      Ich hab den Verdacht, wenn ich eine Checkbox, z.b Auswahl2 nicht ankreuze, das er doch irgendwas in die DB schreibt.

      Denn wenn ich eine Abfrage:
      <%If auswahl2 = "" then%> Hallo
      <%else%>MOIN
      <%end if%>

      erstelle, müßte eigentlich HALLO erscheinen, aber es kommt MOIN zum vorschein..

      woran kann das liegen ?

      cu

      Marcus