Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: petbo am 10.12.03 - 13:27:56

Titel: Anzeige in Maske nach DBLookup
Beitrag von: petbo am 10.12.03 - 13:27:56
Hallo zusammen,

ich lasse mir in einer Maske mit Hilfe von DBlookup Daten aus Feldern einer anderen Notes-Datenbank anzeigen. Das klappt auch nach einigen probieren auch, nur hat es eine negative Angewohnheit. Linkls von den Daten wird jedesmal das Wort "SELECT" mit angezeigt. Ich habe schon sämtliche Einstellungen ausprobiert, leider ohne Erfolg.

Hat vielleicht jemand eine Idee wie man das unterdrücken kann??????

Über Lösungen würde ich mich sehr freuen.

Gruß

Peter
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Thomas Schulte am 10.12.03 - 20:07:30
Das hat keine Einstellung. Vermutlich ist deine Formel einfach nur falsch geschrieben. Zeig mal her.

Thomas
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 09:05:14
Hallo,

hier die Formel:
@DbLookup("";"SN300203/Spk Aachen/DE":"934\\MA-Verz.nsf";"Mitarbeiter";(BenutzerID);"OE_NR";[FailSilent])

Nach der Aktualisierung der Maske sieht das Ganze dann folgendermaßen aus:

SELECT 934

wobei 934 der Feldinhalt des Feldes der anderen Datenbank ist.

Hoffe Du kannst damit etwas anfangen.

Gruß

Peter
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Semeaphoros am 11.12.03 - 09:10:16
Dann würde ich mal in erster Linie den FailSilent rausnehmen und schauen, ob da eine Fehlermeldung kommt
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 09:29:23
Das Problem bestand schon bevor ich den Parameter FailSilent hinzugefügt habe. Daran liegt es leider nicht.
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Glombi am 11.12.03 - 09:47:03
Es kommt mir komisch vor, dass der Key = (BenutzerID) sein soll. Was soll denn da drinstehen. Ein Feld kann es wegen der Klammern nicht sein.

Andreas
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 09:54:08
Doch BenutzerID ist ein Feld in der Maske. Die Klammern kann man auch weglassen, hat aber dennoch den gleichen Effekt. Nach wie vor "SELECT ....". Habe das Problem bei insgesamt 6 Feldern.
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Glombi am 11.12.03 - 10:05:32
Mach mal bitte folgendes:

_ret := @DbLookup("";"SN300203/Spk Aachen/DE":"934\\MA-Verz.nsf";"Mitarbeiter";BenutzerID;"OE_NR");
@Prompt([ok];"BenutzerID";BenutzerID)
@Prompt([ok];"_ret";@Text(_ret))

Was wird ausgegeben?

Ich gehe davon aus, dass die erste Spalte der View "Mitarbeiter" sortiert ist - kannst Du das bestätigen?
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Thomas Schulte am 11.12.03 - 10:08:25
ich wette jetzt mal das das nicht am DBLookup selber liegt, sondern du irgendwo die Felder neu berechnest oder deine Rückgabe in der anderen Datenbank dieses Feld so zusammensetzt.

Thomas
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Semeaphoros am 11.12.03 - 10:08:51
Andreas: Da der Parameter ja ein Ausdruck ist, haben die Klammern keinen Einfluss (sie ändern die Auswertungsreihenfolge ....  ;D )

Peter: Ist die Zielansicht sortiert? Kategorisiert? (hat in R4 zu Fehlern geführt, vielleicht ist ja immer noch so ein Nebeneffekt "eingebaut"). Was steht im Feld BenutzerID?
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Glombi am 11.12.03 - 10:18:54
Er soll mal die Prompt-Ergebnisse posten, dann wissen wir wohl mehr.

Das mit den Klammern stimmt schon, es hätte ja sein können, das Notes 6 da irgendwie empfindlich drauf reagiert.

Andreas
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 10:48:41
Andreas: Da der Parameter ja ein Ausdruck ist, haben die Klammern keinen Einfluss (sie ändern die Auswertungsreihenfolge ....  ;D )

Peter: Ist die Zielansicht sortiert? Kategorisiert? (hat in R4 zu Fehlern geführt, vielleicht ist ja immer noch so ein Nebeneffekt "eingebaut"). Was steht im Feld BenutzerID?

Ja die Zielansicht ist Sortiert und zwar die erste Spalte wo die BenutzerID steht. Ohne die Sortierung funktioniert das ganze gar nicht.
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Semeaphoros am 11.12.03 - 10:52:49
Und sonst? Da waren noch ein paar mehr Fragen. Thomas ist der Sache auf der Spur, mit ganz ähnlichen Annahmen wie ich auch habe.
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 11:11:40
Mach mal bitte folgendes:

