Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: dia am 10.03.04 - 13:06:48
-
Hallo ich hab das Problem, dass ich mir aus einer Maske per LotusScript alle Felder ausgeben lassen will. Mit Forall field In frmMaske.Fields bekomme ich alle Felder die sich direkt auf der Maske befinden. Aber nicht die der eingebetteten SubForms. Nun hab ich gesehen, dass es das Feld $Fields gibt in dem alle Felder stehen, die ich brauche. Sprich alle Felder der Maske samt der Felder der eingebetteten Teilmasken. Aber wie kann ich nun dieses Feld auslesen. GetItemValue geht ja nicht, weils ja kein Dokument ist sondern ne Maske. :(
-
Also in einem andern Forum bekam ich dies als Lösung, was bestimmt auch funktionieren würde, wenn ich nicht die Version 5.0.11 hätte. Denn die Property notesurl gibt es erst ab 5.0.2b. Was nun? Bitte keine Vorschläge der Art 5.0.2b oder höher installieren. Ich habe hier auf Arbeit keinen Einfluss auf darauf, womit wir hier arbeiten. Alles strengstens vorgegeben.
Dim ns As New notessession
Dim db As notesdatabase
Dim form As notesform
Dim doc As notesdocument
Dim unid As String
Set db = ns.CurrentDatabase
Set form = db.getform("Test")
unid = Strrightback(Strleft(form.notesurl,"?"), "/")
Set doc = db.GetDocumentByUNID(unid)
value = doc.GetItemValue("$Fields")
-
Also in einem andern Forum bekam ich dies als Lösung, was bestimmt auch funktionieren würde, wenn ich nicht die Version 5.0.11 hätte. Denn die Property notesurl gibt es erst ab 5.0.2b. Was nun? Bitte keine Vorschläge der Art 5.0.2b oder höher installieren. Ich habe hier auf Arbeit keinen Einfluss auf darauf, womit wir hier arbeiten. Alles strengstens vorgegeben.
Ähhmm, hast du das mal genau gelesen ? ???
Die Version 5.0.11 ist erheblich neuer als 5.0.2b. Also sollte die Lösung funktionieren.
Axel
-
Ok keine Ahnung ob die Version jetzt neuer ist oder nicht. Auf jeden Fall funktionierts nicht. Macht mal Vorschläge woran das liegen kann bzw. Vorschläge wie ich es anders auslesen kann.
-
Also, mit einem Ton im Posting nach der Art "Her mit den Vorschlägen" geht es hier in diesem Forum sehr schlecht.
Und mit einer Angabe "Es funktioniert nicht" gibt es auch keine Antworten. Du musst dann schon sagen, was nicht funktioniert, Fehlermeldung oder was immer ....
-
Ja also ich hab jetzt rausgefunden, dass die Version 5.0.11 tatsächlich neuer ist. Also wirds daran nicht liegen. Aber funktioniert halt immer noch nicht.
Ich kann Messagebox Maskenname.notesurl nichtmal speichern. dann kommt der Fehler is not a member.
-
Hi,
hier ein Auszug aus der Notes-Hilfe:
NotesURL property
Read-only. The Notes URL of a form.
Hinweis This property is new with Release 5.0.2b.
Hinweis This property is supported in COM only.
Defined in
NotesForm
Data type
String
Syntax
To get: url$ = notesForm.NotesURL
Deswegen funktioniert das nicht.
Axel
-
Ich nehme an du deutes auf das is supported in com only hin. Aber das sagt mir gar nix. Erklär mir das mal bitte wie nem Fünftklässler. ;D
-
Also: wie einem Fünftklässler:
"Wenn Du einmal gross bist, kannst Du das begreifen"
-
Schön und nun bitte eine zufriedenstellende Erklärung. Liegt es nun an diesem COM only? Was ist COM? Wofür steht COM? Kann ich das benutzen oder nicht?
-
COM steht für Component Object Model und ist eine MS-Definition für den programmatischen Zugriff programmübergreifend, von Notes aus gesehen heisst das, wenn COM-Only steht, ist diese Eigenschaft nur verfügbar für Fremdprogramme, die über die COM-Schnittstelle auf Notes zugreifen. Beispielsweise könnte man diese Eigenschaft mit VBA von Word aus benutzen, nicht jedoch mit LotusScript. COM ist Nachfolger des wohl bekannten OLE.
-
Ok das hab ich verstanden. Somit kann ich mein Problem damit also nicht lösen, da ich ja mit LotusScript arbeite. Kann also das $Fields immer noch nicht auslesen. :'(
-
damit solltest du rankommen:
http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/f81067f94a1143f3852567d800660625?OpenDocument&Highlight=0,design,class (http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/f81067f94a1143f3852567d800660625?OpenDocument&Highlight=0,design,class)
-
Hab mir die Sandbox mal runtergeladen und reingeschaut. Ich sehe da aber nur wie ich mir die ganzen Forms anzeigen lassen kann, die in einer DB sind. Aber nicht die ich die Felder ($Fields) der Form auslesen kann. Oder hab ich da jetzt was falsch gemacht?
-
Hi,
schau dir mal die Programmierung dort an. Ich denke mal du musst dir die ID der Maske auslesen. Wenn du die hast, dann kannst du auch das Feld auslesen. Wie du an die ID kommst, sollte in der DB enthalten sein.
Axel