Mit DbLookup, DbColumn od. @Picklist Felder automatisch füllen

  • Hallo zusammen,


    ich beschäftige mich zum erstenmal mit DECS und daraus resultierend mit DbLookup, DbColumn, @Picklist.


    Mit DECS hole ich mir aus einer Access-DB die Daten in eine Notes-DB (DECSTest.nsf)

    Name: Text
    Vorname: Text
    Strasse: Text
    PLZ: Text
    Ort: Text


    Name der Ansicht = Knr


    In einer anderen Notes-DB (DECSTest_dblookup) gibt es die selben Felder.


    Name: Dialogliste
    Vorname: Text
    Strasse: Text
    PLZ: Text
    Ort: Text


    Name der Ansicht = Knr


    Ich möcht nun in der DECSTest_dblookup mit dem Feld „Name“ (Dialogliste) die Werte aus DECSTest.nsf auslesen und alle andern Felder sollen automatisch gefüllt werden.


    Die Werte anzeigen habe ich mal mit diesen beiden Formeln versucht und es funktioniert auch:
    @PickList ( [Custom]; „Server" : "Allgemein\\DECSTest.nsf"; "Knr"; ""; "Adresse"; 2 )


    @DbColumn ( "" : "No Cache"; "Server" : "Allgemein\\DECSTest.nsf"; "Knr"; 2)


    Was muß ich aber tun, wenn ich nun einen Namen aus der Liste auswähle und dann die anderen Felder automatisch mit den dazugehörigen Werten ausgefüllt werden sollen?


    In der Designerhelp finde ich dazu nichts.


    Wäre nett, wenn Ihr mir dazu helfen würdet.


    Vielen Dank schon mal im voraus.


    Gruß Siggi

    • Offizieller Beitrag

    bau in der Ansicht eine versteckte Spalte, die die Felder mit einem Trenner (z.B. "~") als String zusammen anzeigt.
    Beispiel:
    Max~Müller~Schlaglochweg~04711~Ort


    Die Picklist gibt dann diesen Wert aus der versteckten Spalte zurück und mit @Word kannst Du diesen auseinander nehmen.


    DBColumn würde ich hier nicht verwenden.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • So, ich muß noch mein Ergebniss posten.
    Hat etwas gedauert, da ich leider für einige Zeit nicht im Einsatz war.


    Danke erstmal für Deinen Tipp.


    Habe es aber leider nicht so hinbekommen, wie´s jetzt funzt. Deshalb habe ich mich an unseren externen Programmierer gewendet.
    Und ich bin überzeugt, daß war auch besser so :)


    Hier also der Code für @Picklist und @DbLookup:


    _FieldList :="KDNR":"Name30":"Name2":"Strass":"PLZ":"Ort":"Telef1":"Telef2";
    _server := @Subset(@DbName; 1);
    _Addressstring := @PickList ([Custom]:[Single]; _server:"xxxAllgemein\\ksrdblkd.nsf";"AdressLookup";"Adressen";"Bitte Wählen Sie aus";9);
    @For (i:=1;i<=@Elements(_FieldList);i:=i+1;


    @SetDocField (@Text(@DocumentUniqueID);_FieldList[i];@Word(_Addressstring;"~~";i))
    )


    ________________________________


    _FieldList :="KDNR":"Name30":"Name2":"Strass":"PLZ":"Ort":"Telef1":"Telef2";
    _server := @Subset(@DbName; 1);
    REM {@Prompt([Ok];"";_server);};
    _Addressstring := @DbLookup ("":"";_server:"xxxAllgemein\\ksrdblkd.nsf";"AdressLookup";@Text(KDNR);9;[FailSilent]);
    REM {@Prompt([Ok];"";_Addressstring);};
    @For (i:=1;i<=@Elements(_FieldList);i:=i+1;


    @SetDocField (@Text(@DocumentUniqueID);_FieldList[i];@Word(_Addressstring;"~~";i))
    )


    Gruß Siggi