Automatisch in eine Tabelle

Hallo!
Ich habe ein Forumlar was auf einer Tabelle bassiert mit den Feldern ‚Rechner-Id‘ ‚Rechnername‘ und ‚Freigegeben (Ja/Nein Feld)‘

Jetzt möchte ich wenn ein Häckchen bei Freigegeben gemacht wird in eine zweite Tabelle der ‚Rechnername (oder ID)‘, das ‚heutige Datum‘ und in ein drittes Feld ‚Freigegeben‘ automatisch eingetragen wird. Wenn ich den Hacken bei Freigegeben wegmache dann soll ein neuer Datensatz in die Tabelle eingetragen werden mit ‚Rechnername‘, ‚heutige Datum‘ und ‚Gesperrt‘. ist das irgendwie möglich? unter delphi soll sowas wohl gehen…

Vielen Dank!

In etwa so:

Private Sub Freigegeben\_Click()
 Currentdb.Execute \_
 "INSERT INTO DeineTabelle ([Rechner-ID],Rechnername,Freigegeben) VALUES ('" & \_
 Me![Rechner-ID] & "','" & \_
 Me![Rechnername] & "'," & \_
 IIF(Me!Freigegeben,"True","False") & ")"
end sub

Das ganze unter der Voraussetzung, dass du DAO als Objektmodell verwendest, dass „Rechner-ID“ und „Rechnername“ Textfelder sind und dass „Freigegeben“ ein Ja/Nein-Feld ist.

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

Erst mal danke! leider hab ich nicht viel ahnung von access. was meinst du mit DAO als Objektmodul? und Rechner-ID ist kein Textfeld sondern ein autowert… Wird dabei auch das aktuelle datum eingefügt?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Erst mal danke! leider hab ich nicht viel ahnung von access.

Das ist immer schlecht, speziell, wenn man relativ anspruchsvolle Sachen machen will… ;-{)

was meinst du mit DAO als Objektmodul?

Nicht „Objektmodul“, sondern „Objektmodell“! Es gibt verschiedene Modelle für die Datenzugriffsobjekte, z.B. DAO (Data Access Objects) oder ADO (Active Data Objects), je nach Access-Version ist die eine oder andere Variante voreingestellt (was man aber im Modulentwurf unter Extras/Verweise ändern kann) und je nachdem, was man vorhat bzw. wie das Projekt angelegt ist, ist die eine oder die andere Variante vorzuziehen. Das sollte man aber eigentlich geklärt haben, bevor man mit dem Programmieren anfängt!

Wenn du ADO verwendest, musst du anstelle von „Currentdb“ schreiben „CurrentProject.Connection“.

und Rechner-ID ist kein
Textfeld sondern ein autowert…

Dann halt:

...
 "INSERT INTO DeineTabelle
 ([Rechner-ID],Rechnername,Freigegeben) VALUES (" & \_
 Me![Rechner-ID] & ",'" & \_
 Me![Rechnername] & "'," & \_
 IIF(Me!Freigegeben,"True","False") & ")"

Wird dabei auch das aktuelle
datum eingefügt?

Nein, kann man aber natürlich machen…

...
 "INSERT INTO DeineTabelle
 ([Rechner-ID],Rechnername,Freigegeben,MeinDatum) VALUES (" & \_
 Me![Rechner-ID] & ",'" & \_
 Me![Rechnername] & "'," & \_
 IIF(Me!Freigegeben,"True","False") & ", Date())"

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)