Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: RalfK am 28.11.05 - 12:10:27

Titel: Daten aus einem Profildokument auslesen
Beitrag von: RalfK am 28.11.05 - 12:10:27
Hallo atnotes Gemeinde,

ich habe ein kleines Problem, oder besser gesagt, ich komme nicht auf den Lösungsansatz. Vielleicht könnt ihr mir einen Tipp geben.

Also ich habe ein Profildokument in dem verschiedene Werte stehen. Also zB

Feld1: Komplettrechner   Feld1a: Preis
Feld2: Festplatte  Feld2a: Preis

So weit so gut. Ich kann nun über @GetProfileField die einzelnen Felder in ein neues Dokument einlesen. Jetzt möchte ich das etwas weiterentwickeln. Ich würde gern eine Dialogliste schreiben, wo die einzelnen Werte drinstehen (also Rechner, Festplatte). Zusätzlich möchte ich für jeden Wert einen Preis festlegen. Das Ganze im Profildokument.

Öffnet nun der Benutzer ein neues Dokument, soll er per Dialogliste den Wert aussuchen und bekommt automatisch den Preis geliefert.

Mein Ansatz ist eigentlich, dass ich ein relativ schlankes Profildokument habe, was ich ohne Probleme an die jeweiligen Anforderungen anpassen kann.

Wißt ihr, wie ich dort am besten rangehen kann? Oder kennt ihr Quellen, wo man sich dazu informieren kann?

Grüße
Ralf
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: Lossa am 28.11.05 - 12:35:50
Hi,

ich halte Profildokumente für nicht die richtige Lösung für die von Dir gewünschte Umsetzung.

Mach doch in der gleichen oder einer anderen Datenbank eine neue Maske, wo die Hardwaretyp, Bezeichnung, Preis etc. Erfassen kannst. Diese Dokumente kannst du in Ansichten ausgeben, und dich mittels DBLookup oder DBcolumn darauf beziehen.
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: RalfK am 28.11.05 - 12:54:22
Hm das wäre auch eine Idee, aber dann habe ich doch das Problem, dass ich, wenn ich einen Wert auswähle, nicht automatisch die zugehörigen Werte wie zB Preis und Anzahl usw. angezeigt bekomme, oder habe ich da einen Denkfehler? Hmm.

Ich sollte es einfach mal testen.
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: Thomas Schulte am 28.11.05 - 13:09:07
Definitv Denkfehler. Wenn du ein Dokument X auswählst kannst du natürlich auch andere mit diesem Dokument zusammenhängende Daten übernehmen.
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: RalfK am 28.11.05 - 14:57:52
Ja. Ich habs mal probiert. Genau das habe ich gesucht. Aber was noch nicht so ganz klappt, ist den 2. Wert abhängig vom ersten zu machen.

Ich habe nun mit

@dbcolumn(........) eine Dialogliste erstellt.  Klappt klasse und ich kann dort die einzelnen Dokumente anwählen.


Doch irgendwie klappt es nicht, mir im 2. Feld den Preis anzeigen zu lassen. Er zeigt sämtliche Inhalte der Spalte an. Ich möchte aber, wenn ich oben zB "PC" auswähle, auf das passende Feld in der  Spalte "Preis" meiner Ansicht zugreifen.

Inwiefern muss ich die @dbcolumn Formel ändern?
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: Lossa am 28.11.05 - 15:08:23
Hi,

wenn Du ein DBColumn odeer DBLookup in einer Auswahlliste machst, dann gibt es dort zwei Optionen in den Feldeigenschaften:

1. Felder aktualisieren bei Auswahl
2. Auswahl aktualisieren bei Feldänderung

Mit ersterem werden die anderen Felder aktualisiert, sobald du eine Auswahl triffst
Mit zweitem erreichst Du das die Auswahlliste aktualisiert wird, sobald in einem anderen Feld eine Änderung stattfindet.

Mit Kombination dieser beiden Feldoptionen, kannst Du genau das erreichen was du willst.
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: RalfK am 28.11.05 - 15:56:50
Hmm daran liegt es leider nicht. Ich habe im 2. Feld die Formel

@Dblookup( "" : "" ; ""  : "" ; "Produkte" ; (Produktname);2)

stehen. So dass er anhand des gewählten 1. Eintrages in diesem Feld den 2. Eintrag reinschreibt.

Nur bekomme ich immer die Fehlermeldung, dass das 2. Feld nicht indiziert ist.
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: Lossa am 28.11.05 - 16:10:06
Hi,

ist deine Ansicht nach der ersten Spalte sortiert?

Ansonsten guckts du hier:

@DbLookup( Klasse : Cache ; Server : Datenbank ; Ansicht ; Schlüssel ; Feldname)

Zitat
@Dblookup( "" : "" ; ""  : "" ; "Produkte" ; (Produktname);2)
Es gibt in Notes bestimmt kein Feld mit dem Namen (Produktname) !!!!
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: koehlerbv am 28.11.05 - 16:16:53
Die Klammern sind aber zulässig, Ulrich-Thomas. Sie machen nur keinen Sinn.
Um ganz auf Nummer sicher zu gehen, habe ich das eben auch praktisch getestet.

Bernhard
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: RalfK am 28.11.05 - 16:23:13
Die Klammern sind aber zulässig, Ulrich-Thomas. Sie machen nur keinen Sinn.
Um ganz auf Nummer sicher zu gehen, habe ich das eben auch praktisch getestet.

Bernhard

Japp. Das habe ich auch aus der Hilfefunktion entnehmen können. Um nochmal auf die andere Frage zu kommen:

Die Ansicht ist in der ersten Spalten aufsteigend sortiert.
1. Spalte: Name     Feld: Produktname
2. Spalte: Aufschlag     Feld: Aufschlag

Wie gesagt, die Dialogliste zum auswählen des Produktes klappt mit @dbcolumn. Nur will er nicht im 2. Feld die o.g. Formel ausführen, irgendwo ist dort ein Fehler, den ich nicht finde.

Edit:

Ich habe mal die Datenbank angehängt
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: Kadlec am 29.11.05 - 09:00:30
Hallo,
nehme die folgende Formel:

T := @DbLookup( "": "" ; "";"Produktpflege";Produktauswahl;2);
@If(@IsError(T);"ERROR";T)

Zwei Bemerkungen dazu:
1. Für die Spalte die Du als Rückgabe brauchst, immer die Spalten Nr. nehmen.
2. Die Fehlermeldung "....view index bla, bla, bla" musst Du bei DbLookup
IMMER mit @IsError abfangen.

Boris
Titel: Re: Daten aus einem Profildokument auslesen
Beitrag von: RalfK am 29.11.05 - 09:49:47
Ah genau das hat die Lösung gebracht. Folgende Fehler sind mir unterlaufen:

Ich habe mich in der @dblookup im Feld Schlüssel auf den falschen Wert bezogen
Die Fehlermeldung nicht abgefangen.

Vielen dank für die schnelle Hilfe.