Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: AndreasG am 18.06.03 - 10:25:43

Titel: Liste von Ordnern in DB per code erstellen
Beitrag von: AndreasG am 18.06.03 - 10:25:43
Hallo!

Ich würde gerne wissen, ob es
möglich ist eine Reihe von Ordnern
in einer Datenbank zu ertellen.
Der befehl CreateFolder öffnet ja nur das DialogFeld Ordner erstellen. Aber ich hab ne Menge Ordner zu erstellen,
gibts nicht die möglichkeit das per Code zu machen,
wenn ja, wie?
Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: Axel am 18.06.03 - 10:52:14
Hi,

sind das gemeinsame Ordner oder gemeinsam, bei der ersten Nutzung persönliche Ordner ?

Für den zweiten Fall könnte es so gehen:

@Command([OpenView]; "Name des Ordners");
@Command([FileCloseWindow]);

In Script gibt's

Call notesDatabase.EnableFolder( foldername$ )


Axel
Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: AndreasG am 18.06.03 - 11:08:20
Hat leider nicht geklappt.

Es sollen gemeinsame Ordner sein.
Ich schreib mal in pseudocode was ich brauche:

For i=1 to SourceDB.AnzahlDatensätze Do:

  erstelleOrdner(SourceDB.Name)

Next i

Ich möchte also für jeden Eintrag(datensatz) aus einer
anderen zu benennenden Datenbank(z.B: Adressdatenbank)
einen Ordner erstellen wobei der Ordner Name sich aus
dem Inhalt des Feldes Name der Quelldatenbank ergibt.

Wär echt toll wenn ich vielleicht sogar ein Codebeispiel kriegen könnte ;)


Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: Axel am 18.06.03 - 11:27:17
Hi,

du kannst Ordner in Script mit der Methode EnableFolder aus der Klasse NotesDatabase erstellen.

Call notesDatabase.EnableFolder( foldername$ )


Ich frage mich aber nach dem Sinn, für jedes Dokument einen Ordner anzulegen. Ich versuche in meinen Datenbanken mit so wenig wie möglich Ordnern auszukommen.
 
Axel
Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: AndreasG am 18.06.03 - 11:43:46
klappt, vielen Dank!
Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: AndreasG am 18.06.03 - 12:13:02
Ich will ja auch garnicht für jedes Dokumnt der Datenbank in der die Ordner erstellt werden  einen Ordner
erstellen sondern  für jedes Dokument einer Quelldatenbank.
Und jeder ordner enthält dann Dokumente(Notizen) zu
dem entsprechenden Dokument der QuellDB
Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: AndreasG am 20.06.03 - 08:39:58
Ich bins nochmal,

ich hab festgestellt, das bloßes Ordnererstellen nicht reicht,
ich mus gleichzeitig den Stil der Ansicht festlegen:
jeder Ordner soll z.b. eine Spalte Titel haben, in der
der Inhalt des Feldes Notiztitel steht.
per Enablefolder geht das nicht.
Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: wflamme am 20.06.03 - 10:48:32
Ev. NotesDocument.PutInFolder?

"Default Design for New View/Folder" muß vermutlich auch berücksichtigt werden, nehme an, von da wird das Design standardmäßig vererbt.
Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: AndreasG am 20.06.03 - 13:45:34
Vielen Dank, das hilft mir schon etwas weiter,
aber wie kann ich denn die Default ansicht für folder einstellen? ???
"Default Design for New View/Folder"  was soll denn dass sein,
eine eigene Klasse?
Titel: Re:Liste von Ordnern in DB per code erstellen
Beitrag von: eknori am 20.06.03 - 13:58:02
You could use the following (undocumented) view method:

view.CreateViewFromTemplate("Viewname")

You can also use this method to create a new folder using an existing folder as a template. First you'll need to create a folder which can serve as a template (let's call it "TemplateFolder"), then in LS you can create a new folder using this template:

dim session as new session
dim database as notesDatabase
dim tmpFolder as notesView

set database = session.CurrentDatabase
set tmpFolder = database.GetView("TemplateFolder") 'Get the template folder
tmpFolder.CreateViewFromTemplate("NewFolder") 'Create a new folder

This would create a new folder in your DBase called "NewFolder".

eknori