_ret := @DbLookup("";"SN300203/Spk Aachen/DE":"934\\MA-Verz.nsf";"Mitarbeiter";BenutzerID;"OE_NR");
@Prompt([ok];"BenutzerID";BenutzerID)
@Prompt([ok];"_ret";@Text(_ret))

Was wird ausgegeben?

Ich gehe davon aus, dass die erste Spalte der View "Mitarbeiter" sortiert ist - kannst Du das bestätigen?


Habe das probiert mit folgendem Ergebnis:

in dem Fenster _ret wird der Wert "934" ausgegeben.

Die Spalte BenutzerID in der View "Mitarbeiter" ist aufsteigend sortiert.
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Glombi am 11.12.03 - 11:16:30
"in dem Fenster _ret wird der Wert "934" ausgegeben" ==> der @DbLookup arbeitet einwandfrei. Es ist wie Thomas gesagt hat: Durch das Aktualisieren wird - entweder eine Eingabeumsetzungsformel in einem Feld oder das Postrecalc in Script - das "Select" in das Feld geschrieben.

Sieh Dir mal die entsprechenden Felder und Scripte an. Evtl. machst Du mal ein Synopse und sucht nach dem String "Select".

Andreas
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Semeaphoros am 11.12.03 - 11:17:03
Mensch, Peter, wenn Du weiter so gut Fragen beantwortest, kommen wir nicht vernünftig vorwärts. Andreas hat doch auch nach dem Inhalt des Feldes BemutzerID gefragt, dem ersten Prompt, diese Frage hast Du aber wieder nicht beantwortet. Wenn Du willst, dass wir Dir weiterhelfen, dann brauchen wir von Dir aber auch die vollständigen Angaben.
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 11:38:10
Mensch, Peter, wenn Du weiter so gut Fragen beantwortest, kommen wir nicht vernünftig vorwärts. Andreas hat doch auch nach dem Inhalt des Feldes BemutzerID gefragt, dem ersten Prompt, diese Frage hast Du aber wieder nicht beantwortet. Wenn Du willst, dass wir Dir weiterhelfen, dann brauchen wir von Dir aber auch die vollständigen Angaben.

Sorry, das hatte ich vergessen weil ich hier gestört wurde. Als Inhalt des Feldes BenutzerID wurde der Wert "e0801050" ausgegeben. Dies ist auch der korrekte Wert.

Weiterhin werden diese Felder nirgends weiter berechnet. Bei den Daten in der Datenbank MA-Verz.nsf handelt es sich um reine Textfelder. Die Datenbank wurde nur dafür angelegt, um die Daten auszulesen.

Die Felder für das DBLookup wurden von mir als Formelfelder - berechnet angelegt.
   
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Semeaphoros am 11.12.03 - 11:41:21
Dann ändere mal die Ansicht so, dass das Feld in der Ansicht angezeigt wird. Erstens lässt sich das dann so kontrollieren, zweitens greifst Du dann statt über den Feldnamen über die Spaltennummer drauf zu.
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Glombi am 11.12.03 - 11:45:38
Wo steht eigentlich die Formel mit dem @DbLookup?
In dem Feld selbst oder einem Button?
Falls letzteres, poste bitte mal den ganzen Code.

Wenn _ret = "42" ist, dann muss das "Select" woanders herkommen!
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 12:24:24
Dann ändere mal die Ansicht so, dass das Feld in der Ansicht angezeigt wird. Erstens lässt sich das dann so kontrollieren, zweitens greifst Du dann statt über den Feldnamen über die Spaltennummer drauf zu.

Die Felder werden auch jetzt alle in der Ansicht angezeigt, nur erfolgt der Zugriff über den Feldnamen und nicht über die Spaltennummer. Habe das aber jetzt gerade mal geändert; wieder ohne Erfolg.

Ich glaube bald es ist ein Bug in Notes! :(
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 12:25:21
Wo steht eigentlich die Formel mit dem @DbLookup?
In dem Feld selbst oder einem Button?
Falls letzteres, poste bitte mal den ganzen Code.

Wenn _ret = "42" ist, dann muss das "Select" woanders herkommen!


Das @DBLookup steht in den Feld unter Wert. Ist kein Buttom.
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: Glombi am 11.12.03 - 12:28:02
Ich glaube nicht an einen Bug. Wenn doch der @DbLookup "934" zurückliefert - das was in der @Promptbox angezeigt wird  - muss das Select doch woanders herkommen.
Beim Prompt wurde lediglich @Text(...) verwendet, das könntest Du noch versuchen:

Anstelle von
@DbLookup("";"SN300203/Spk Aachen/DE":"934\\MA-Verz.nsf";"Mitarbeiter";BenutzerID;"OE_NR");
verwendest Du
@Text(@DbLookup("";"SN300203/Spk Aachen/DE":"934\\MA-Verz.nsf";"Mitarbeiter";BenutzerID;"OE_NR"));

Wenn das funzt, ist es in der Tat ein Bug.

BTW: Welche Notes Version verwendest Du - Server und Client.
Kommt der Fehler im Notes-Client oder Web?

Andreas

Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 12:53:42
Ich glaube nicht an einen Bug. Wenn doch der @DbLookup "934" zurückliefert - das was in der @Promptbox angezeigt wird  - muss das Select doch woanders herkommen.
Beim Prompt wurde lediglich @Text(...) verwendet, das könntest Du noch versuchen:

Anstelle von
@DbLookup("";"SN300203/Spk Aachen/DE":"934\\MA-Verz.nsf";"Mitarbeiter";BenutzerID;"OE_NR");
verwendest Du
@Text(@DbLookup("";"SN300203/Spk Aachen/DE":"934\\MA-Verz.nsf";"Mitarbeiter";BenutzerID;"OE_NR"));

Wenn das funzt, ist es in der Tat ein Bug.

BTW: Welche Notes Version verwendest Du - Server und Client.
Kommt der Fehler im Notes-Client oder Web?

Andreas



Hallo Andreas,

habe mal das @Text mit eingebunden, aber auch dies brachte keinen Erfolg. Derzeit setze ich sowohl auf dem Server als auch auf dem Client die Version Domino 6.0.2 CF1 ein.  Bis jetzt bewege ich mich nur auf dem Client. Wie das im Web aussieht habe ich nicht getestet, da diese Datenbank auch ausschließlich über den Client genutzt wird.

Ich werde es aber gleich mal an einem Client mit einer anderen  Notes Version testen.

Peter
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 11.12.03 - 13:08:21
So ich bin einen kleinen Schritt weiter gekommen. Und zwar sieht es so aus, dass wenn der Wert in dem selektierten Feld aus mehreren Wörten besteht, das Wort "SELECT" nicht mit angezeigt wird. Wenn ich mir den Benutzert-Namen anzeigen lasse sieht es ganz normal aus, da der mind. aus zwei Wörtern besteht.

Hilft das vielleicht weiter eine Lösung zu finden???

Noch habe ich die Hoffnung nicht aufgegeben.

Peter
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: sja am 12.12.03 - 13:38:20
Hi Peter,

liegt das vielleicht beim Datentyp. Benutzername ist ein Text. Was ist "934"?
Titel: Re:Anzeige in Maske nach DBLookup
Beitrag von: petbo am 15.12.03 - 09:03:16
Hi Peter,

liegt das vielleicht beim Datentyp. Benutzername ist ein Text. Was ist "934"?


Der Datentyp ist bei beiden Feldern gleich.  Insgesamt wird das DBLookup auf sechs Felder ausgeführt, die alle die gleiche Definition haben, sowohl in der Quelldatenbank (Text - Bearbeitbar) auch bei der Zieldatenbank (Formel - Berechnet). Nur dann wenn der Wert in dem Feld der Quelldatenbank aus mehr als einem durch Leerzeichen getrennten Wort besteht, wird dieser auch in die Zieldatenbank eingestellt. Ansonsten erfolgt nur in der Maske die Anzeige "SELECT <Wert>".

Hier ein Beispiel von 2 Datensätzen:

BenutzerID:  e0801050
BenutzerName:  Peter Muster
GST:  hier müsste "934" stehen / in der Maske "SELECT 934"
GST_Bez:  hier müsste "IT-Infrastruktur" stehen / in der Maske "SELECT IT_Infrastruktur"
Mail:  
TelNr:  
FaxNr:  
Autor:  Peter Born/Spk Aachen/DE
$UpdatedBy:  CN=Peter Born/O=Spk Aachen/C=DE


BenutzerID:  e0801731
BenutzerName:  Rainer Test
GST:  hier müsste "931" stehen / in der Maske "SELECT 931"
GST_Bez:  Geschäftsprozesse und Projekte
Mail:  
TelNr:  
FaxNr:  
Autor:  Peter Born/Spk Aachen/DE
$UpdatedBy:  CN=Peter Born/O=Spk

Ich hoffe immer noch dass vielleicht jemand hier eine Idee hat, was da falsch läuft.

Peter