PDA

Vollständige Version anzeigen : Ändern verhindern?


andread
19.06.2001, 11:02
Hallo,
wie kann man in einem Formular verhindern das bereits eingegebene Datensätze nicht versehentlich geändert werden können?

Ich habe bereits einen Button um einen neuen leeren Datensatz anzufügen in dem man dann entsprechend der Felder neue Daten eingibt.

Ich will aber irgendwie verhindern das aus versehen ein vorhandener Datensatz überschrieben werden kann. es sollte ein zusätzlicher knopfdruck erfolgen der den bereits vorhanden Datensatz zur Änderung erst frei gibt!

Grüsse und schon jetzt Danke

Andrea

Birgit Dannenberg
19.06.2001, 11:11
Hallo Andrea,

sieh Dir mal die verschiedenen Eigenschaften zur Datenfreigabe an:
AllowAdditions, AllowUpdate, et.

Du kannst das Formular so grundsätzlich geschützt öffnen, beim Hinzufügemodus auf DataEntry einstellen und das Anzeigen/Bearbeiten bestehender Datensätze verhindern, auf Befehl DataEdit-Modus einstellen zum Ändern, et.

Wie es genau funktioniert und was dabei zu beachten ist, steht eigentlich ganz gut in der Online-Hilfe beschrieben.

Gruss Birgit

FW
19.06.2001, 15:43
Hallo Andrea,

Wenn Du alle Datensätze sehen willst, dann könntest Du z. B. in der Form_Current-Routine, je nach dem, ob Du auf einem neuen Datensatz stehst oder auf einem bereits vorhandenen, alle Controls in Deinem Formular auf "Locked" = TRUE setzen und auf Knopfdruck diese Sperrung wieder aufheben.

Alles klar?

Frank

andread
20.06.2001, 15:09
Wo finde ich denn dieses Form_Current-Routine in meinem Detailbereich?

Habe es bis jetzt noch nicht gefunden!

Danke
Andrea

Morli
20.06.2001, 15:13
Hallo Andrea,

die Form_Current findest Du nicht im Detailbereich sondern bei den Formulareigenschaften als "Beim Aktivieren"!

Gruß

Rainer :)

FW
20.06.2001, 17:29
... in A97 heißt es: "Beim Anzeigen"...

andread
21.06.2001, 15:05
sorry liebe Freunde,

offensichtlich ist das so einfach das ich das nicht schnalle, kann mal jemand ein konkretes beispiel hier posten(Makros ect..)?

gruss
Andrea

Morli
21.06.2001, 15:26
Hallo Andrea,

hier ein kurzer Code:

Private Sub Form_Current()
Dim ctl As Control

On Error Resume Next 'Sonst gibts Fehlermeldungen bei Bezeichnungsfeldern, Strichen, u.s.w.
For Each ctl In Me.Controls
ctl.Locked = True
Next ctl

End Sub

Wenn Du mit einer Schaltfläche den Datensatz freigeben willst, machst Du aus dem
.Locked = True
ein
.Locked = False

Hi Frank, hast natürlich recht.... :eek:

Gruß

Rainer ;)