kein neuer Datensatz im Ufo möglich

Moderator: ModerationP

kein neuer Datensatz im Ufo möglich

Beitragvon kathyv » 03. Sep 2021, 11:31

Hallo,
eine Listbox eines ungebundenen Formulars ist mit einem Ufo verknüpft mit keyID_f nach lstBegriffe (VerknüpfenVon / VerknüpfenNach)
Das funktioniert, wird ein Begriff in der Liste gewählt, so werden im Ufo die zugehörigen Werte gezeigt.
Jetzt soll zu einem Begriff im Ufo ein “Neuer Datensatz“ eingefügt werden, das funktioniert nicht. Es kommt in der Statuszeile:
Es können keine Datensätze eingefügt werden, der Verknüpfungsschlüssel der Tabelle 'tblArtikel' ist nicht in der Datensatzgruppe enthalten.

Die gebundene Spalte der Listbox ist aber keyID und keyID_f ist in der Datensatzgruppe des Ufos vorhanden. Funktioniert ja beim Anzeigen, nur ein neuer Datensatz kann nicht angelegt werden.
Was muss geändert werden, um das zu erreichen?
Gruß Kathy
kathyv
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 01. Dez 2020, 14:50

Re: kein neuer Datensatz im Ufo möglich

Beitragvon Bitsqueezer » 03. Sep 2021, 12:34

Hallo Kathy,

das UFO benötigt einen FK, den Access über das Linkkriterium automatisch erstellt.

Wenn also der PK im Hauptformular "keyID" ist und im Unterformular der FK "keyID_f", dann müssen diese beiden Felder als Verknüpfungskriterium verwendet werden. Wenn dann im UFO ein neuer Datensatz erstellt wird, trägt Access die FK-ID automatisch in das Feld "keyID_f" ein, aufgrund des Wertes von "keyID" im Hauptformular.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8465
Registriert: 21. Jun 2007, 12:17

Re: kein neuer Datensatz im Ufo möglich

Beitragvon Gast » 03. Sep 2021, 12:55

Hallo Christian,
Wenn also der PK im Hauptformular "keyID" ...

Das Hauptformular ist ungebunden, das Ufo ist gebunden an die Listbox, die hat "keyID" als gebundene Spalte.
Ist die Konstruktion nur zum Anzeigen geeignet, da sie für jedes Element der Liste im Ufo die passenden DS zeigt?
Wenn, dann müsste ich für die Anlage neuer DS im Ufo die Konstruktion ändern, so wie du schreibst?
Gruß Kathy
Gast
 

Re: kein neuer Datensatz im Ufo möglich

Beitragvon Bitsqueezer » 03. Sep 2021, 13:15

Hallo Kathy,

wenn Access die ID nicht selbst befüllt, mußt Du das im "Form_BeforeUpdate"-Event selbst übernehmen.

Da das Hauptformular dann ja auf eine ID in der Listbox eingestellt ist, kannst Du per "Me.Parent.Listboxname" auf den Wert zugreifen und der ID zuweisen.

Aber, wie ich so oft sage, eine Listbox ist in 99,99% immer überflüssig.

Erstelle einfach ein Endlosformular als Hauptformular (das ist dann automatisch ein gebundenes Formular) und lege das Unterformular in den Fußbereich. Access gibt dann wieder an, daß das gar nicht geht und stellt das HFO automatisch auf Einzelformular um. Das ist ein uralter Fehler, denn na klar geht das. Einfach das HFO wieder auf Endlosformular umstellen, fertig.

Danach kannst Du die ID-Felder verknüpfen und brauchst keinen Code.

Vorteil dabei ist auch, daß Du dann ein voll formatierbares HFO hast gegenüber einer schnarchigen Listbox. Ich glaube, in den letzten 20 Jahren habe ich keine Listbox mehr benötigt, für mich ein überflüssiges Control.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8465
Registriert: 21. Jun 2007, 12:17

Re: kein neuer Datensatz im Ufo möglich

Beitragvon Gast » 04. Sep 2021, 05:56

Hallo Christian,
ein interessanter Ansatz.
Ich werde das erst nächste Woche machen können.
Wenn ich nicht klar komme, melde ich mich noch mal.
Erstmals vielen Dank.
Gruß Kathy
Gast
 


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste