Autor Thema: Rückgabewert von @Picklist  (Gelesen 1118 mal)

Offline Steffen_Albrecht

  • Senior Mitglied
  • ****
  • Beiträge: 300
  • Geschlecht: Männlich
  • Trübsal ist nicht das Einzige was man blasen kann!
Rückgabewert von @Picklist
« am: 25.03.03 - 12:22:10 »
Hallo,

anbei habe ich einen Auszug einer Formel, die hinter einem Button liegt.
Bei einem Klick auf den Button wird eine Auswahlbox geöffnet, die eine
Ansicht beinhaltet.
Hier kann ich dann ein Dokument auswählen. Anhand der Auswahl werden
dann mehrere Felder berechnet.
Das funktioniert ja auch so weit. Wenn man aber in der Ansicht nach einer
anderen Spalte sortiert, können die anderen Felder, die anhand der Auswahl
nicht mehr berechnet werden. (Es gibt eine Fehlermeldung).
Das Feld, in das der Rückgabewert der Picklist geschrieben wird, enthält aber
dennoch den richtigen Wert.

Hat jemand eine Idee woran das liegen kann oder wie ich das Problem
beseitigen kann?


Gruß
   Steffen

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Auswahl :=    @PickList
                  (
                  [Custom] : [Single] ;
                  InventarServer : InventarDB ;
                  "helpme" ;
                  "Hadrware" ;
                  "Bitte wählen Sie die betroffen Hardware!" ;
                  1
                  );

FIELD btrRechner := btrRechner;
FIELD btrHardware := btrHardware;
FIELD btrUser := btrUser;
FIELD Kostenstelle := Kostenstelle;

@SetField
   (
   "btrRechner";
   Auswahl
   );

@SetField
   (
   "btrHardware";
   @DbLookup ( "Notes" : "NoCache" ; InventarServer : InventarDB ; "help_me|HELP" ; btrRechner ; 2) + @Char ( 0 ) + "Hardware:" + @Char ( 9 ) + @Char ( 9 ) +
   @DbLookup ( "Notes" : "NoCache" ; InventarServer : InventarDB ; "help_me|HELP" ; btrRechner ; 3) + " " + @Char ( 0 ) + @Char ( 9 ) + @Char ( 9 ) + @Char ( 9 ) +
   @DbLookup ( "Notes" : "NoCache" ; InventarServer : InventarDB ; "help_me|HELP" ; btrRechner ; 4) + @Char ( 0 ) + @Char ( 9 ) + @Char ( 9 ) + @Char ( 9 ) +
   @DbLookup ( "Notes" : "NoCache" ; InventarServer : InventarDB ; "help_me|HELP" ; btrRechner ; 5) + @Char ( 0 ) + "Lieferant: " + @Char ( 9 ) + @Char ( 9 ) +
   @DbLookup ( "Notes" : "NoCache" ; InventarServer : InventarDB ; "help_me|HELP" ; btrRechner ; 9) + @Char ( 0 )+ "Gerätenummer: " + @Char ( 9 ) +
   @Text ( @DbLookup ( "Notes" : "NoCache" ; InventarServer : InventarDB ; "help_me|HELP" ; btrRechner ; 7)) + @Char ( 0 ) + "Seriennummer: " + @Char ( 9 ) +
   @Text ( @DbLookup ( "Notes" : "NoCache" ; InventarServer : InventarDB ; "help_me|HELP" ; btrRechner ; 8)) + @Char ( 0 ) + "Username: " + @Char ( 9 ) + @Char ( 9 ) +
   @DbLookup ( "Notes" : "NoCache" ; InventarServer : InventarDB ; "help_me|HELP" ; btrRechner ; 6)
   );

@SetField
   (
   "Kostenstelle";
   @If
      (
      Zuordnung != "Betroffene Hardware unbekannt oder nicht zuzuordnen" & btrUser != "";
         @DbLookup
            (
            "" : "NoCache" ;
            InventarServer :
            InventarDB ;
            "help_me" ;
            btrRechner ;
            11
            );
      @If
         (
         Zuordnung = "Betroffene Hardware unbekannt oder nicht zuzuordnen" & btrUser != "";
            @DbLookup
               (
               "" : "NoCache" ;
               StammServer :
               StammDB ;
               "NachMitarbeiter" ;
               btrUser ;
               2
               );
         ""
         )
      )
   );

@SetField
   (
   "btrUser";
   @If
      (
      Zuordnung = "Betroffene Hardware unbekannt oder nicht zuzuordnen" & btrUser_m != "";
         btrUser_m;
      @If
         (
         Zuordnung != "Betroffene Hardware unbekannt oder nicht zuzuordnen" & btrRechner != "";
            @DbLookup
               (
               "" : "NoCache" ;
               InventarServer :
               InventarDB ;
               "help_me" ;
               btrRechner ;
               6
               );
         ""
         )
      )
   )

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Rückgabewert von @Picklist
« Antwort #1 am: 25.03.03 - 12:32:41 »
hm..kA warum genau, aber wegen dem Quicksort:

lass Dir von der Picklist ruhig auf Basis der bisher gewählten View den Wert aus Spalte 1 geben.

Aber bei den vielen dblookups nachher nimm einen versteckte View, in der der Usre nicht rumfummeln kann. Aufbau gleich wie aus Picklist View (so wie ich zumindest Deine Formel lese, bezieht Du Dich stets auf die gleiche View).


Und noch ein Tip: statt 100 dblookups nimm ein "fettes" Dblookup, das Dir aus der 1. Spalte bereits alle Werte, die Du brauchst, im Picklist liefert und zwar im Format:
Name~Vorname~Alter~etc.. (Trenner "~")
Dann nimmst Du per @Word die einzelnen Infos aus dem String heraus, je nachdem welches Feld Du besetzen möchtest.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Steffen_Albrecht

  • Senior Mitglied
  • ****
  • Beiträge: 300
  • Geschlecht: Männlich
  • Trübsal ist nicht das Einzige was man blasen kann!
Re:Rückgabewert von @Picklist
« Antwort #2 am: 25.03.03 - 13:39:29 »
Danke für Deine Tips!
Damit funktioniert das jetzt!

Gruß
    Steffen

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz