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
Comment Utility
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

Comment Utility
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

For Desktop Techs: How to retain a user's Notes configuration data when swapping out the end user's computer. (Assuming that you are not upgrading to a completely different version of Notes client) All you need to do is: 1) install Notes o…
IBM Notes offer Encryption feature using which the user can secure its NSF emails or entire database easily. In this section we will discuss about the process to Encrypt Incoming and Outgoing Mails in depth.
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

772 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now