Autor Thema: Zugriff auf Felder eines Formulars / Dokuments  (Gelesen 2224 mal)

Offline black_jack

  • Frischling
  • *
  • Beiträge: 4
Zugriff auf Felder eines Formulars / Dokuments
« am: 03.03.07 - 07:08:19 »
Hallo,
ich arbeite mit AllDocs und soll an einem Standardformular  eine Änderung durchführen. Allerdings habe ich von Lotus Notes Progammierung keine Ahnung. Ich programmiere aber seit einiger Zeit (ca. 16 Jahre) in anderen prozedualen Programmiersprachen.
Zum Problem:
Das Formular enthält div. Kopfdaten wie "Betreff", "Zuständig" usw.
Wenn das Formular ausgefüllt ist, kann man es über einen Button, der sich im Formular befindet, abspeichern.
Das Formular wird dann autom. in eine bestehende Verzeichnisstruktur eingefügt.
Jetzt soll ich in dieser Struktur weitere Verzeichnisse von A-Z erzeugen (habe ich) und die Formulare sollen autom. in Abhängigkeit vom Anfangsbuchstaben des Benutzernachnamens in das jeweilige Verzeichnis (A-Z) gespeichert werden.
Dummerweise kann ich im Quelltext zu dem Button nicht auf mein Feld "Betreff" (in dem steht direkt der Nachname) zugreifen.
Ich habe einfach mal einen Namen hardcodiert vorgegeben und mit left("Name", 1) den Buchstaben abgeschnitten und mit & einfach an den vorgegebenen Pfad gehängt. Der Teil klappt schon mal, aber ich komme ums verrecken nicht an den aktuellen Namen ran.
Ich habe in etwa sowas probiert:

DIM Betreff AS String
DIM doc      AS NotesDocument
..
..
SET Betreff = doc.GetItemValue("Subject")

Habe den Quelltext leider auf dem Firmenrechner und komme Montag erst wieder ran :-(
Auf jeden Fall klappt das nicht, Subject ist immer leer.
Ich hoffe jemand hat eine Lösung.

Vielen Dank schon mal

Vielen Dank und bis bald

Harald

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Zugriff auf Felder eines Formulars / Dokuments
« Antwort #1 am: 03.03.07 - 07:46:00 »
wenn es nur um die Darstellung der Daten in der Ansicht geht, dann bist du mit left("Name", 1) schon auf dem richtigen Weg. Allerdings brauchst du die bestehenden Dokumente in keiner Weise zu verändern, um deren Darstellung zu ändern.

Erstelle eine neue Ansicht in der Datenbank ( idealerweise kopierst du deine bestehende Ansicht ) Benenne die Ansicht so um, daß es für dich passt ( bsp. CatByNameFirstLetter )

Vor die erste Spalte in der Ansicht fügst du eine neue Spalte ein ( Im Designer: Erstellen - neue Spalte einfügen )
Spaltenwert ist dein Feld "Betreff" ( warum eigentlich Betrefff, wenn dort der Name steht ?? )

Bei den Spalteneigenschaften wählst du im zweiten Reiter die Option "Kategorien" und gegebenen falls eine Sortierreihefolge.

Jetzt stellst du den Spaltenwert von "Feld" auf "Formel" um und schreibst als Formel dort ein:

@Left(Betreff;1)

rein.

Nun speichere die Ansicht und sieh dir das Ergebnis an ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline black_jack

  • Frischling
  • *
  • Beiträge: 4
Re: Zugriff auf Felder eines Formulars / Dokuments
« Antwort #2 am: 03.03.07 - 08:17:25 »
Hi,
ich will ja nicht das Dokument ändern, sondern nur den Quelltext zu dem Button, der das Dokument ablegt/archiviert/speichert.
Das Dokument soll jetzt nur eine Ebene tiefer abgelegt werden.
Was den Betreff anbelangt, dort wird aus Name, Datum usw. eine Betreffzeile gebastelt. Habe ich nicht gemacht, muss ich auch so hinnehmen.
Ich glaube ich parke das Thema mal bis Montag. Ich habe als absoluter Notesneuling vermutlich die falschen Vokabeln bei der Beschreibung des Problems benutzt.
Ich habe auf jeden Fall das Gefühl, wir reden aneinander vorbei.
Montag habe ich den Queltext und der spricht eine klarere Sprache als ich.
Auf jeden Fall schon mal Danke für die schnelle Reaktion

Vielen Dank und bis bald

Harald

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Zugriff auf Felder eines Formulars / Dokuments
« Antwort #3 am: 03.03.07 - 08:54:26 »
Zitat
SET Betreff = doc.GetItemValue("Subject")

... ist eh Nudelteig, da "Betreff" in deinem Fall als String deklariert wird. Hier ist aber Variant als Typ gefragt.

So wie ich dein Ausgangsposting interpretiere scheinen bei dir / euch die Basics über den Aufbau einer Notes Datenbank zu fehlen ( nicht böse gemeint ... )
Hänge hier am Besten einmal einen Screenshot deiner "Verzeichnisse" rein. Dann lässt sich der Status Quo besser beurteilen ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Zugriff auf Felder eines Formulars / Dokuments
« Antwort #4 am: 03.03.07 - 16:03:13 »
Ich habe in etwa sowas probiert:

DIM Betreff AS String
DIM doc      AS NotesDocument
..
..
SET Betreff = doc.GetItemValue("Subject")


Wenn das dein Quellcode ist, dann hätte es Fehlermeldungen bereits beim Speichern geben müssen.

Zitat
SET may only be used on class instance assignments

Bei Ausführen hättest du einen Type mismatch bekommen müssen.

Poste mal den gesamten Code und führe dir mal die Designer-Hilfe zu Gemüte und hier insbesondere die Klassen NotesUIWorkspace, NotesUIDocument und NotesDocument. Da findest du einiges an Infos wie man an Feldinhalte rankommt.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zugriff auf Felder eines Formulars / Dokuments
« Antwort #5 am: 03.03.07 - 16:13:57 »
Und bei der ganzen Sache offen bleiben für alternative Ideen und fremden Rat - insbesondere zu Ulrichs Posting #1.

Bernhard

PS: Das ganze wäre eigentlich eine lohnende Sache für ein Training on the job - Ihr solltet darüber mal nachdenken

Offline black_jack

  • Frischling
  • *
  • Beiträge: 4
Re: Zugriff auf Felder eines Formulars / Dokuments
« Antwort #6 am: 03.03.07 - 21:50:18 »
hallo zusammen,
ich bin immer mehr davon überzeugt, dass ich meine Frage zu früh gestellt habe. Das Codesegment habe ich aus der Erinnerung geschrieben.
Ich werde mich Montag wieder mit dem echten Code melden.

Vielen Dank und bis bald

Harald

Offline black_jack

  • Frischling
  • *
  • Beiträge: 4
Re: Zugriff auf Felder eines Formulars / Dokuments
« Antwort #7 am: 05.03.07 - 14:38:34 »
Hallo zusammen,
das Problem ist gelöst. Ich habe in einem anderen script gestöbert und bin fündig geworden.
die Zeile:

benutzer$ = doc.subject(0)

lieferte die gewünschte Zeile. Jetzt kann ich mit left(benutzer$, 1) den 1. Buchstaben abschneiden und in die Verzeichnisstruktur des Archivs einbauen.

Vielen Dank nochmal.
Wenn ich das öfter brauchen sollte, werde ich mir vorher ein Lotus-Script Seminar antuen.

Vielen Dank und bis bald

Harald

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz