Hallo zusammen,
ich bin dabei eine Rechnungs-DB zu erstellen. Mit dem Assistenten habe ich die Tabellen Kunde, Rechnung, Rechnungsdetails und Artikel erstellt. Das Formular Rechnung enthält als Subformular die Tabelle Rechnungsdetails. Dort wiederum habe ich im Feld Artikel ein Kombifeld eingebaut, das Inhalte aus der Tabelle tblArtikel hernimmt.
Das SQL: SELECT "Artikel", "ArtikelID" FROM "tblArtikel"
Bei der Eingabe werden die Artikel im Kombifeld auch angezeigt, ich kann einen selektieren/einfügen, doch wenn ich den Datensatz verlasse, verschwindet der Artikel und es steht nur noch ein 0 im Feld.
Was mache ich falsch?
Kombinationsfeld behält Werte nicht
Moderator: Moderatoren
Kombinationsfeld behält Werte nicht
Viele Grüße aus dem Flammkuchenland
Re: Kombinationsfeld behält Werte nicht
Hallo OrionVII,
die Abfrage
ist eine typische Abfrage für ein Listenfeld, kein Kombinationsfeld. Dort sollen "Artikel" angezeigt werden, die bereits in der Tabelle "tblArtikel" enthalten sind. In der Datenbank, die dem Formular zugrunde liegt, wird dann der Primärschlüssel aus der Tabelle "tblArtikel" als Fremdschlüssel in dem Formular abgespeichert.
Ein Listenfeld zweigt prinzipiell nur Daten zur Auswahl an. Du kannst aus diesen Daten auswählen, aber nicht Daten neu eingeben, die noch nicht in der Tabelle "Artikel" vertreten sind.
In der Tabelle "Rechnungsdetails" sollen vermutlich einzelne "ArtikelID" abgespeichert werden. Das funktioniert natürlich nur dann, wenn die Artikel bereits in der Tabelle "Artikel" vorhanden sind. Gerade bei dem Rechnungsbeispiel entspricht das auch einer gewissen Logik: Du kannst keine Artikel auf die Rechnung schreiben, die Du gar nicht anbietest. Du brauchst also ein Listenfeld und Inhalt in der Tabelle "Artikel".
Gruß
Robert
die Abfrage
Code: Alles auswählen
SELECT "Artikel", "ArtikelID" FROM "tblArtikel"
Ein Listenfeld zweigt prinzipiell nur Daten zur Auswahl an. Du kannst aus diesen Daten auswählen, aber nicht Daten neu eingeben, die noch nicht in der Tabelle "Artikel" vertreten sind.
In der Tabelle "Rechnungsdetails" sollen vermutlich einzelne "ArtikelID" abgespeichert werden. Das funktioniert natürlich nur dann, wenn die Artikel bereits in der Tabelle "Artikel" vorhanden sind. Gerade bei dem Rechnungsbeispiel entspricht das auch einer gewissen Logik: Du kannst keine Artikel auf die Rechnung schreiben, die Du gar nicht anbietest. Du brauchst also ein Listenfeld und Inhalt in der Tabelle "Artikel".
Gruß
Robert