Kombinationsfeld behält Werte nicht

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Benutzeravatar
OrionVII
**
Beiträge: 29
Registriert: Mo, 09.08.2010 04:56

Kombinationsfeld behält Werte nicht

Beitrag von OrionVII »

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?
Viele Grüße aus dem Flammkuchenland
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Kombinationsfeld behält Werte nicht

Beitrag von RobertG »

Hallo OrionVII,

die Abfrage

Code: Alles auswählen

SELECT "Artikel", "ArtikelID" FROM "tblArtikel"
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
Antworten