Autor Thema: Database Fields Reference auslesen möglich?  (Gelesen 1921 mal)

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Database Fields Reference auslesen möglich?
« am: 21.11.08 - 18:31:06 »
Hallo zusammen,

im Designer findet man doch auf dem Reference Tab eine Liste mit allen Feldnamen der aktuell geöffneten Datenbank.

Gibt es eine Möglichkeit, per LS (meinetwegen auch mittels API) diese Lieste auszulesen?


Gruß Johnson
Gruß
Johnson

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Database Fields Reference auslesen möglich?
« Antwort #1 am: 21.11.08 - 18:49:37 »
Du kannst die "forms" (NotesDatabase) durchlaufen und darin alle Felder abfragen.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Database Fields Reference auslesen möglich?
« Antwort #2 am: 21.11.08 - 18:59:37 »
Ja. Es gibt jedoch viele Felder, die nicht in der Form enthalten sind. Diese stehen ebenfalls in der Liste im Designer drin. Die sollte ich auch auslesen.

Hintergrund: Administratoren benötigen in einer Datenbank einen "Feldmanipulator". Sie wollen ebenfalls die möglichen Felder der ausgewählten Dokumente über eine Auswahlliste angeben.

Ich habe bereits versucht die Dokumente zu durchlaufen und alle Feldnamen auszulesen und in eine Liste zu packen. Nachteil an der Geschichte ist, dass die Performance darunter leidet, wennz.B. 500 Dokumente ausgewählt wurden.
Gruß
Johnson

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Database Fields Reference auslesen möglich?
« Antwort #3 am: 21.11.08 - 19:37:58 »
Nimm doch von jeder Maske nur ein Dokument, welches Du durchsuchst. Damit schaffst Du bestimmt 98% aller Felder.
Ein anderer Weg wäre die Felder erst auszulesen, wenn der Admin die Felder ändern möchte.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Re: Database Fields Reference auslesen möglich?
« Antwort #4 am: 21.11.08 - 20:03:46 »
Es gibt eine schöne Smarticonformel, die vom ausgewählten Dokument die enthaltenen Felder auflistet und direkt ändern läßt. Außerdem lassen sich neue Felder anlegen und einem Feldtyp zuordnen. Such mal nach FieldEdit - Du wirst fündig.

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Database Fields Reference auslesen möglich?
« Antwort #5 am: 21.11.08 - 20:06:26 »
Da wirst Du nur mit API-Zugriffen weiterkommen. Stichworte sind dabei:
NSFDbItemDefTable
ITEM_DEFINITION
ITEM_DEFINITION_TABLE

Hintergrund: Administratoren benötigen in einer Datenbank einen "Feldmanipulator". Sie wollen ebenfalls die möglichen Felder der ausgewählten Dokumente über eine Auswahlliste angeben.

Was genau wollen Deine Admins da machen?? Event. gibt es da andere Wege, um ans Ziel zu kommen?!


Thomas

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Database Fields Reference auslesen möglich?
« Antwort #6 am: 21.11.08 - 22:27:01 »
Ich dachte mir schon, dass es nur per API geht. Das stellt auch kein Problem dar, da wir die API auch an anderen Stellen bereits einsetzen.

Ab und zu kommt es vor, dass Fehler auftreten, wenn ein Feld falsch befüllt ist. Das Problem ist immer, dass wir einen eine Entwickler damit binden, einen Agenten zu schreiben, der ein Feld wieder berichtigt.  Darum haben wir einen Feldmanipulator programmiert, der eigentlich nur eine Dialogbox anzeigt, in der man den Feldnamen und einen neuen Feldwert eintippt. Oft kam es zu Tippfehlern. Um diesem Feldmanipulator weiter zu optimieren, wollte ich jetzt eine Auswahlliste mit Feldnamen, die in der Datenbank enthalten sind, zur Verfügung stellen. Eben auch solche, die nicht in den Masken enthalten, sondern nur im Hintergrund in den Dokumenten sind. In der bisherigen Lösung gehe ich alle ausgewählten Dokumente durch, um die Feldnamen auszulesen. Dann kann es wieder sein, dass in den Dokumenten ein Feld fehlt und so nicht in der Auswahlliste erscheit.... usw. Ich habe an die Liste im Designer gedacht.

Ich werde mir also mal die FSFDbItemDefTable ansehen. Aber heute nicht mehr und dieses Wochenende auch nicht. Irgendwann ist mal Schluss.

Besten Dank für die Antworten und ein schönes WE
Johnson
Gruß
Johnson

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Re: Database Fields Reference auslesen möglich?
« Antwort #7 am: 21.11.08 - 22:40:05 »
Spar Dir den Aufwand - genau dafür nutze ich regelmäßig den FieldEdit.

Wers grafisch braucht (=kein Admin) nimmt Notefix http://www.openntf.org/Projects/pmt.nsf/ProjectHome?ReadForm&Query=NoteFIX

Es gibt das was Du suchst, fertig. Also warum das Rad neu erfinden ?

Ich nutze FieldEdit um Testfälle zielgerecht anzupassen, oder falls z.B. der AdminP mal wieder ein Dokument nicht angepasst hat, um das Leserfeld zu korrigieren.

Schönen Abend noch,
Axel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz