Illegal use of PROPERTY

Posted on 2009-04-03
Last Modified: 2013-12-18
I am trying to select two documents, store the values of the first document, then set the values of the second document to equal the first, but when I run the agent I get the "Illegal use of PROPERTY" error.
Sub Initialize
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim docs As NotesDocumentCollection
	Dim doc As notesdocument
	Dim Q_1 As String
	Dim output_1 As String
	Dim cirats_1 As String
	Dim comments_1 As String
	Dim Q_2 As String
	Dim output_2 As String
	Dim cirats_2 As String
	Dim comments_2 As String
	Dim Q_3 As String
	Dim output_3 As String
	Dim cirats_3 As String
	Dim comments_3 As String
	Dim Q_4 As String
	Dim output_4 As String
	Dim cirats_4 As String
	Dim comments_4 As String
	Set db = s.CurrentDatabase
	Set docs = db.UnprocessedDocuments
	Set doc = docs.GetFirstDocument( )
	Do While Not (doc Is Nothing)		
'Part One
		If doc.Q_1(0) <> "" Then
			Q_1 = doc.Q_1(0)
			output_1 = doc.output_1(0)
			cirats_1 = doc.cirats_1(0)
			comments_1 = doc.comments_1(0)
		End If
		If doc.Q_2(0) <> "" Then
			Q_2 = doc.Q_2(0)
			output_2 = doc.output_2(0)
			cirats_2 = doc.cirats_2(0)
			comments_2 = doc.comments_2(0)
		End If
		If doc.Q_3(0) <> "" Then
			Q_3 = doc.Q_3(0)
			output_3 = doc.output_3(0)
			cirats_3 = doc.cirats_3(0)
			comments_3 = doc.comments_3(0)
		End If
		If doc.Q_4(0) <> "" Then
			Q_4 = doc.Q_4(0)
			output_4 = doc.output_4(0)
			cirats_4 = doc.cirats_4(0)
			comments_4 = doc.comments_4(0)
		End If
'Part Two
		Print "starting part two"
		If doc.Q_1(0) = "" Then
			doc.Q_1(0)= Q_1
			doc.output_1(0) = output_1
			doc.cirats_1(0) = cirats_1
			doc.comments_1(0) = comments_1
		End If
		Print "Q_2"
		If doc.Q_2(0) = "" Then
			doc.Q_2(0) = Q_2
			doc.output_2(0) = output_2
			doc.cirats_2(0) = cirats_2
			doc.comments_2(0) = comments_2
		End If
		Print "Q_3"		
		If doc.Q_3(0) = "" Then
			doc.Q_3(0) = Q_3
			doc.output_3(0) = output_3
			doc.cirats_3(0) = cirats_3
			doc.comments_3(0) = comments_3
		End If
		Print "Q_4"
		If doc.Q_4(0) = "" Then
			doc.Q_4(0) = Q_4
			doc.output_4(0) = output_4
			doc.cirats_4(0) = cirats_4
			doc.comments_4(0) = comments_4
		End If
'Part Three
		Call doc.Save(True,False)
		Set doc = docs.GetNextDocument(doc)
End Sub

Open in new window

Question by:scanjema
  • 2
LVL 22

Accepted Solution

mbonaci earned 125 total points
ID: 24064082
When you are setting the field value don't use (0), use it only when reading the field's value (cuz' fields are line arrays, so 0 is the value of single value field & first element of multivalue field)

e.g. instead of
    doc.Q_1(0)= Q_1
    doc.Q_1 = Q_1
LVL 22

Expert Comment

ID: 24064111
You cannot set it like that, if you ever need to set multiple elements of multivalue field, use NotesItem's AppendToTextList method.
The other way would be to create an array, fill it and then assign it to the field.

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For beginners of Lotus Notes user this is important to know about the types of files and their location supported by IBM Notes. Mostly users are unaware about how many file types are created and what their usages are. This Article is fully dedicated…
Lack of Storage capacity is a common problem that exists in every field of life. Here we are taking the case of Lotus Notes Emails, as we all know that we are totally depend on e-communication i.e. Emails. This article is fully dedicated to resolvin…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below.…

680 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question