Domino 9 und frühere Versionen > ND7: Entwicklung

Felder von einer Maske in eine andere übertragen

<< < (3/8) > >>

Marie:
Hallo Peter,

vielen Dank, das klappt. Jetzt habe ich allerdingsdas Problem, wenn ich ein Angebot anlege, dann ist das Feld, auf welches sich der Befehl "DBLookup" bezieht nich leer ist, sodaß ich die Fehlermeldung:

Eintrag im Index nicht gefunden

bekomme"

Marie:
Hallo Peter,

ach so, da ich eine "manuelle" Eingabe auch weiterhin offen halten möchte, sollte das Ausgabefeld auch weiterhin bearbeitbar sein!

Ist das möglich?

Die Fehlermeldung habe ich im Griff.
Ich habe folgenden Code verwendet:

a:=@Unique(@DbLookup("";"":"";"Backup3";firma;4));
@if(@iserror(a);"";a);

...ist der Empfehlenswert? Oder gibt es vielleicht einen besseren Weg?

Gruß marie

kawie:

--- Zitat von: Marie am 02.11.10 - 13:19:32 ---Hallo Peter,

ach so, da ich eine "manuelle" Eingabe auch weiterhin offen halten möchte, sollte das Ausgabefeld auch weiterhin bearbeitbar sein!

Ist das möglich?

Die Fehlermeldung habe ich im Griff.
Ich habe folgenden Code verwendet:

a:=@Unique(@DbLookup("";"":"";"Backup3";firma;4));
@if(@iserror(a);"";a);

...ist der Empfehlenswert? Oder gibt es vielleicht einen besseren Weg?

Gruß marie

--- Ende Zitat ---

Die Formel kann man so machen. Performanter wäre allerdings ein Feld als Bedingung einzufügen wie z.B. Auftrag ="True".
Der Vorteil wäre der DbLookup nicht ausgeführt werden muss, wenn es nicht zutrifft man spart also Zeit und muss keinen Fehler abfangen.

Beispiel:

--- Code: ---@if(Auftrag="True";a:=@Unique(@DbLookup("";"":"";"Backup3";firma;4));a:="");
a
--- Ende Code ---

Peter Klett:
Also ganz ehrlich gesagt, verstehe ich bald nur noch Bahnhof.

Welches Feld ist nicht leer und erzeugt deshalb einen Fehler?

Welches Feld soll bearbeitbar sein? Das Feld, in das Du z.B. die Straße des Kunden schreibst?

Wenn die Felder mit den weiteren Angaben zum Kunden nur vorbelegt, aber bearbeitbar sein sollen, hast Du zwei Möglichkeiten:

1. Du schreibst die Formel als Vorgabe für das bearbeitbare Feld, musst dann aber sicherstellen, dass der Schlüssel (also die Firma) für das DBLookup gefüllt ist, bevor das bearbeitbare Feld gerechnet wird. Bei nachträglicher Änderung der Firma erfolgt keine Neuberechnung

2. Du wählst die Firma mittels einer Schaltfläche (z.B. mit @Picklist) aus und füllst im Anschluss innerhalb der Schaltfläche das Feld mit Deiner Formel, aber abgewandelt auf FIELD ausgabefeld := ...

Marie:
Hallo Peter,

also sagen wir mal ich habe 4 Felder als Dialogliste angelegt. Alle sind bearbeitbar, und greifen auf die View Backup3 zu. So kann ich ich manuell in allen feldern eine Auswahl treffen.

Die felder heißen:

Firma
Ansprechpartner
Straße
Ort

Ich beziehe mich bei den letzten 3 Felder über DBLookup auf das Feld Firma, und möchte so die Felder automatisch befüllen, wenn ich über den Dialogbutton die Firma auswähle.

Wenn ich die Maske öffne, dann sind alle felder leer, und die Felder mit der Formal für DBLookup erzeuegn den Fehler.

Ich möchte aber, für den Fall, das die View in die letzten Felder nichts brauchbares liefert, diese auch noch manuell befüllen können!

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln