Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Formular kann nicht bearbeitet werden

Begonnen von AccessNeuling123, November 29, 2022, 12:18:55

⏪ vorheriges - nächstes ⏩

AccessNeuling123

Liebe Access-Experten,
ich habe ein dringendes Problem mit einem Formular. Als Access-Neuling habe ich mir eine Datenbank in Access 2016 aufgebaut und ein Formular angelegt, mit Registerkarten und Daten aus 2 Tabellen. Erst war es bearbeitbar und nachdem ich noch ein paar Felder hinzugefügt habe zeigt es den Fehler an: "Diese Datensatzgruppe kann nicht aktualisiert werden".
Bin etwas verzweifelt, weil das nun zum 2. mal passiert ist, nachdem ich das Formular schon einmal angelegt hatte.
Die zugrunde liegenden Tabellen sind bearbeitbar und haben jeweils Primärschlüssel. Die Beziehungen sehen auch normal aus (insofern ich das beurteilen kann).

Für Hilfe wäre ich seeehr dankbar! Liebe Grüße
  •  

MzKlMu

Hallo,
zeige die Abfrage (in SQL) für das Formular.
ZitatDie Beziehungen sehen auch normal aus (insofern ich das beurteilen kann).
Und wie stellst Du Dir eine Beurteilung durch uns vor ?
Zeige also bitte mal ein Bild des Beziehungsfensters.
Gruß
Klaus
  •  

PhilS

Das hat nichts mit dem Formular selbst zu tun, sondern mit der Abfrage auf die Daten. - Mehr kann man ohne weitere Infos nicht dazu sagen.
Du solltest die Abfrage, die als Datensatzherkunft im Formular steht anschauen und ggfls. alle weiteren Abfragen, die darin verwendet werden.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor
  •  

AccessNeuling123

Lieber KLaus, lieber PhilS,
vielen Dank. Ich habe gar keine Abfrage erstellt, sondern das Formular direkt auf Basis der Tabelle angelegt. Wo finde ich denn den SQL vom Formular?
Ich hänge als Anlage einen Screenshot von den Beziehungen an. Toll, dass Ihr mir helft!
Liebe Grüße, Sonja
  •  

MzKlMu

Hallo,
ich bezweifle, dass die Beziehungen stimmen.
Bitte zeige das Beziehungsbild so, dass man die Beziehungslinien komplett sieht, also Tabelle größer ziehen.
Schlüsselfelder verschiebt man in den Tabellen immer ganz nach oben.
Gruß
Klaus
  •  

AccessNeuling123

Lieber Klaus,
gerne, im Anhang das Beziehungsblatt nochmal richtig. Wie war es nun mit dem SQL? Kann ich den irgendwo nachgucken?
LG, Sonja
  •  

PhilS

Zitat von: AccessNeuling123 am November 29, 2022, 14:18:27Wie war es nun mit dem SQL? Kann ich den irgendwo nachgucken?
Ja, das SQL steht in der Formulareigenschaft Datensatzherkunft (Record Source). Dort kann u.U. auch nur der Name eine Tabelle oder Abfrage stehen.

Bei den Screenshot deiner Beziehungen fällt auf, dass die meisten (alle?) ohne Referenzielle Integrität erstellt sind. Das kannst (und solltest!) du ändern. Dazu in dem Beziehungsfenster die jeweiligen Linien mit der rechten Maustaste anklicken und in dem "Edit Relationship"-Dialog "Refenzielle Integriät erzwingen" aktivieren.
Dieser Mangel kann u.U. bereits die Ursache für dein Problem mit den nicht aktualisierbaren Daten sein.

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor
  •  

MzKlMu

Hallo,
das Datenmodell passt nicht. Die Faltenorte (Siehe Bild) sind in eine eigene Tabelle als jeweils ein Datensatz auszulagern. Dann braucht es eine neue Tabelle mit einem Fremdschlüssel zu den Behandlungen und einem FS zum Faltenor. Die restlichen (alias) Tabellen Faltentiefe_1 - _9 entfallen dann ersatzlos.
Gruß
Klaus
  •  

AccessNeuling123

Lieber Klaus,
Als Datensatzquelle stand im Eigenschaftenblatt des Formulars:

SELECT Behandlungen.*, Patienten.Vorname, Patienten.Nachname, Patienten.CAVE, vorher_frontal.FileData, vorher_rechts.FileData, vorher_Stirnfalten.FileData, vorher_Zornesfalte.FileName, vorher_Lachfalten.FileData, vorher_individuell.FileData, nachher_links.FileData, nachher_halblinks.FileData, nachher_frontal.FileData, nachher_halbrechts.FileData, nachher_rechts.FileType, nachher_Stirnfalten.FileName,

Ist das der SQL? Kannst Du damit etwas anfangen? Es tut mir leid, dass ich mich gar nicht auskenne.


@PhilS :
Vielen Dank, das habe ich geändert.


@MzKIMu
Vielen Dank, ich habe alle Beziehungen zu Falten jetzt gelöscht, da es auch ohne geht.

--> Trotz Aktualisierung kann ich das Datenblatt immer noch nicht bearbeiten
Was kann ich tun? Liebe Grüße
  •  

MzKlMu

Hallo,
ZitatVielen Dank, ich habe alle Beziehungen zu Falten jetzt gelöscht, da es auch ohne geht.
Das ist ganz sicher keine Lösung. Eine Datenbank ohne Beziehungen ist keine Datenbank und es funktioniert nicht wirklich.
Und dass Du Beziehungen löschen sollst habe ich auch nicht gesagt. Ich habe vorgeschlagen die komplette Struktur zu ändern. Aber diese Hinweise ignorierst Du.

Der gezeigte SQL Text ist nicht vollständig, da fehlt der From Teil mit den JOINS (Verknüpfungen).

Du solltest Dich mal mit den Grundlagen zu Access beschäftigen, Access muss man lernen, da geht nichts intuitiv wie bei Word oder Excel.
Hier mal graue Theorie:
https://www.hdm-stuttgart.de/~riekert/lehre/db-kelz/
Und hier etwas mehr Praxis:
https://www.access-tutorial.de/
Gruß
Klaus
  •  

AccessNeuling123

#10
Lieber Klaus,
ich habe Deine Empfehlung gelesen, vielen Dank. Es ging schneller, die betreffenden Felder in Formular und Tabelle einfach zu löschen, da sie nicht besonders wichtig waren.
Das hat das Problem aber leider nicht gelöst. Den SQL habe ich nochmal kopiert:
SELECT *
,Vorname
,Nachname
,CAVE
,vorher_frontal.FileData
,vorher_rechts.FileData
,vorher_Stirnfalten.FileData
,vorher_Zornesfalte.FileName
,vorher_Lachfalten.FileData
,vorher_individuell.FileData
,nachher_links.FileData
,nachher_halblinks.FileData
,nachher_frontal.FileData
,nachher_halbrechts.FileData
,nachher_rechts.FileType
,nachher_Stirnfalten.FileName
,nachher_Zornesfalte.FileData
,nachher_Lachfalten.FileName
,nachher_individuell.FileData
FROM Patienten
INNER JOIN Behandlungen ON Patienten.[Patienten ID] = Behandlungen.[Patienten ID]

Ich habe das Eigenschaftsblatt im Anhang beigefügt, vielleicht ist da ja eine Einstellung falsch?
Danke vielmals für Eure Hilfe
  •  

MzKlMu

Hallo,
die gezeigte Abfrage sollte aktualisierbar sein.
Daten eingeben sollte auf Nein stehen, sonst siehst Du keine alten Datensätze. Hat aber mit dem Fehler nichts zu tun.

Zeige mal das neue Beziehungsbild.
Gruß
Klaus
  •  

AccessNeuling123

Lieber Klaus,
vielen Dank für den Tip, ich habe Daten eingeben geändert, alles gespeichert und neu gestartet, aber es kann immer noch nicht aktualisiert werden :-\
Das neue Beziehungsblatt habe ich im Attachment beigefügt.
Kann ich nochwas tun? Hilft ein screenshot vom Formular?

LG, Sonja
  •  

MzKlMu

Hallo,
Zitatvielen Dank für den Tip, ich habe Daten eingeben geändert, alles gespeichert und neu gestartet, aber es kann immer noch nicht aktualisiert werden
Das hatte ja mit dem Fehler nichts zu tun, war nur ein Hinweis, hatte ich auch geschrieben.

Bei Deiner Datenbank müssen für alle 5 Tabellen Beziehunegn eingerichtet werden. Ohne geht es nicht. Du hast 5 Tabellen aber nur 2 Tabellen im Beziehungsfenster.

Du solltest Dich dringend mit den Grundlagen zu Access beschäftigen, Access muss man lernen.
Hier mal 2 Links:
https://www.hdm-stuttgart.de/~riekert/lehre/db-kelz/
und
https://www.access-tutorial.de/
Gruß
Klaus
  •  

PhilS

Zitat von: AccessNeuling123 am November 29, 2022, 17:21:55Ich habe das Eigenschaftsblatt im Anhang beigefügt, vielleicht ist da ja eine Einstellung falsch?
Das Problem hat sehr sicher nichts mit dem Formular selbst zu tun, sondern mit der Abfrage.
Das kannst du überprüfen, indem du den kleinen Button [...] neben der Datenherkunft klickst. Dann öffnet sich der Abfrage-Entwurf für die Abfrage des Formulars. Dort kannst du dann oben links den Button mit Ausrufezeichen und "Ausführen" klicken. Wenn du dann in den Ergebnissen der Abfrage nicht ändern kannst, liegt es an der Abfrage.

Ich habe den Verdacht, dass die ganzen "vorher..."/"nachher..."-Spalten in der Abfrage die Ursache sein könnten. Das sind die Detailinformationen aus Anlage-Feldern. Du kannst die dann mal alle aus der Abfrage entfernen und prüfen, ob das einen Unterschied macht.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor
  •