Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Checkbox bei allen Datensätze in Access setzen?





Frage

Hi Leutz, ich kenn mich nicht recht aus, und bitte deshalb um Verständnis. Ich hab schon Stundenlang im Netz gesucht, finde aber keine Antwort auf mein Problem, mit der ich zurecht komme. Ich habe eine Tabelle mit mehrern Datensätzen. Und jetzt will ich in einem Formular eine Schaltfläche, die dann alle die Checkbox "Drucken" in allen Datensätzen deaktiviert. Ich hab da an irgendsowas gedacht mit Select Tabelle.Drucken from Tabelle where Drucken=True Update Drucken=False Ist falsch, aber irgendwie so in der Art. Könnt ihr mir helfen? Danke für eure Mühe, Kilian.

Antwort 1 von Coolpix

hallo Kilian,

zunächst bist du hier glaub' ich im falschen Forum...
Datenbanken wär glaub' ich richtiger.

Dein SQL-Statement ist eine Auswahlabfrage --> keine Datensatzänderung.

Ein SQL-Statement zur Datensatzänderung fängt mit UPDATE an.

entsprechend deiner Angaben etwa so :


UPDATE Tabelle.Drucken SET Drucken='False' WHERE FELD='True


oder generell:


UPDATE Tabelle SET Feld='WertNeu' WHERE FELD='WertAlt'


Feedback fänd ich klasse

Greetings ;-)

Antwort 2 von Kilian1

Danke für deine Hilfe, so funktioniert es tatsächlich (fast):

UPDATE Tabelle SET Drucken=False WHERE Drucken=True

Allerdings kommt danach eine Fehlermeldung:
Das Objekt enthält nicht das Aktualisierungsobjekt "Tabellenname".......

Aber die Aktion an sich funktioniert. Die Drucken-Felder sind anschließend alle auf False. Was funktioniert hier nicht?
Ich rufe dieses Makro aus dem Formular Knie auf, das sich auf die Tabelle Knie bezieht.
Kann es daran liegen?

Danke für eure Tips,
Kilian.

Antwort 3 von Coolpix

hallo Kilian,

bei den Werten True/False dürfen keine Hochkomma's gesetzt sein...
sorry mein Fehler !

hab's mit folgender Prozedur getstet:


Sub TabellenUbdate()
Dim strSQL As String

strSQL = "UPDATE [Knie] SET [Drucken]=True WHERE [Drucken]=False"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
End Sub


und das funktioniert bei mir...

Greetings ;-)

Antwort 4 von Coolpix

by the Way,

es ist immer angesagt den Objekten (Formularen, Tabellen, Reports ...) ein Präfix voranzustellen.
z.B tbl für Tabellen, frm für Formulare, rep für Berichte.
Genauso wie man in einem selbst erstellten Formular alle Steuerelemente korrekt benamen sollte.
Es gibt da einen Standard dessen Name mir jetzt nicht einfällt.

Auf jeden Fall fängt bei mir der Name eines Textfeldes mit txt an.

Greetings :-)

Antwort 5 von Kilian1

Super Sache! Funktioniert!
Viele vielen Dank.

Werde mich weiter mit dem Thema beschäftigen und in Zukunft auch besser auf Benennungen achten.

Danke,
Kilian.