3k Aufrufe
Gefragt in Datenbanken von
Hallo!

Ich habe eine Datenbank und ein Formular.
Im Formular sind 14 Checkboxen.

Die Checkboxen sollen die Werte 0 oder 1 in die Tabelle schreiben
bei Mausklick.

Ich habe folgendes als Code für die ersten 3 Checkboxen:

Private Sub Check_Fensterbank_Click()
If Check_Fensterbank.Value = True Then
SQL_txt = "UPDATE Gewerkeliste " & _
"SET Gew_Fensterbänke = 1;"
CurrentDb.Execute SQL_txt
Else
SQL_txt = "UPDATE Gewerkeliste " & _
"SET Gew_Fensterbänke = 0;"
CurrentDb.Execute SQL_txt
End If
End Sub

Private Sub Check_Sektionalgaragentor_Click()
If Check_Sektionalgaragentor.Value = True Then
SQL_txt = "UPDATE Gewerkeliste " & _
"SET Gew_Sektionalgaragentor = 1;"
CurrentDb.Execute SQL_txt
End If
If Check_Sektionalgaragentor.Value = False Then
SQL_txt = "UPDATE Gewerkeliste " & _
"SET Gew_Sektionalgaragentor = 0;"
CurrentDb.Execute SQL_txt
End If
End Sub

Private Sub Check_Wäscheschacht_Click()
If Check_Wäscheschacht.Value = True Then
SQL_txt = "UPDATE Gewerkeliste " & _
"SET Gew_Wäscheschacht = 1;"
CurrentDb.Execute SQL_txt
End If
If Check_Wäscheschacht.Value = False Then
SQL_txt = "UPDATE Gewerkeliste " & _
"SET Gew_Wäscheschacht = 0;"
CurrentDb.Execute SQL_txt
End If
End Sub


Ich bekomme aber immer wieder folgenden Hinweis:

"Die Daten wurden geändert - Ein anderer Benutzer hat diesen
Datensatz bearbeitet .... Bearbeiten Sie den Datensatz erneut"

Wo ist der Fehler? Zu schnelles klicken? Oder stimmt was an dem
Code nicht?

16 Antworten

0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Das mit dem VBA-Code um 1 oder 0 festzustellen ist meiner Meinung nach verzichtbar es würde reichen mittels ungebundene Textfeldes unter Steuerelementinhalt folgende Formel:

=Wenn([ja oder nein]=Ja;50;0)

als Format nimm z.B. "Euro"


Gruß

Paul1

P.S.
Das Feld [ja oder nein] bezieht sich auf mein Beispiel wäre deinerseits noch anzupassen
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Ergänzung:

Wenn das Formular tabellarisch (also Zeile für Zeile) sein soll, ergänze die Tabelle z.B. mit dem Feld "Wert", erstelle das Formular neu und gib in das Feld "Wert" (Steuerelementinhalt) folgende Formel ein:

=Wenn([ja oder nein]=Ja;50;0)


Format z..B. "Euro"

Gruß

Paul1
0 Punkte
Beantwortet von
Dann wird der Wert aber nicht in die Tabelle Gewerkeliste geschrieben.
Dies ist aber für nachfolgende Schritte unverzichtbar.
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Ich glaube wir reden aneinander vorbei.
Wenn im Formular was geändert wird, ist es natürlich auch in der Tabelle zu sehen (siehe AW12).

Werde nochmals drüber nachdenken, kann aber nichts versprechen.

Gruß

Paul1
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo nochmals,

Du hast recht in der Tabelle ist es nicht zu sehen, wenn das Formular aus der Tabelle heraus erstellt wurde.

Über eine Abfrage geht es.

Gruß

Paul1

P.S.
schau mir das ganze trotzdem in Ruhe nochmals an, versprechen kann ich aber nichts
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Erweitere wie bereits angesprochen die Tabelle Gewerkeliste um das gebundene Feld "Wert“

>erstelle eine Abfrage mit dem Feld "Wert“
>unter „Aufbauen“ im Feld "Wert“
>folgende Formel:
Wert: Wenn([ja oder nein]=Ja;50;0)
>Format „Euro“
>verwende die so erstellte Abfrage statt der Tabelle zur Formularerstellung

Bei Änderung im Formular bzw. in der Abfrage werden die dementsprechenden Werte gegenseitig konform eingetragen.

Gruß

Paul1
...