Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Kontrollkästchen via SQL in Tabelle speichern

Begonnen von trkiller, Januar 30, 2012, 17:37:20

⏪ vorheriges - nächstes ⏩

trkiller

Hallo
ich sitze nun seit einiger Zeit an meinem Formular das 2 Kontrollkästchen beinhaltet.
Sinn ist es im Formular diese Werte anzuklicken und dann in der Tabelle zu speichern.
In der Tabelle in der gespeichert werden soll, befinden sich 2 Felder die als Eigenschaft/Typ JA/Nein haben.

Wenn ich jetzt versuche mit dem INSERT INTO Befehl die Tabelle zu füllen, bekomme ich immer eine Fehlermedlung angezeigt, die sagt das mindestens ein Wert nicht angegeben wurde.
Selbst wenn die 2 Felder genau WAHR / Falsch anzeigen, habe ich nicht die Möglichkeit zu speichern.
Ich habe schon viele Sachen ausprobiert jedoch bin ich nicht zum Ergebnis gekommen, gesucht habe ich auch viel aber nichts passendes gefunden.

Ich hoffe einer kann mir helfen, dafür wäre ich echt dankbar


Das ist der Code den ich gerade benutze

Dim SQL As String
    SQL = "INSERT INTO tblLigPlaats (LigCode, LigNr, Max_Lengte, Stroom, Water, Liggeld_per_jaar) VALUES "
    SQL = SQL & " ('" & tbLigCode & "','" & tblignr
    SQL = SQL & "','" & tbmax & "', " & pin1
    SQL = SQL & ", " & pin2 & "," & tbliggeld & ")"
    CurrentProject.Connection.Execute (SQL)

database

Hallo,

was passiert, wenn du statt der Frmularfelder den Wert -1 oder 0 direkt angibst?

du kannst auch so mal versuchen:


Dim SQL As String
    SQL = "INSERT INTO tblLigPlaats (LigCode, LigNr, Max_Lengte, Stroom, Water, Liggeld_per_jaar) VALUES "
    SQL = SQL & " ('" & tbLigCode & "','" & tblignr
    SQL = SQL & "','" & tbmax & "', " & IIF(pin1=-1,-1,0)
    SQL = SQL & ", " & IIf(pin2=-1,-1,0) & "," & tbliggeld & ")"
    CurrentProject.Connection.Execute (SQL)


MzKlMu

Hallo,
bei solchen Vorhaben auch meine übliche Frage:
Warum nicht einfach die Ja/Nein Felder an die entsprechenden Tabellen/Abfragefelder binden. Dann braucht es gar keinen Code, nicht einen Buchstaben.
Gruß Klaus

trkiller

Ich habe es gestern nacht noch kurz probiert, leider ohne Erfogl mit der SQL Anweisung. Ich habe es dann anders gelöst, in dem ich in der Tabelle einfach eine 1 oder 0 speichere ohne JA / NEIN Feld.

Gebunden habe ich es hinbekommen, aber ich arbeite fast nie mit gebundenen Feldern, mag es mehr wenn ich selber alles runterschreiebe, auch wenn es manchmal länger dauert

MzKlMu

Hallo,
Zitataber ich arbeite fast nie mit gebundenen Feldern, mag es mehr wenn ich selber alles runterschreiebe, auch wenn es manchmal länger dauert
Nach meiner Auffassung ist es der deutlich schlechtere Weg mit ungebunden Formularen zu arbeiten. Man muss alles selber machen. Und die Fehlerquote in den Datenbeständen wird auch größer, weil man sich die Standardmöglichkeiten von Access verschenkt.
Ich würde meine Programmierenergie auf eine kompfortable Benutzerführung und Programmoberfläche anwenden und nicht Dinge programmieren, die Access besser kann. Und die Validierung der daten musst Du in beiden Fällen machen.
Aber das ist meine Meinung.

Was stört Dich denn genau an gebunden Formularen?
Gruß Klaus

trkiller

Ich konnte es nicht lassen und habe es selbst auf die Reihe bekommen, wenn ich schon denke wie leicht das war naja wieder was gelernt

Lösung:

If (pin1 = -1) Then
    pin1 = 1
Else
    pin1 = 0
End If

Dann die SQL Anweisung ausführen lassen und fertig, naja ich hätte drauf kommen soll als ich gelesen habe, das im SQL Server nur 1 und 0 funktioniert

Um auf deine Frage zu kommen was mich an gebundenen Feldern stört, eigentlich gar nichts, es ist manchmal sogar praktischer jedoch finde ich den Lerneffekt beim selber schreiben der Anweisungen viel größer.
Wenn es mal schneller gehen soll benütze ich es ab und an mal, aber die Datenbank die ich gerade entwickle besteht nur aus ungebundenen Feldern und alles selber geschrieben.