![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: Zeos
Lookup-Field mit Filter
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz