DBLookup in Kombinationsfeld

  • Hallo,


    ich habe in einer Maske ein Feld vom Typ Kombinationsfeld (dt. Client). Die Auswahlliste soll per Formel ermittelt werden. Bisher habe ich dafür einen DBColumn genutzt, was auch prima funktionierte. Nun kam die Anforderung, die Auswahlmöglichkeiten auf eine bestimmte Vorauswahl, basierend auf einem anderen Feld, einzugrenzen. Das habe ich mit einem DBLookup versucht. Dieser liefert mir aber seltsamerweise keine Werte zurück. Zur Kontrolle habe ich den Feldtyp auf Dialogliste geändert, hier zeigt er mir als Auswahlliste das korrekte Ergebnis an. Einen Formelfehler kann ich also definitiv ausschließen. :D
    Kann es sein, das ein Kombinationsfeld zwar einen DBColumn verarbeiten kann aber kein DBLookup?? :-?
    Dummerweise brauche ich aber ein Kombinationsfeld wg. der Funktion "Eingabe aktiviert". Fällt euch irgendein Trick ein, wie ich das umgehen kann?
    Danke schon mal

  • Ist mir zwar neu daß ein Kombinationsfeld das nicht verarbeitet, aber schrib doch die Formel in ein verstecktes Feld und beziehe dich bei der Werte Formel des Kombinationsfeldes darauf.

  • Hallo Taurec,


    ich hatte auch keine Ahnung, das ein Kombifeld solche Dummheiten macht. Hab jetzt mal Deinen Vorschlag probiert, aber auch da klappt es nicht. Habe die Werte in ein neues Feld, Typ Text, Mehrfachwerte, Berechnet, geschrieben. Werden auch korrekt angezeigt. Klicke ich dann mein Kombifeld an übernimmt er wieder keine Werte. Irgendwo muss ich einen ganz blöden (Denk-) fehler haben. Bloß keine Ahnung wo...

  • Sorry für die blöde Formulierung. Mit "übernehmen" meinte ich das die Werte nicht zur Auswahl angeboten werden. Und ja, der Feldname des berechneten Feldes ist als Auswahlformel (Eigenschaftenbox des Kombifledes, 2. Reiter) des Kombifeldes eingetragen. Außerdem sind bei diesem die Optionen "Felder bei Schlüsselwortänderungen aktualisieren", "Schlüsselwortsynonyme zulassen".

  • Eben ist mir nochwas aufgefallen. Ich habe ein neues Dokument erstmal gespeichert und dann versucht, das Kombifeld zu ändern. Siehe da, jetzt funktionieren sowohl die Auswahl aus der Liste mittels des versteckten Feldes als auch direkt per DBLookup.
    Ich finde dieses Verhalten allerdings sehr seltsam, zumal er den DBColumn ja auch ohne Zwischenpeicherung macht. Außerdem ist das Kombifeld mit einer Eingabevalidierung vorgesehen (als Pflichtfeld deklariert, Werte müssen also auf jeden Fall eingegeben werden). Diese habe ich nur zum Test deaktiviert.
    Irgendwie muss es doch auch ohne Zwischenspeicherung gehen.

  • Nee, der Lookup muss stimmen, sonst würde ja auch in dem berechneten, versteckten Feld nichts zurückgeliefert.
    Aber zur Vorsicht hier nochmal die Formel:

    Code
    @DbLookup("" : "nocache"; ""; "(meine Ansicht)"; Gebäude; "Reg_Num")
  • Wie gesagt wenn ich ein Kombinationsfeld mit einem DBLookup mache dann steht bei mir direkt beim erstellen der gewünschte Wert drin.
    Es muss also entweder an der Ansicht oder irgendeinem Feldwert liegen auf den sich die Formel bezieht

  • Aber warum funktioniert denn dann der gleiche Lookup, wenn ich den Feldtyp auf ein "normales" Dialogfeld ändere? Damit ist doch eigentlich bewiesen, das die Formel an sich stimmt, oder?

  • Ja, cache löschen und desktop komprimieren hab ich auch schon probiert, das Ergebnis ist leider das gleiche.
    Aber ich geb noch nicht auf. Wenn mir was neues einfällt werde ich hier mal drüber berichten. Ansonsten müssen die User halt erstmal damit leben, das es nicht umgesetzt werden kann.
    Trotzdem vielen Dank für die Hilfe.

  • Mittlerweile hab ich es hinbekommen. Das Problem war folgendes:
    Bei dem Auswahlfeld waren die Optionen "Felder bei Schlüsselwortänderungen aktualisieren" und "Auswahl bei Dokumentaktualisierung aktualisieren" angehakt. Bei dem Kombifeld war nur die Option "Felder bei Schlüsselwortänderungen aktualisieren" aktiv. Nachdem ich vieles hin- und her gesachaltet habe sind die Feldoptionen jetzt so gesetzt: Auswahlfeld: "Felder bei Schlüsselwortänderungen aktualisieren", Kombifeld: "Felder bei Schlüsselwortänderungen aktualisieren" und "Auswahl bei Dokumentaktualisierung aktualisieren". Und siehe da, es geht problemlos. Der Witz ist, bei einem Dialogfeld ging es auch ohne diese Optionen problemlos. Verstehe einer Notes... :nono: