Hi
ich habe folgende Tabellen(un auch gleichnamige Querys):
Firma( KNR: integer, Name: string,...)
Ansprechpartner (ApNr: integer, Firma: integer, Name: string,...)
und dann die Tabelle
Auftrag(Auftragsnummer: integer, Firma: integer, Ansprechpartner: integer,...)
Jetzt habe ich 2 Lookup-Felder erstellt, und zwar:
1) FirmaName: der löst über Firma den Namen auf, also (KeyFields=Firma, LookupCache=False, LookupDataset=Firma, LookupKeyFields=KNr, LookupResuldFields=Name
2) AnsprechpartnerName: der löst über Ansprechpartner den Namen auf, also (KeyFields=Ansprechpartner, LookupCache=False, LookupDataset=Ansprechpartner, LookupKeyFields=ApNr, LookupResuldFields=Name
Die Tabellen sehen dann so aus:
Firma:
KNr Firma ,...
1 Firma1
2 Firma2
3 Firma3
Ansprechpartner:
ApNr Firma Name
1 1 Herr A
1 1 Herr B
1 2 Herr C
1 3 Herr D
1 3 Herr E
Zum Auftragsquery habe ich noch die beiden Lookup-Felder hinzugefügt:
FirmaText und AnsprechpartnerText
Jetzt habe ich einen dbGrid in dem nur die beiden Lookup-Felder sind und es soll das im Prinzip so aussehen:
FirmaText AnsprechpartnerText
Firma1 Herr A *
Firma3 Herr E **
Also bei * sollte dann zur Auswahl sein: Herr A und Herr B
Und bei ** sollte dann zur Auswahl sein: Herr D und Herr E
Das klappt auch soweit, jedoch die Anzeige klappt nicht richtig
und zwar bei der wie oben gefüllten Tabelle kommt dann einmal (wenn der Cursor aus Firma 1 steht)
FirmaText AnsprechpartnerText
Firma1 Herr A
Firma3
und wenn der Cursor auf Firma 3 steht sieht es dann so aus:
FirmaText AnsprechpartnerText
Firma1
Firma3 Herr E
Also der Text im gefilterten Lookup-Field verschwindet immer, wenn der gesuchte Wert nicht in der aktiven Liste ist.
Nur wie kann man dem entgegenwirken?
Kann man irgendwie dafür sorgen, dass das Lookup-Feld sich den Wert speichert, falls er gerade nicht dem zugehörigen
Query nicht verfügbar ist? Oder kann man irgendwie an dem DBGrid manipulieren, so dass er den Wert nicht löscht, wenn das Lookup-Feld leer ergibt?
Danke für jede Antwort
Chaosworld
PS.: Falls das hier der falsche Bereich ist, und es eher unter
VCL gehört, bitte verschieben, konnte mich nicht wirklich entscheiden, wohin es gehört (irgendwie in beiden Bereichen). Danke