stephan: Wie kann ich Checkboxen mit ASP auslesen?

Hallo!

Ich hab da in meinem Formular auch ein Checkbox-Feld, aber immer wenn ich den Wert dieses Feldes in die Datenbank einlesen will meldet mir der Browser diesen ASP-Fehler:

"Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e07' "

"[Microsoft][ODBC Microsoft Access Driver] Datentypen in Kriterienausdruck unverträglich."

Kann mir da jemand weiterhelfen wie ich solche Checkboxen in die Datenbank einlesen kann?

Danke,
Stephan

  1. Hallo!

    Ich hab da in meinem Formular auch ein Checkbox-Feld, aber immer wenn ich den Wert dieses Feldes in die Datenbank einlesen will meldet mir der Browser diesen ASP-Fehler:

    "Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e07' "

    "[Microsoft][ODBC Microsoft Access Driver] Datentypen in Kriterienausdruck unverträglich."

    Kann mir da jemand weiterhelfen wie ich solche Checkboxen in die Datenbank einlesen kann?

    Danke,
    Stephan

    Hallo Stephan,

    ich denke mal in Deiner DB ist das Feld als Ja/Nein-Feld (Checkbox) deklariert.

    <%
    Dim blnCheckbox
    If Request("Checkbox") = "True" Then
        blnCheckbox = -1 ' -- Wahr
        Else
            blnCheckbox = 0 ' --- Falsch
    End if

    Im SQL-Statement jetzt blnCheckbox als Abfrageparameter verwenden.

    SQL = "SELECT * FROM <tabelle> WHERE <ja_nein_feld> = " & blnCheckBox
    %>

    Das Formular, bzw. die Checkbox sollte in etwa so aussehen:
    <input type="checkbox" name="Checkbox" value="True">
    Der Wert wird nur gesendet, wenn die Checkbox aktiviert ist.

    Tschau, Stefan

    1. Hallo Stephan,

      ich denke mal in Deiner DB ist das Feld als Ja/Nein-Feld (Checkbox) deklariert.

      <%
      Dim blnCheckbox
      If Request("Checkbox") = "True" Then
          blnCheckbox = -1 ' -- Wahr
          Else
              blnCheckbox = 0 ' --- Falsch
      End if

      Im SQL-Statement jetzt blnCheckbox als Abfrageparameter verwenden.

      SQL = "SELECT * FROM <tabelle> WHERE <ja_nein_feld> = " & blnCheckBox
      %>

      Das Formular, bzw. die Checkbox sollte in etwa so aussehen:
      <input type="checkbox" name="Checkbox" value="True">
      Der Wert wird nur gesendet, wenn die Checkbox aktiviert ist.

      Tschau, Stefan

      Hallo Stefan!

      ...und wie sieht das SQL-Statement aus, wenn ich die Checkbox (Ja/Nein) in meinem vorher beschriebenen Formular auslesen will (übrigens dein tipp vorher war genial!)?

      Hier nochmal die Source zum Formular:

      <%
             Set Hardwaredb = Server.CreateObject("ADODB.Connection")
             Hardwaredb.Open "betriebe"
             Set rsboerse = Server.CreateObject("ADODB.Recordset")
            
             Bezeichnung = Request.Form("Bezeichnung")
             Beschreibung = Request.Form("Beschreibung")
             Name = Request.Form("Name")
             Adresse = Request.Form("Adresse")
             Telefon = Request.Form("Telefon")
             EMail = Request.Form("EMail")
             Menge = Request.Form("Menge")
             Preis = Request.Form("Preis")
             Anschaffungsdatum = Request.Form("Anschaffungsdatum")
             Warengruppe = Request.Form("Warengruppe")

      "...und hier sollte das checkboxfeld eingelsen werden:
             Kaufe = request.Form("Kaufe")
      ...oder wie mache ich das?"
                    
             If Bezeichnung <> "" And Beschreibung <> "" And Name <> "" And Adresse <> "" And Telefon <> "" And EMail <> "" And Warengruppe <> "" And Menge <> "" And Preis <> "" And Anschaffungsdatum <> "" Then
            
             SQLStmt = "INSERT INTO HardwareBoerse (Bezeichnung, Beschreibung, Name, Adresse, Telefon, EMail, Warengruppe, Menge, Preis, Anschaffungsdatum) VALUES ('" &Bezeichnung&"','" &Beschreibung& "','" &Name& "','" &Adresse& "','" &Telefon& "','" &EMail& "','" &Warengruppe& "','" &Menge& "','" &Preis& "','" &Anschaffungsdatum& "')"
            
             Hardwaredb.Execute(SQLStmt)
            
             End If
          
            %>

      Könntest du mir den Code bitte ergänzen bzw. ausbessern?

      Dank im Voruas,
      Stephan