Domino 9 und frühere Versionen > ND6: Entwicklung
Durch Dialogliste andere Felder füllen
Ayhan:
Hallo TazDevil,
ich habe ergänzend zu Eknoris Vorschlag
--- Zitat von: eknori am 13.08.05 - 18:39:36 ---Die zweite Spalte baust du dann so auf: Feld1+"~"+Feld2+"~"+ ...
Dann brauchst du, nachdem dir der @DBLookUp hoffentlich einen Wert zurückliefert nur noch mit @Word den String wieder aufzudröseln ( Trennzeichen ~ ) und in die Felder schreiben ...
--- Ende Zitat ---
folgende Idee, jedoch ohne @DBLookup.
1. Erstelle in deiner Ansicht eine versteckte (am besten letzte) Spalte; Die Formel für diese Spalte sollte so aussehen: feld1+"~~"+feld2+"~~"+feld3+"~~"+feld4+"~~"+feld5;
2. Merke dir die Spaltennummer.
3. Erstelle eine Aktion/Schaltfläche in deiner Maske (von wo aus du eben einen Eintrag auswählen möchtest) und paste folgenden Formel-Code in die Aktion/Schaltfläche ein:
REM {Deklaration der Felder};
_felder:= "feld1":"feld2":"feld3":"feld4":"feld5";
REM {Sonstige Deklarationen; Die 6 ist die Spaltennummer, in der deine zusammengesetzte Formel steht};
_view:= "Ansichtsname";
_rueckgabe:=@PickList([Custom] : [Single] ; "" : "" ; _view ; "Fenstertitel" ; "Bitte einen Wert auswählen:";6);
REM {Parsen des Rückgabewertes};
_werte:= @Explode(_rueckgabe;"~~");
REM {Setzen der Felder};
@For(i:=1;i <= @Elements(_felder);i:= i + 1;
@SetField(_felder;_werte)
);
Dabei werden gleich beim Auswählen eines Dokuments die Felder gesetzt. Ohne Lookups.
Nachteil: Es kann vorkommen, dass du veraltete Daten in den Feldern stehen hast (wenn z. B. sich ein Sourcedokument mal ändern sollte).
Um sicher zu gehen, dass du ohne Schlüssel einen Lookup machst,
@If(Schluesselfeld="";"";@DBLookup(...)) usw... Sehe dir dazu am besten die Domino-Designer-Hilfe an.
Ansonsten könnte ich dir bei deiner bisherigen Lösung empfehlen, nach dem Setzen der Felder den Befehl @Command( [RefreshWindow] ) auszuführen.
TazDevil20:
Habe das mit dem Ausfüllen der restlichen Felder mit einem Button gemacht. Wenn ich mal mehr Erfahrung habe, werd ich das noch ändern.
Stehe jetzt aber schon wieder vor einem Problem!! :P
--- Zitat ---@If(Monitor != "";
@If(@DbLookup("": "";"":""; "Help/Bildschirm";Monitor ; 4) = "";
@Do(@SetField("link_monitor";@DbLookup("": "";"":""; "Help/Bildschirm";Monitor ; 2));
@SetDocField(link_monitor; "zugeordnet"; 1);
@SetDocField(link_monitor; "Computer"; Seriennummer);
@SetDocField(link_monitor; "link_pc"; @Text(@DocumentUniqueID))
);
@Do(@Prompt([Ok]; "Fehler"; "Dieser Monitor wurde bereits einem anderen PC zugeordnet!");
@Return("")
)
);
""
);
@SetField("Zu_Created_by"; @Name([CN]; @UserName));
@SetField("Zu_created"; @Now);
@PostedCommand([FileSave]);
@PostedCommand([FileCloseWindow])
--- Ende Zitat ---
Ich überprüfe, ob der Monitor bereits einem PC zugeordnet wurde. Dabei ist es egal ob ich es so wie hier über das Feld "Seriennummer" oder über das Feld "zugeordnet" versuche, ich kann den Monitor immer an mehr als einen PC vergeben. Ich versuche es immer direkt hintereinander. Kann es sein, dass die View nicht schnell genug aktualisiert wird? Habe mir den Wert mal ausgeben lassen, und habe dabei festgestellt, dass wirklich nicht der aktuelle Wert zurückgegeben wird.
Was mache ich falsch?? Hoffentlich bekomme ich irgendwann mal noch alle meine Probleme in den Griff :D
ascom40:
Hallo TazDevil20 ???
--- Zitat ---Wenn ich mal mehr Erfahrung habe, werd ich das noch ändern.
--- Ende Zitat ---
spätestens dann hast du keine Zeit mehr dafür ;)
Zu deinem Problem: @DBLookup ohne die [NoCache]-Option liest immer die Werte aus der DB, die beim Öffnen der DB gültig waren. Spätere Änderungen "in der Ansicht" kannst du so nicht greifen. Füge den Parameter [NoCache] ein, dann wird der jeweils aktuelle, von dir evtl. vorher geänderte Wert aus der Ansicht geholt.
Jo <- das ist übrigens MEIN Name ;D
TazDevil20:
Vielen Dank! Jetzt habe ich das Prob endlich gelöst
Michael <-- Das ist MEIN Name O0
Axel:
--- Zitat von: TazDevil20 am 21.08.05 - 21:22:20 ---Vielen Dank! Jetzt habe ich das Prob endlich gelöst
--- Ende Zitat ---
Lässt du uns an deiner Lösung teilhaben?
Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln