[Access2007] Datenblattansicht aktualisieren?

Hallo,

gibt es in Access eine (einfache) Möglichkeit, die Datenblattansicht einer Tabelle zu aktualisieren, wenn die Tabelle zum Beispiel in einem Formular geändert wurde. Vielleicht habe ich den entsprechenden Knopf auch nur nicht gefunden. Oder geht das nur umständlich über Schließen und wieder Öffnen?

Besten Dank und viele Grüße

Matthias

Hallo,

gibt es in Access eine (einfache) Möglichkeit, die
Datenblattansicht einer Tabelle zu aktualisieren, wenn die
Tabelle zum Beispiel in einem Formular geändert wurde.

das ist einfacher als einfach: Die Tabellenansicht aktualisiert sich von selbst…

Vielleicht habe ich den entsprechenden Knopf auch nur nicht
gefunden. Oder geht das nur umständlich über Schließen und
wieder Öffnen?

WAS willst Du schliessen/öffnen?

Vermutlich sitzt Du aber einem Irrtum auf und die eingebenen Daten im Formular sind noch gar nicht in die Tabelle gespeichert. Geänderte Daten im Formular werden erst nach Wechsel des Datensatzes oder durch Schliessen des Forms in die Tabelle geschrieben. Um die Daten „zwischendurch“ in die Tabelle zu schreiben, muss eine Ereignisprozeur herhalten, z. B. „Beim Klicken“ einer Schaltfläche („btnSpeichern“):

Sub btnSpeichern_Click()
Me.Dirty=false ’ oder auch Runcommand accmdsaverecord
End Sub

Viele Grüße vom Bodensee
Franz, DF6GL

Vielen Dank – hilft erst mal weiter!
Hallo Franz,

vielen Dank für deine prompte Antwort, sie hilft mir erst mal weiter.

das ist einfacher als einfach: Die Tabellenansicht
aktualisiert sich von selbst…

Ich habe nun auch bemerkt, dass sich die Daten teilweise selbst aktualiseren, allerdings habe ich den Eindruck, dass das nur beim Ändern oder Löschen von bestehenden Datensätzen geschieht. Ein neuer Datensatz wurde noch nicht von selbst eingefügt trotz Speicherung des Datensatzes (wohl aber nach Schließen und wieder Öffnen – siehe unten).

Vielleicht habe ich den entsprechenden Knopf auch nur nicht
gefunden. Oder geht das nur umständlich über Schließen und
wieder Öffnen?

WAS willst Du schliessen/öffnen?

Die Datenblattansicht der an ein Formular gebundenen Tabelle.

Vermutlich sitzt Du aber einem Irrtum auf und die eingebenen
Daten im Formular sind noch gar nicht in die Tabelle
gespeichert. Geänderte Daten im Formular werden erst nach
Wechsel des Datensatzes oder durch Schliessen des Forms in die
Tabelle geschrieben. Um die Daten „zwischendurch“ in die
Tabelle zu schreiben, muss eine Ereignisprozeur herhalten, z.
B. „Beim Klicken“ einer Schaltfläche („btnSpeichern“):

Sub btnSpeichern_Click()
Me.Dirty=false ’ oder auch Runcommand accmdsaverecord
End Sub

Ja, das war wohl mein Irrtum. Allerdings ist mir immer noch nicht ganz klar, wie die gebundene Tabelle mit dem Formular zusammenhängt, also wann genau die Daten übernommen werden, wann das „automatisch“ geschieht, oder man das, wie du oben schreibst, selbst programmieren muss.

Viele Grüße

Matthias

Hallo,

Hallo Franz,

vielen Dank für deine prompte Antwort, sie hilft mir erst mal
weiter.

das ist einfacher als einfach: Die Tabellenansicht
aktualisiert sich von selbst…

Ich habe nun auch bemerkt, dass sich die Daten teilweise
selbst aktualiseren, allerdings habe ich den Eindruck, dass
das nur beim Ändern oder Löschen von bestehenden Datensätzen
geschieht. Ein neuer Datensatz wurde noch nicht von selbst
eingefügt trotz Speicherung des Datensatzes (wohl aber nach
Schließen und wieder Öffnen – siehe unten).

Ja, Änderungen und Löschen eines DS führt automatisch zu einer aktualisierten Tabellenblattansicht.

Das neueinfügen (Anhäängen) eines DS dagegen nicht, weil das eben keine „Aktualisierung“ der Daten bedeutet. Access (das Db-System) ist darin nun mal eigen…

Vielleicht habe ich den entsprechenden Knopf auch nur nicht
gefunden. Oder geht das nur umständlich über Schließen und
wieder Öffnen?

WAS willst Du schliessen/öffnen?

Die Datenblattansicht der an ein Formular gebundenen Tabelle.

Es stellt sich die Frage, für was das denn gut ist…?

Daten sollten nie mittels direkter Tabellenansicht dem User präsentier werden.

Vermutlich sitzt Du aber einem Irrtum auf und die eingebenen
Daten im Formular sind noch gar nicht in die Tabelle
gespeichert. Geänderte Daten im Formular werden erst nach
Wechsel des Datensatzes oder durch Schliessen des Forms in die
Tabelle geschrieben. Um die Daten „zwischendurch“ in die
Tabelle zu schreiben, muss eine Ereignisprozeur herhalten, z.
B. „Beim Klicken“ einer Schaltfläche („btnSpeichern“):

Sub btnSpeichern_Click()
Me.Dirty=false ’ oder auch Runcommand accmdsaverecord
End Sub

Ja, das war wohl mein Irrtum. Allerdings ist mir immer noch
nicht ganz klar, wie die gebundene Tabelle mit dem Formular
zusammenhängt, also wann genau die Daten übernommen werden,

eigentlich habe ich das erklärt…

Die Daten in der Tabelle sieht man ja nicht. Sie können lediglich in der Tabelleansicht visualisiert werden. Diese Tabelleansicht hat aber Access generiert und bedeutet ein eigenständiges Objekt (ist eigentlich eine interne Auswahlabfrage) , was nicht gleichbedeutend mit der Tabelle selber ist.

wann das „automatisch“ geschieht,
oder man das, wie du oben
schreibst, selbst programmieren muss.

„wann“ habe ich auch geschrieben. Wenn einer dieser Fälle nicht auftritt, die geänderten Daten aber trotzdem in die Tabelle geschrieben werden müssen, ist oben st. Code nötig.

Viele Grüße vom Bodensee
Franz, DF6GL