Autor Thema: DbLookup mit mehreren Datensätzen  (Gelesen 2236 mal)

Offline email

  • Frischling
  • *
  • Beiträge: 4
DbLookup mit mehreren Datensätzen
« am: 21.02.06 - 19:22:09 »
Hallo,

ich habe eine neue DB erstellt und möchte mir gerne Kompetenzen von der Datenbank "orga.nsf" mit einem DbLookup holen.

@DbLookup("":"NoCache";"":"orga.nsf";mitarbeitername;"kompetenz")

Das Feld kompetenz enthält mehrere Werte, wie z.B.

EZ bis 2T EUR; AZ bis 2T EUR; ÜW bis 4T EUR; LS bis 1T EUR

Wie kann ich z.B. nur den Textwert "ÜW bis 4T EUR" herausbekommen, ohne dass ich in der Datenbank "orga.nsf" änderungen vornehmen muss. ???

Ein @Middle, @Left usw. hilft mir nicht weiter.

MfG. Danke für die Lösung

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: DbLookup mit mehreren Datensätzen
« Antwort #1 am: 21.02.06 - 19:27:00 »
Enthält das Feld Kompetenz einen skalaren Wert oder eine Liste?
Nicht ganz klar ist mir, was mit 'Wie kann ich z.B. nur den Textwert "ÜW bis 4T EUR" herausbekommen' gemeint ist - weisst Du schon, nach was Du suchst, oder willst Du eine Liste aufdröseln oder was?

Bernhard

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: DbLookup mit mehreren Datensätzen
« Antwort #2 am: 22.02.06 - 14:50:32 »
_lookup:=@dblookup();
_liste :=@if(@iserror(_lookup);"";@explode(_looku;";");

Durch geschickte verwendung von @subset kommst du nun an die einzelnen Listenelemente ran.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline email

  • Frischling
  • *
  • Beiträge: 4
Re: DbLookup mit mehreren Datensätzen
« Antwort #3 am: 22.02.06 - 15:16:41 »
Hallo,
ersteinmal danke für die Antwort.

Etwas genauer erklärt:

Meine ORGA-Ansicht sieht wie folgt aus.

Name          Kompetenz

Kellner        AZ bis 2T EUR           (1. Dokument)
Kellner        EZ bis 2T EUR           (2. Dokument)
Kellner        ÜW bis 1T EUR         (3. Dokument)

Ich möchte in meiner eigenen DB mit einem DbLookup herrausfinden welche EZ Kompetenz Hr. Kellner hat.

Wenn ich jetzt ein DbLookup auf die obere Ansicht nach dem Feld Kompetenz und mit dem Schlüssel Kellner mache bekommen ich folgende Ausgabe:

AZ bis 2T EUR; EZ bis 2T EUR; ÜW bis 1T EUR

Diese Ausgabe kann ich aber nicht mit einem @Left, @Middle etc bearbeiten, da ich immer die ; Semikolone in meinen Feld stehen hab, auch wenn der Text (z.B. AZ) dann ausgeblendet wird.

Danke. MfG

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: DbLookup mit mehreren Datensätzen
« Antwort #4 am: 22.02.06 - 15:20:16 »
@DBlookup liefert Dir eine Text-Liste zurück.
Du könntest in deinem Feld die Option "Mehrfachwerte zulasseen" ankreuzen und im 3. Tab einstellen, dass Mehrfachwerte mit neuen Zeilen getrennt dargestellt werden.
Dann sind kein ";" mehr in deinem Feld :-)

Um auf die einzelnen Werte zuzugreifen kannst Du z.B.  über @SubSet gehen
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: DbLookup mit mehreren Datensätzen
« Antwort #5 am: 27.02.06 - 16:25:30 »
was er will, ist aus einer Text-Liste einen bestimmten Wert herauszufinden, der mit einem vorgegebenen String beginnt.

Das ist ganz einfach:

lkp := @DBLookup( .... ) ;

- in lkp steht dann : "AZ bis 2T EUR" : "EZ bis 2T EUR" : "ÜW bis 1T EUR" (also 3 Werte in einer Liste)

Will ich jetzt wissen "welche EZ hat denn der User ?",
dann gehe ich so vor:

tmp1 := @Right( lkp ; "EZ" );
- in tmp1 steht dann: "" : " bis 2T EUR" : "" (weil der erste und letzte Wert kein EZ haben)

noch fix ein @Trim drumrum, und man bekommt einen Einzelwert:
"bis 2T EUR"

fertig.

Tja, so lange es keine Schleifen gab in Formel, musste man sich halt mit sowas weiterhelfen...

HTH
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz