Autor Thema: Feld erzeugen in LS  (Gelesen 3871 mal)

Offline Nexus

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Lotus Notes Rulez !
Feld erzeugen in LS
« am: 30.11.04 - 08:59:30 »
Hallo,

sicherlich ist es für viele leicht, aber ich habe den Befehl zum Erzeugen von Feldern leider nur für die Formelsprache gefunden. Könntet ihr mir ihn mal nennen ?  ;)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Feld erzeugen in LS
« Antwort #1 am: 30.11.04 - 09:20:45 »
... in der Klasse NotesDocument

Call doc.replaceitemvalue("feldname","wert")

oder

Call doc.AppendItemValue("feldname","wert")

oder

New NotesItem( doc, "feldname", "wert", typ) oder oder oder ..

du siehst du solltest dich ein wenig mit den Klassen auseinander setzen, ganz so einfach wie mit FIELD feldname:= "wert" oder @SetField("feldname";"wert") ist es nicht.


Schaue dir doch einmal die o.g. Klasse an, da soltest du schon etwas finden.

Gruß Sascha

Offline Nexus

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Lotus Notes Rulez !
Re: Feld erzeugen in LS
« Antwort #2 am: 30.11.04 - 09:26:53 »
dachte replaceitem... wäre um in einem Feld einen wert zu überschreiben. Dass man damit auch Felder erzeugen kann, hab ich nicht gewusst ( übersehen in der Designer Hilfe )  :o

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Feld erzeugen in LS
« Antwort #3 am: 30.11.04 - 09:31:46 »
gern geschehen und viel Erfolg ...

Gruß Sascha

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Feld erzeugen in LS
« Antwort #4 am: 30.11.04 - 09:34:16 »
Du kannst auch ganz einfach
doc.NeuerFeldname = "Wert"
schreiben. Dann hast auch ein Feld im Dokument.
†090620141300

Glombi

  • Gast
Re: Feld erzeugen in LS
« Antwort #5 am: 30.11.04 - 09:35:26 »
Vor dem AppendItemValue kann ich nur dringend warnen !!!

Aus der Hilfe:
Note  In general, ReplaceItemValue is favored over AppendItemValue. If an item of the same name already exists in a document, AppendItemValue creates a second item of the same name, and the duplicate items are not accessible except through a work-around. If you are creating a new document, AppendItemValue is safe.

Mir ist schleierhaft, warum man zwei gleiche Items in einem Dokument haben will. Ausser RTF fällt mir da gar nichts ein.
Und es ist somit ein Quell unendlicher Freude für die Fehlersuche !

Andreas

Offline Nexus

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Lotus Notes Rulez !
Re: Feld erzeugen in LS
« Antwort #6 am: 30.11.04 - 09:42:16 »
Du kannst auch ganz einfach
doc.NeuerFeldname = "Wert"
schreiben. Dann hast auch ein Feld im Dokument.

Bei mir funktioniert der Befehl nicht :(

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Feld erzeugen in LS
« Antwort #7 am: 30.11.04 - 09:47:12 »
Sollte aber.
Ist das doc befüllt? Hast du es eventuell nacher nicht abgespeichert?
†090620141300

Offline Nexus

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Lotus Notes Rulez !
Re: Feld erzeugen in LS
« Antwort #8 am: 30.11.04 - 09:54:35 »
ja, das Doc ist gefüllt.
Ja, ich habe es abgespeichert.

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Feld erzeugen in LS
« Antwort #9 am: 30.11.04 - 09:58:34 »
Dann poste mal den Code!
†090620141300

Offline Nexus

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Lotus Notes Rulez !
Re: Feld erzeugen in LS
« Antwort #10 am: 30.11.04 - 10:09:16 »

Dim docDB1 As NotesDocument
Dim db1 As NotesDatabase
Dim session As New NotesSession
Dim searchview1 As NotesView


Set db1 = session.GetDatabase( "", "c:\Dokumente und Einstellungen\Markus\Eigene Dateien\Notes\vergleich\VergleichDB1.nsf" )
Set searchview1=db1.GetView("Groups")
Set docdb1= searchview1.GetNextDocument(docdb1)

' call docdb1.errdescription = "Test Test"


In das docdb1 Dokument möchte ich ein Feld erzeugen.

Aber mit deinem Vorschlag, bleibt die Zeile rot.
Kann sein, dass ich errdescription als Notesitem definieren muss ?

Driri

  • Gast
Re: Feld erzeugen in LS
« Antwort #11 am: 30.11.04 - 10:13:52 »
Lies doch mal genau, was rar geschrieben hat. Wo siehst Du denn da ein "Call".

Und anzumerken ist, Du mußt das Dokument dann auf jeden Fall mit Save speichern.

Offline Nexus

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Lotus Notes Rulez !
Re: Feld erzeugen in LS
« Antwort #12 am: 30.11.04 - 10:18:57 »
verdammt stimmt. Ahh... hab in der letzten Zeit viel Call verwenden müssen. Ist ja keine Klasse. Ok. Fehler gefunden.


thx

Glombi

  • Gast
Re: Feld erzeugen in LS
« Antwort #13 am: 30.11.04 - 10:26:01 »
Die Lösung von rar nennt sich übrigens "Extended Class" Syntax"

Aus der Hilfe:
"Extended class" syntax
You can also change an item's value using the NotesDocument "extended class" syntax, which eliminates the need for ReplaceItemValue. For example, you have the following script:
Dim item As NotesItem
Set item = doc.ReplaceItemValue _
( "Subject", "Update on stock options" )
Call doc.Save( False, True )
You can achieve the same result by doing the following:
doc.Subject = "Update on stock options"
Call doc.Save( False, True )
This syntax lets you treat NotesDocument as an "extended class" by using an item name as if it were a property of NotesDocument. In the example above, "Subject" is used as if it is a property of the NotesDocument class. The result is the same as if you used ReplaceItemValue, except that ReplaceItemValue returns a NotesItem object representing the item you just created, and the IsSummary property defaults to True.


Es sei darauf hingewiesen, dass die Performance schlecht im Vergleich zu ReplaceItemValue ist (dafür hat der Programmierer weniger zu tippen).

Andreas

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Feld erzeugen in LS
« Antwort #14 am: 30.11.04 - 10:46:22 »
Deswegen sollte man AppendItemValue immer nur in Verbindung mit hasitem zusammen benutzen. wenn man in eine bereits vorhandenes Item reinschreiben will. Dafür ist das Dingens nämlich da.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Glombi

  • Gast
Re: Feld erzeugen in LS
« Antwort #15 am: 30.11.04 - 11:00:07 »
Deswegen sollte man AppendItemValue immer nur in Verbindung mit hasitem zusammen benutzen. wenn man in eine bereits vorhandenes Item reinschreiben will. Dafür ist das Dingens nämlich da.

Thomas
Hi Thomas,
kannst Du das genauer erläutern? Warum sollte man kein ReplaceItemValue nehmen sondern erst eine Abfrage auf HasItem?

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz