Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: DBGrid-Feld bearbeiten und Feld mit Daten füllen

  Alt 27. Feb 2006, 17:18
Zuerst zu deinem Beziehungsdatentyp KOMPONENTEN - wenn BEZEICHNUNG darin die Bezeichnung des Artikels ist, dann ist sie redundant und sollte dort nicht gespeichert werden. Da du dein Grid mit einer Query füttern möchtest, diese Query update-fähig sein soll und der Benutzer die Artikelbezeichnung in der Anzeige sehen soll, sobald er eine Artikelnummer eingetragen hat, deklarierst du BEZEICHNUNG als berechnetes Feld.

Mit einem Doppelklick auf die Query-Komponente kannst du dabei auch das Feld KOMPONENTEN_ID unsichtbar machen. Sichtbar sind dann nur die Felder PROTOKOLL_ID, ARTIKEL und BEZEICHNUNG - wobei BEZEICHNUNG nicht vom Benutzer beschreibbar ist. Damit die Bezeichnung passend zur Artikelnummer angezeigt wird, musst du für das Ereignis OnCalcFields() etwas Code (drei Zeilen) schreiben. Wenn der Primärschlüssel nicht automatisch von der Datenbank beigesteuert wird, dann kannst du das im Ereignis OnBeforePost() erledigen.

Ein DBGrid ist für diese Aufgabe nicht unbedingt ideal - immerhin werden nur Schlüssel eingegeben und diese müssen auch noch aus einer definierten Vorratsmenge stammen. Aber Hauptsache es funktioniert erstmal.

marabu
  Mit Zitat antworten Zitat