[ver]
	4
[sty]
	
[files]
[charset]
	82
	ANSI (Windows, IBM CP 1252)
[revisions]
	0
[sequence]
	40
	0
	0
	0
	20
	3
	Numbered list
	0
	Bullet
	0
	Indnt bullet
	0
	Indnt caution
	0
	Indnt tip
	0
	Indnt note
	0
	Caution
	0
	Tip
	0
	Note
	0
	Browse
	0
	Keyword
	0
	Context
	0
	Title
	0
	Macros
	0
	Alink
	0
	Butnbar
	0
	Window
	0
	Win95 macros
	0
	Win31 macros
	0
	Build tag
[prn]
	Apple LaserWriter II NTX
[port]
	LPT3:
[lang]
	1
[fldnames]
	Field1
	Field2
	Field3
	Field4
	Field5
	Field6
	Field7
	Field8
[desc]
	
	
	
	
	
	801526649
	4
	801522979
	8
	243
	0
	0
	0
	0
	
	
	
	
	
	
	1
[fopts]
	0
	1
	0
	0
	
	
[lnopts]
	2
	Body Text
	1
[docopts]
	5
	2
[GramStyle]
	
[ParaNum]
	1
[tag]
	Body Text
	2
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Ahead
	3
	[fnt]
		Arial
		220
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		240
		4
		79
		40
		3
		100
	[brk]
		112
	[line]
		16
		2160
		3
		0
		1
		1
		1
		65
		10
		1
	[spec]
		0
		1
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		wr
	Body Text
	0
	0
[tag]
	Bhead title
	4
	[fnt]
		Arial
		200
		0
		16385
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		220
		4
		79
		40
		3
		100
	[brk]
		80
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Chead title
	5
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		79
		40
		3
		100
	[brk]
		112
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		wr
	Body Text
	0
	0
[tag]
	Bhead
	6
	[fnt]
		Arial
		200
		0
		16385
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		220
		4
		180
		0
		3
		100
	[brk]
		68
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Chead
	7
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		100
		0
		3
		100
	[brk]
		68
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		3
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Numbered list
	8
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		300
		300
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		5
		<*:>.
		0
		3
		1
		0
		18
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Numbered list
	0
	0
[tag]
	1st lev para
	9
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		300
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		68
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	1st lev para
	0
	0
[tag]
	Bullet
	11
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		300
		300
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		<*1> 
		0
		3
		1
		0
		16
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Bullet
	2
	1
	160
	1
	400
	0
[tag]
	Indnt bullet
	12
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		600
		600
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		100
	[line]
		16
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		<*1> 
		0
		3
		1
		0
		16
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Indnt bullet
	0
	0
[tag]
	2nd lev para
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		600
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	2nd lev para
	0
	0
[tag]
	See also prnt
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	See also prnt
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Book art
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Book art
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Callout text
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Callout text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Figure title
	0
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		40
		60
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Figure title
	0
	0
[tag]
	Chapter title
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		3
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Chapter title
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	1st pg foot
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	1st pg foot
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Right pg foot
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Right pg foot
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Left pg foot
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Left pg foot
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Table title
	0
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		60
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		7
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Table title
	0
	0
[tag]
	Table col hd
	0
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		100
		0
		3
		100
	[brk]
		4
	[line]
		10
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		6
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		256
		1
		0
		
		
		
	Table col hd
	0
	0
[tag]
	Table Text
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		200
		4
		79
		0
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		256
		1
		0
		
		
		
	Table Text
	0
	0
[tag]
	See also hlp
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		180
		0
		3
		100
	[brk]
		48
	[line]
		9
		0
		3
		0
		1
		1
		1
		70
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	See also hlp
	0
	120
[tag]
	See also btn
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		240
	[spc]
		24
		200
		4
		0
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	See also btn
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Crossref
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		513
		3
		0
		300
		600
	[spc]
		24
		200
		4
		19
		0
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Crossref
	0
	0
[tag]
	Indnt caution
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		300
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Caution 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Indnt caution
	0
	0
[tag]
	Indnt tip
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		300
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Tip 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Indnt tip
	0
	0
[tag]
	Indnt note
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		300
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Note 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Indnt note
	0
	0
[tag]
	Caution
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Caution 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Caution
	0
	0
[tag]
	Tip
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Tip 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Tip
	0
	0
[tag]
	Note
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Note 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Note
	0
	0
[tag]
	Mono
	0
	[fnt]
		Courier New
		180
		0
		32768
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		32
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Mono
	15
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	1
	2880
	1
	3360
	1
	3840
	1
	4320
	1
	4800
	1
	5280
	1
	5760
	1
	6240
	1
	6720
	1
	7200
	0
[tag]
	Indnt mono
	0
	[fnt]
		Courier New
		180
		0
		32768
	[algn]
		1
		3
		300
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		32
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Indnt mono
	15
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	1
	2880
	1
	3360
	1
	3840
	1
	4320
	1
	4800
	1
	5280
	1
	5760
	1
	6240
	1
	6720
	1
	7200
	0
[tag]
	Dhead
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Dhead
	0
	0
[tag]
	Parameter
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		0
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	1st lev para
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Formula
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Formula
	0
	0
[tag]
	Browse
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		+
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Browse
	0
	0
[tag]
	Keyword
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		K
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Keyword
	0
	0
[tag]
	Context
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		#
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Context
	0
	0
[tag]
	Title
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		$
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Title
	0
	0
[tag]
	Macros
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		!
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Macros
	0
	0
[tag]
	Footnote
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		244
		0
	[spc]
		40
		2400
		3
		0
		0
		1
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		256
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Footnote
	0
	0
[tag]
	Alink
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		A
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Alink
	0
	0
[tag]
	Butnbar
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		0
		0
		3
		100
	[brk]
		48
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		\li-140 
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		wr
	Butnbar
	0
	0
[tag]
	Window
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		>
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Window
	0
	0
[tag]
	Win95 macros
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		W
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Win95 macros
	0
	0
[tag]
	Win31 macros
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		X
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Win31 macros
	0
	0
[tag]
	Build tag
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		*
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Build tag
	0
	0
[tag]
	_COND_IF
	0
	[fnt]
		Arial
		240
		255
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		100
		0
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		IF
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	_COND_ELSE
	0
	[fnt]
		Arial
		240
		255
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		100
		0
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		ELSE
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	_COND_ENDIF
	0
	[fnt]
		Arial
		240
		255
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		100
		0
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		ENDIF
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	1st lev para0
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		420
		0
		0
	[spc]
		33
		200
		4
		0
		0
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	1st lev para0
	0
	0
[frm]
	4
	1573060
	720
	960
	9206
	1575
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	136
	0
	12288
	52738 16385
	[frmlay]
		4515
		8486
		1
		0
		0
		1
		960
		0
		0
		2
		0
		200
		64
		224
		1
		864
		4896
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
NORMAL

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The script exited successfully

>
			 1 1 0 0 0 0 0 1 0 0 0 0
COMPILE_ERROR

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The script did not compile

>
		[e]
	[tble]
[frm]
	3
	1573060
	960
	8165
	9446
	8780
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	135
	1
	12288
	52738 16385
	[frmlay]
		4335
		8486
		1
		0
		0
		1
		8165
		0
		0
		2
		0
		200
		64
		224
		1
		684
		4716
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The script is running on a server

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The script is running on a workstation

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	4776
	9446
	5663
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	134
	2
	0
	65535 255
	[frmlay]
		7989
		8486
		1
		0
		0
		1
		4776
		0
		0
		2
		0
		0
		0
		0
		1
		1164
		11436
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 758 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Close

GetEnvironmentValue

GetEnvironmentString

>
			 0 2 0 0 0 0 0 1 0 0 0 0
New

SetEnvironmentVar

UpdateProcessedDoc

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	3231
	9446
	4397
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	133
	3
	12288
	52738 16385
	[frmlay]
		5865
		8486
		1
		0
		0
		1
		3231
		0
		0
		2
		0
		166
		13
		6
		1
		1164
		11436
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 1037 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
 

>
			 0 1 0 0 0 0 0 1 0 0 0 0
AddressBooks

CurrentAgent

CurrentDatabase

EffectiveUserName

>
			 0 2 0 0 0 0 0 1 0 0 0 0
IsOnServer

LastRun

LastExitStatus

NotesVersion

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Platform

SavedData

UserName

>
		[e]
	[tble]
[frm]
	5
	1573060
	720
	2397
	9206
	3012
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	132
	4
	16896
	25711 8313
	[frmlay]
		6851
		8486
		1
		0
		0
		1
		2397
		0
		0
		2
		0
		1
		1
		0
		1
		1404
		5436
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The ruler is in displayed.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The ruler is not displayed.

>
		[e]
	[tble]
[frm]
	4
	1573060
	960
	1539
	9446
	2554
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	131
	5
	16896
	25711 8313
	[frmlay]
		7031
		8486
		1
		0
		0
		1
		1539
		0
		0
		2
		0
		1
		1
		0
		1
		1584
		5616
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document is new, and hasn't been saved.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document is not new, and has been saved.

>
		[e]
	[tble]
[frm]
	3
	1573060
	720
	8795
	9206
	9410
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	130
	6
	16896
	25711 8313
	[frmlay]
		6851
		8486
		1
		0
		0
		1
		8795
		0
		0
		2
		0
		1
		1
		0
		1
		1404
		5436
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The horizontal scroll bar is visible.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The horizontal scroll bar is hidden.

>
		[e]
	[tble]
[frm]
	3
	1573060
	720
	5167
	9206
	5782
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	129
	7
	16896
	25711 8313
	[frmlay]
		6671
		8486
		1
		0
		0
		1
		5167
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
Hidden characters are visible.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Hidden characters are hidden.

>
		[e]
	[tble]
[frm]
	3
	1573060
	720
	1539
	9206
	2154
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	128
	8
	16896
	25711 8313
	[frmlay]
		6491
		8486
		1
		0
		0
		1
		1539
		0
		0
		2
		0
		1
		1
		0
		1
		1044
		5076
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
Field help is visible.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Field help is hidden.

>
		[e]
	[tble]
[frm]
	4
	1573060
	960
	9316
	9446
	9931
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	127
	9
	16896
	25711 8313
	[frmlay]
		6671
		8486
		1
		0
		0
		1
		9316
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The preview pane is in displayed.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The preview pane is not displayed.

>
		[e]
	[tble]
[frm]
	4
	1573060
	960
	5488
	9446
	6103
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	126
	10
	16896
	25711 8313
	[frmlay]
		6491
		8486
		1
		0
		0
		1
		5488
		0
		0
		2
		0
		1
		1
		0
		1
		1044
		5076
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The preview pane is in displayed.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The preview pane is not displayed.

>
		[e]
	[tble]
[frm]
	2
	1573060
	960
	8605
	9446
	9220
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	125
	11
	16896
	25711 8313
	[frmlay]
		6311
		8486
		1
		0
		0
		1
		8605
		0
		0
		2
		0
		1
		1
		0
		1
		864
		4896
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document is in edit mode.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document is in read mode.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3943
	9206
	6504
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	124
	12
	16896
	25711 8313
	[frmlay]
		4524
		8486
		1
		0
		0
		1
		3943
		0
		0
		2
		0
		124
		0
		33648
		1
		684
		6500
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 2432 86 2 0 3 0
		[e]
		[w]
			 0 1713 86 2 0
			 1 2175 86 2 0
			 2 2406 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Categorize

Clear

Close

CollapseAllSections

Copy

Cut

DeleteDocument

DeselectAll

ExpandAllSections

>
			 0 2 0 0 0 0 0 1 0 0 0 0
FieldAppendText

FieldClear

FieldContains

FieldGetText

FieldSetText

Forward

GotoBottom

GotoField

GotoNextField

>
			 0 3 0 0 0 0 0 1 0 0 0 0
GotoPrevField

GotoTop

InsertText

Paste

<**>Print

Refresh

Save

SelectAll

Send

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	2398
	9206
	3564
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	123
	13
	16896
	25711 8313
	[frmlay]
		4344
		8486
		1
		0
		0
		1
		2398
		0
		0
		2
		0
		124
		0
		33648
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 1037 86 2 0 2 0
		[e]
		[w]
			 0 1713 86 2 0
			 1 2175 86 2 0
			 2 2406 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
CurrentField

Document

EditMode

FieldHelp

>
			 0 2 0 0 0 0 0 1 0 0 0 0
HiddenChars

HorzScrollBar

IsNewDoc

PreviewDocLink

>
			 0 3 0 0 0 0 0 1 0 0 0 0
PreviewParentDoc

Ruler

WindowTitle

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	2398
	9206
	3006
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	122
	14
	0
	0 43840
	[frmlay]
		4344
		8486
		1
		0
		0
		1
		2398
		0
		0
		2
		0
		124
		0
		33648
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 479 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2274 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
CurrentDocument


>
			 0 2 8 0 0 0 0 1 0 0 0 0
<+@>

<+@>

>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	4
	1573060
	720
	8175
	9206
	8869
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	121
	15
	12288
	52738 16385
	[frmlay]
		5595
		8486
		1
		0
		0
		1
		8175
		0
		0
		2
		0
		200
		64
		224
		1
		1944
		5976
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 279 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Body Text@The view is a folder

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The view is not a folder

>
		[e]
	[tble]
[frm]
	4
	1573060
	720
	1160
	9206
	1854
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	120
	16
	12288
	52738 16385
	[frmlay]
		5415
		8486
		1
		0
		0
		1
		1160
		0
		0
		2
		0
		200
		64
		224
		1
		1764
		5796
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 279 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Body Text@The view is the default view

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The view is not the default view

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	3923
	9446
	5368
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	119
	17
	0
	65535 255
	[frmlay]
		7809
		8486
		1
		0
		0
		1
		3923
		0
		0
		2
		0
		0
		0
		0
		1
		984
		11256
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 1316 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Clear

FTSearch

GetChild

GetDocumentByKey

GetFirstDocument

>
			 0 2 0 0 0 0 0 1 0 0 0 0
GetNextSibling

GetLastDocument

GetNextDocument

GetNthDocument

GetParentDocument

>
			 0 3 0 0 0 0 0 1 0 0 0 0
GetPrevDocument

GetPrevSibling

Refresh

Remove


>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	2657
	9446
	3544
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	118
	18
	12288
	52738 16385
	[frmlay]
		5685
		8486
		1
		0
		0
		1
		2657
		0
		0
		2
		0
		166
		13
		6
		1
		984
		11256
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 758 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Columns

Created

IsDefaultView

>
			 0 2 0 0 0 0 0 1 0 0 0 0
IsFolder

<+@>LastModified

Name

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Parent

UniversalID

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	2398
	9446
	3285
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	117
	19
	0
	65535 255
	[frmlay]
		5865
		8486
		1
		0
		0
		1
		2398
		0
		0
		2
		0
		0
		0
		0
		1
		1164
		11436
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 758 86 2 0 3 0
		[e]
		[w]
			 0 1697 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Formula

IsCategory

IsHidden

>
			 0 2 0 0 0 0 0 1 0 0 0 0
IsResponse

IsSorted

ItemName

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Position

Title


>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	7965
	9446
	8580
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	116
	20
	13076
	2573 2313
	[frmlay]
		4747
		8486
		1
		0
		0
		1
		7965
		0
		0
		2
		0
		1
		1
		0
		1
		504
		4536
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The column is sorted.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The column is not sorted.

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	1758
	9206
	2373
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	115
	21
	13076
	2573 2313
	[frmlay]
		4927
		8486
		1
		0
		0
		1
		1758
		0
		0
		2
		0
		1
		1
		0
		1
		684
		4716
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The column is categorized.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The column is not categorized.

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	6036
	9206
	6651
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	114
	22
	13076
	2573 2313
	[frmlay]
		5107
		8486
		1
		0
		0
		1
		6036
		0
		0
		2
		0
		1
		1
		0
		1
		864
		4896
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The column is hidden.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The column is not hidden.

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	9664
	9206
	10679
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	113
	23
	13076
	2573 2313
	[frmlay]
		5287
		8486
		1
		0
		0
		1
		9664
		0
		0
		2
		0
		1
		1
		0
		1
		1044
		5076
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The column contains only response documents.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The column contains any kind of document.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	1819
	3610
	2720
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	112
	24
	0
	5356 22103
	[frmlay]
		1916
		2890
		1
		0
		0
		1
		1819
		0
		0
		2
		0
		1
		1
		0
		1
		684
		3448
		0
	[tbl]
		 3 1 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 1 0
			 1 200 86 2 0 1 0
			 2 200 86 2 0 1 0
		[e]
		[w]
			 0 2761 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
Connection

>
			 1 0 0 0 0 0 0 1 0 0 0 0
QueryExecuteTimeOut

>
			 2 0 0 0 0 0 0 1 0 0 0 0
SQL

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3099
	3201
	4000
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	111
	25
	0
	7767 46952
	[frmlay]
		5878
		2481
		1
		0
		0
		1
		3099
		0
		0
		2
		0
		0
		0
		0
		1
		1104
		9302
		0
	[tbl]
		 3 1 200 86 4132 86 1 43 43
		[h]
			 0 200 86 2 0 1 0
			 1 200 86 2 0 1 0
			 2 200 86 2 0 1 0
		[e]
		[w]
			 0 2352 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
GetError

>
			 1 0 0 0 0 0 0 1 0 0 0 0
GetErrorMessage

>
			 2 0 0 0 0 0 0 1 0 0 0 0
GetExtendedErrorMessage

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	6210
	5391
	6825
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	110
	26
	6912
	0 1280
	[frmlay]
		10199
		4671
		1
		0
		0
		1
		6210
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 1 3016 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Cursor position is at the last row

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Error

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	7826
	5179
	9013
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	109
	27
	255
	65280 255
	[frmlay]
		4834
		4459
		1
		0
		0
		1
		7826
		0
		0
		2
		0
		1
		1
		0
		1
		1044
		9242
		0
	[tbl]
		 4 2 200 86 4132 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
		[e]
		[w]
			 0 2096 86 2 0
			 1 2148 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
DB_NORESULT

>
			 0 1 0 0 0 0 0 1 0 0 0 0
no result

>
			 1 0 0 0 0 0 0 1 0 0 0 0
DB_ROWSUNKNOWN

>
			 1 1 0 0 0 0 0 1 0 0 0 0
rows unknown

>
			 2 0 0 0 0 0 0 1 0 0 0 0
DB_ROWSLIMITED

>
			 2 1 0 0 0 0 0 1 0 0 0 0
rows artificially limited

>
			 3 0 0 0 0 0 0 1 0 0 0 0
+<+">n<-">

>
			 3 1 0 0 0 0 0 1 0 0 0 0
result set has <+">n<-"> rows

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	8270
	6473
	8885
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	108
	28
	0
	20502 7935
	[frmlay]
		4646
		5753
		1
		0
		0
		1
		8270
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 784 86 2 0
			 1 4754 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The cursor is on the last record.

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
The cursor is not on the last record.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	960
	6201
	1289
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	107
	29
	3190
	65367 2166
	[frmlay]
		6468
		5481
		1
		0
		0
		1
		960
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 784 86 2 0
			 1 4482 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Values in the current row are different in cache from those in the database.

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Values have not been altered.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	960
	6993
	1575
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	106
	30
	3738
	0 0
	[frmlay]
		8857
		6273
		1
		0
		0
		1
		960
		0
		0
		2
		0
		1
		0
		2
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 1 4618 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The row was updated successfully

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
The row has been altered by another user or process

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	4373
	5001
	5146
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	105
	31
	3738
	0 0
	[frmlay]
		779
		4041
		1
		0
		0
		1
		4373
		0
		0
		2
		0
		1
		0
		2
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 279 86 2 0 2 0
			 1 279 86 2 0 2 0
		[e]
		[w]
			 1 2386 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Body Text@DB_COMMIT

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Body Text@changes are committed

>
			 1 0 0 0 0 0 0 1 0 0 0 0
@Body Text@DB_ROLLBACK

>
			 1 1 0 0 0 0 0 1 0 0 0 0
@Body Text@changes are rolled back

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	8042
	5800
	9336
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	104
	32
	255
	20497 18061
	[frmlay]
		10558
		5080
		1
		0
		0
		1
		8042
		0
		0
		2
		0
		1
		1
		0
		1
		684
		3448
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 879 86 2 0 1 0
		[e]
		[w]
			 1 3425 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Parameter was successfully set.

>
			 1 0 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Parameter name or ordinal value was not found.

Parameter argument for string value was not enclosed in quotes. (??correct)

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	10560
	6040
	11575
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	103
	33
	255
	20497 18061
	[frmlay]
		10378
		5080
		1
		0
		0
		1
		10560
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 1 3425 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Current value in specified column is updated by <+">value.<-">

>
			 1 0 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Value cannot be changed, as when the database is read-only.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	2655
	7890
	4128
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	102
	34
	0
	15488 29728
	[frmlay]
		5668
		7170
		1
		0
		0
		1
		2655
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 5 4 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 4 0
			 1 200 86 2 0 4 0
			 2 200 86 2 0 4 0
			 3 200 86 2 0 4 0
			 4 200 86 2 0 3 0
		[e]
		[w]
			 0 1466 86 2 0
			 1 1466 86 2 0
			 2 1738 86 2 0
			 3 2113 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
SQL_CHAR

>
			 0 1 0 0 0 0 0 1 0 0 0 0
SQL_SMALLINT

>
			 0 2 0 0 0 0 0 1 0 0 0 0
SQL_TIME

>
			 0 3 0 0 0 0 0 1 0 0 0 0
SQL_LONGVARBINARY

>
			 1 0 0 0 0 0 0 1 0 0 0 0
SQL_NUMERIC

>
			 1 1 0 0 0 0 0 1 0 0 0 0
SQL_FLOAT

>
			 1 2 0 0 0 0 0 1 0 0 0 0
SQL_TIMESTAMP

>
			 1 3 0 0 0 0 0 1 0 0 0 0
SQL_BIGINT

>
			 2 0 0 0 0 0 0 1 0 0 0 0
SQL_NUMERIC

>
			 2 1 0 0 0 0 0 1 0 0 0 0
 SQL_REAL

>
			 2 2 0 0 0 0 0 1 0 0 0 0
SQL_VARCHAR

>
			 2 3 0 0 0 0 0 1 0 0 0 0
SQL_TINYINT

>
			 3 0 0 0 0 0 0 1 0 0 0 0
 SQL_DECIMAL

>
			 3 1 0 0 0 0 0 1 0 0 0 0
SQL_DOUBLE

>
			 3 2 0 0 0 0 0 1 0 0 0 0
SQL_BINARY

>
			 3 3 0 0 0 0 0 1 0 0 0 0
SQL_BIT

>
			 4 0 0 0 0 0 0 1 0 0 0 0
SQL_INTEGER

>
			 4 1 0 0 0 0 0 1 0 0 0 0
SQL_DATE

>
			 4 2 0 0 0 0 0 1 0 0 0 0
SQL_VARBINARY

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	2676
	5913
	3491
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	101
	35
	0
	47658 12
	[frmlay]
		8398
		4953
		1
		0
		0
		1
		2676
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 699 86 2 0
			 1 4039 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
This database will operate in auto-commit mode.

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
This database will operate in transaction mode, allowing manual commit or rollback.

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	8820
	6654
	9435
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	100
	36
	0
	47658 12
	[frmlay]
		8758
		5694
		1
		0
		0
		1
		8820
		0
		0
		2
		0
		1
		1
		0
		1
		864
		3628
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 1 4039 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The result set or database is read-only

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
The result set or database can be updated.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3176
	7947
	3791
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	99
	37
	0
	47658 12
	[frmlay]
		8758
		7227
		1
		0
		0
		1
		3176
		0
		0
		2
		0
		1
		1
		0
		1
		864
		3628
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 1 5572 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The result set has been retrieved with at least one row of data.

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
No result set is available.

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	1819
	6152
	3292
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	98
	38
	0
	5356 22103
	[frmlay]
		1916
		5192
		1
		0
		0
		1
		1819
		0
		0
		2
		0
		1
		1
		0
		1
		684
		3448
		0
	[tbl]
		 5 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 1 0
		[e]
		[w]
			 0 2318 86 2 0
			 1 2659 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
CacheLimit

>
			 0 1 0 0 0 0 0 1 0 0 0 0
IsBeginOfData

>
			 1 0 0 0 0 0 0 1 0 0 0 0
CurrentRow

>
			 1 1 0 0 0 0 0 1 0 0 0 0
IsEndOfData

>
			 2 0 0 0 0 0 0 1 0 0 0 0
FetchBatchSize

>
			 2 1 0 0 0 0 0 1 0 0 0 0
IsReadOnly

>
			 3 0 0 0 0 0 0 1 0 0 0 0
HasRowChanged

>
			 3 1 0 0 0 0 0 1 0 0 0 0
IsResultSetAvailable

>
			 4 0 0 0 0 0 0 1 0 0 0 0
IsAutoCommit

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	3592
	5947
	8497
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	97
	39
	0
	7767 46952
	[frmlay]
		6058
		4987
		1
		0
		0
		1
		3592
		0
		0
		2
		0
		0
		0
		0
		1
		1284
		9482
		0
	[tbl]
		 17 2 200 86 4132 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
			 7 200 86 2 0 2 0
			 8 200 86 2 0 2 0
			 9 200 86 2 0 2 0
			 10 200 86 2 0 2 0
			 11 200 86 2 0 2 0
			 12 200 86 2 0 2 0
			 13 200 86 2 0 2 0
			 14 200 86 2 0 2 0
			 15 200 86 2 0 2 0
			 16 200 86 2 0 1 0
		[e]
		[w]
			 0 2284 86 2 0
			 1 2488 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
AddRow

>
			 0 1 0 0 0 0 0 1 0 0 0 0
LastRow

>
			 1 0 0 0 0 0 0 1 0 0 0 0
Close

>
			 1 1 0 0 0 0 0 1 0 0 0 0
LocateRow

>
			 2 0 0 0 0 0 0 1 0 0 0 0
DeleteRow

>
			 2 1 0 0 0 0 0 1 0 0 0 0
NextResultSet

>
			 3 0 0 0 0 0 0 1 0 0 0 0
Execute

>
			 3 1 0 0 0 0 0 1 0 0 0 0
NextRow

>
			 4 0 0 0 0 0 0 1 0 0 0 0
FieldExpectedDataType

>
			 4 1 0 0 0 0 0 1 0 0 0 0
NumColumns

>
			 5 0 0 0 0 0 0 1 0 0 0 0
FieldID

>
			 5 1 0 0 0 0 0 1 0 0 0 0
NumParameters

>
			 6 0 0 0 0 0 0 1 0 0 0 0
FieldInfo

>
			 6 1 0 0 0 0 0 1 0 0 0 0
NumResultSets

>
			 7 0 0 0 0 0 0 1 0 0 0 0
FieldName

>
			 7 1 0 0 0 0 0 1 0 0 0 0
NumRows

>
			 8 0 0 0 0 0 0 1 0 0 0 0
FieldNativeDataType

>
			 8 1 0 0 0 0 0 1 0 0 0 0
Options

>
			 9 0 0 0 0 0 0 1 0 0 0 0
FieldSize

>
			 9 1 0 0 0 0 0 1 0 0 0 0
RefreshRow

>
			 10 0 0 0 0 0 0 1 0 0 0 0
FirstRow

>
			 10 1 0 0 0 0 0 1 0 0 0 0
Query

>
			 11 0 0 0 0 0 0 1 0 0 0 0
GetError

>
			 11 1 0 0 0 0 0 1 0 0 0 0
PrevRow

>
			 12 0 0 0 0 0 0 1 0 0 0 0
GetErrorMessage

>
			 12 1 0 0 0 0 0 1 0 0 0 0
SetParameter

>
			 13 0 0 0 0 0 0 1 0 0 0 0
GetExtendedErrorMessage

>
			 13 1 0 0 0 0 0 1 0 0 0 0
SetValue

>
			 14 0 0 0 0 0 0 1 0 0 0 0
GetParameter

>
			 14 1 0 0 0 0 0 1 0 0 0 0
Transactions

>
			 15 0 0 0 0 0 0 1 0 0 0 0
GetParameterName

>
			 15 1 0 0 0 0 0 1 0 0 0 0
UpdateRow

>
			 16 0 0 0 0 0 0 1 0 0 0 0
GetValue

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	5804
	7557
	6419
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	96
	40
	3738
	0 0
	[frmlay]
		8857
		6597
		1
		0
		0
		1
		5804
		0
		0
		2
		0
		1
		0
		2
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 1 4942 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The changes were committed or rolled back successfully

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Error

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	4702
	6473
	5317
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	95
	41
	0
	20502 7935
	[frmlay]
		4826
		5753
		1
		0
		0
		1
		4702
		0
		0
		2
		0
		1
		1
		0
		1
		684
		3448
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 784 86 2 0
			 1 4754 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The cursor is on the first record.

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
The cursor is not on the first record.

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	3606
	9446
	4772
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	94
	42
	0
	8768 28417
	[frmlay]
		3114
		8486
		1
		0
		0
		1
		3606
		0
		0
		2
		0
		1
		1
		2
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 1037 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
AddNewLine

AddTab

AppendDocLink

AppendRTFile

>
			 0 2 0 0 0 0 0 1 0 0 0 0
AppendRTItem

AppendText

EmbedFromHandle

EmbedObject

>
			 0 3 0 0 0 0 0 1 0 0 0 0
FindEmbeddedObject

GetFormattedText

New

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	2977
	9446
	3306
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	93
	43
	7232
	28417 0
	[frmlay]
		6897
		8486
		1
		0
		0
		1
		2977
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
EmbeddedObjects

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	3815
	9206
	4630
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	92
	44
	3840
	0 10304
	[frmlay]
		6851
		8486
		1
		0
		0
		1
		3815
		0
		0
		2
		0
		1
		1
		0
		1
		1404
		5436
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The newsletter includes each document's subject

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The newsletter does not include subjects

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	3170
	9446
	4057
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	91
	45
	0
	37637 0
	[frmlay]
		4312
		8486
		1
		0
		0
		1
		3170
		0
		0
		2
		0
		1
		1
		2
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
FormatDocument

FormatMsgWithDoclinks

New

>
			 0 2 0 0 0 0 0 1 0 0 0 0


>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	2062
	9446
	2949
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	90
	46
	0
	0 65280
	[frmlay]
		7117
		8486
		1
		0
		0
		1
		2062
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 1 0
		[e]
		[w]
			 0 1631 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
DoScore

DoSubject

SubjectItemName

>
			 0 2 0 0 0 0 0 1 0 0 0 0


>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	2
	1573060
	960
	10287
	9446
	11302
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	89
	47
	3840
	0 10304
	[frmlay]
		7211
		8486
		1
		0
		0
		1
		10287
		0
		0
		2
		0
		1
		1
		0
		1
		1764
		5796
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The newsletter includes each document's relevance score

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The newsletter does not include relevance scores

>
		[e]
	[tble]
[frm]
	3
	1573060
	960
	8721
	9446
	9336
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	88
	48
	3840
	0 10304
	[frmlay]
		8111
		8486
		1
		0
		0
		1
		8721
		0
		0
		2
		0
		1
		1
		0
		1
		2664
		6696
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
Actions are being logged

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Actions are not being logged

>
		[e]
	[tble]
[frm]
	4
	1573060
	720
	2492
	9206
	3107
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	87
	49
	3840
	0 10304
	[frmlay]
		7751
		8486
		1
		0
		0
		1
		2492
		0
		0
		2
		0
		1
		1
		0
		1
		2304
		6336
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
Errors are being logged

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Errors are not being logged

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	4245
	9446
	5411
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	86
	50
	0
	255 4096
	[frmlay]
		6045
		8486
		1
		0
		0
		1
		4245
		0
		0
		2
		0
		0
		0
		45
		1
		1344
		11616
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 1037 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Close

LogAction

LogError

LogEvent

>
			 0 2 0 0 0 0 0 1 0 0 0 0
OpenFileLog

OpenMailLog

OpenNotesLog

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	2878
	9446
	3765
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	85
	51
	0
	255 4096
	[frmlay]
		5865
		8486
		1
		0
		0
		1
		2878
		0
		0
		2
		0
		0
		0
		45
		1
		1164
		11436
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 758 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
LogActions

LogErrors

NumActions

>
			 0 2 0 0 0 0 0 1 0 0 0 0
NumErrors

OverwriteFile

ProgramName

>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	5
	1573060
	960
	1581
	9446
	2196
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	84
	52
	3840
	0 10304
	[frmlay]
		7931
		8486
		1
		0
		0
		1
		1581
		0
		0
		2
		0
		1
		1
		0
		1
		2484
		6516
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The existing log file is overwritten

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The existing log file is appended to

>
		[e]
	[tble]
[frm]
	8
	1573060
	720
	5286
	9206
	8227
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	83
	53
	0
	18118 507
	[frmlay]
		9570
		8486
		1
		0
		0
		1
		5286
		0
		0
		2
		0
		1
		1
		0
		1
		504
		4536
		0
	[tbl]
		 8 3 200 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 400 86 2 0 1 0
			 4 200 86 2 0 2 0
			 5 400 86 2 0 1 0
			 6 200 86 2 0 2 0
			 7 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Item

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Contents

>
			 1 1 0 0 0 0 0 1 0 0 0 0
A$PROGNAME

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The ProgramName property

>
			 2 1 0 0 0 0 0 1 0 0 0 0
A$LOGTIME

>
			 2 2 0 0 0 0 0 1 0 0 0 0
The date and time that the error or action was logged

>
			 3 1 0 0 0 0 0 1 0 0 0 0
A$USER

>
			 3 2 0 0 0 0 0 1 0 0 0 0
The user of the script at the time the error or action was logged

>
			 4 1 0 0 0 0 0 1 0 0 0 0
A$LOGTYPE

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Indicates either "Error" or "Action"

>
			 5 1 0 0 0 0 0 1 0 0 0 0
A$ACTION

>
			 5 2 0 0 0 0 0 1 0 0 0 0
A description of the action (for actions only)

>
			 6 1 0 0 0 0 0 1 0 0 0 0
A$ERRCODE

>
			 6 2 0 0 0 0 0 1 0 0 0 0
The error code (for errors only)

>
			 7 1 0 0 0 0 4096 1 0 0 0 0
A$ERRMSG

>
			 7 2 0 0 0 0 4096 1 0 0 0 0
A description of the error (for errors only)

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	1718
	9206
	4773
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	82
	54
	27136
	39424 42935
	[frmlay]
		5637
		8486
		1
		0
		0
		1
		1718
		0
		0
		2
		0
		1
		1
		0
		1
		504
		4536
		0
	[tbl]
		 7 3 200 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 600 86 2 0 1 0
			 2 600 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 400 86 2 0 1 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Table col hd@<+">value<-"> data type

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Notes item type

>
			 1 1 0 0 0 0 0 1 0 0 0 0
String

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Text (if <+">specialType%<-"> is used, may be Names, Reader Names, or Author Names)

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Array of Strings

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Text (if <+">specialType%<-"> is used, may be Names, Reader Names, or Author Names)

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Integer, Long, Single, Double, Currency

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Number

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Array of Integers, Longs, Singles, Doubles, or Currencies

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Number

>
			 5 1 0 0 0 0 0 1 0 0 0 0
Variant of type DATE

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Time

>
			 6 1 0 0 0 0 0 1 0 0 0 0
Array of Variants of type DATE

>
			 6 2 0 0 0 0 0 1 0 0 0 0
Time

>
		[e]
	[tble]
[frm]
	9
	1573060
	960
	7165
	9446
	9327
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	81
	55
	0
	837 29700
	[frmlay]
		10324
		8486
		1
		0
		0
		1
		7165
		0
		0
		2
		0
		1
		1
		0
		1
		504
		4536
		0
	[tbl]
		 5 3 200 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 679 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Item Type

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Values data type

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Rich text

>
			 1 2 0 0 0 0 0 1 0 0 0 0
String. The text in the field, rendered into plain text.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Text 

(includes Keywords, Names, Author Names, and Reader Names item types)

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Array of strings.

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Number

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Array of doubles.

>
			 4 1 0 0 0 0 4096 1 0 0 0 0
Time-date

>
			 4 2 0 0 0 0 4096 1 0 0 0 0
Array of doubles.

>
		[e]
	[tble]
[frm]
	6
	1573060
	720
	4015
	9206
	4630
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	80
	56
	0
	14426 20480
	[frmlay]
		8034
		8486
		1
		0
		0
		1
		4015
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The item is of type Reader Names

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The item is not of type Reader Names

>
		[e]
	[tble]
[frm]
	5
	1573060
	960
	5100
	9446
	5715
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	79
	57
	0
	14426 20480
	[frmlay]
		8034
		8486
		1
		0
		0
		1
		5100
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The item is a Names item

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The item is not a Names item

>
		[e]
	[tble]
[frm]
	4
	1573060
	720
	5721
	9206
	6336
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	78
	58
	0
	14426 20480
	[frmlay]
		7854
		8486
		1
		0
		0
		1
		5721
		0
		0
		2
		0
		1
		1
		0
		1
		1044
		5076
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The item is of type Author Names

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The item is not of type Author Names

>
		[e]
	[tble]
[frm]
	13
	1573060
	960
	960
	9446
	1489
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	77
	59
	0
	14426 20480
	[frmlay]
		7854
		8486
		1
		0
		0
		1
		960
		0
		0
		2
		0
		1
		1
		0
		1
		1044
		5076
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The <+">value<-"> matches one of the values in the item.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The <+">value<-"> does not match any of the values in the item.

>
		[e]
	[tble]
[frm]
	5
	1573060
	960
	9895
	9446
	11110
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	76
	60
	0
	14426 20480
	[frmlay]
		8214
		8486
		1
		0
		0
		1
		9895
		0
		0
		2
		0
		1
		1
		0
		1
		1404
		5436
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 600 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
You need Editor access to modify the item

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
You do not need Editor access to modify the item; you can modify it as long as you have Author access or better

>
		[e]
	[tble]
[frm]
	7
	1573060
	960
	2397
	9446
	3012
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	75
	61
	0
	14426 20480
	[frmlay]
		8034
		8486
		1
		0
		0
		1
		2397
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The item is a summary

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The item is not a summary

>
		[e]
	[tble]
[frm]
	4
	1573060
	720
	10935
	9206
	11550
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	74
	62
	0
	14426 20480
	[frmlay]
		7854
		8486
		1
		0
		0
		1
		10935
		0
		0
		2
		0
		1
		1
		0
		1
		1044
		5076
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The item is encrypted

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The item is not encrypted

>
		[e]
	[tble]
[frm]
	6
	1573060
	720
	8911
	9206
	9526
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	73
	63
	0
	14426 20480
	[frmlay]
		7494
		8486
		1
		0
		0
		1
		8911
		0
		0
		2
		0
		1
		1
		0
		1
		684
		4716
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The item is signed

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The item is not signed

>
		[e]
	[tble]
[frm]
	8
	1573060
	720
	7228
	9206
	11675
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	72
	64
	0
	14426 20480
	[frmlay]
		7494
		8486
		1
		0
		0
		1
		7228
		0
		0
		2
		0
		1
		1
		0
		1
		684
		4716
		0
	[tbl]
		 14 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
			 7 200 86 2 0 2 0
			 8 200 86 2 0 2 0
			 9 400 86 2 0 1 0
			 10 200 86 2 0 2 0
			 11 200 86 2 0 2 0
			 12 200 86 2 0 1 0
			 13 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
ATTACHMENT

>
			 0 2 0 0 0 0 0 1 0 0 0 0
File attachment

>
			 1 1 0 0 0 0 0 1 0 0 0 0
EMBEDDEDOBJECT

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Embedded object

>
			 2 1 0 0 0 0 0 1 0 0 0 0
ERRORITEM

>
			 2 2 0 0 0 0 0 1 0 0 0 0
An error occurred while accessing the type

>
			 3 1 0 0 0 0 0 1 0 0 0 0
NOTELINKS

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Reference to the parent document

>
			 4 1 0 0 0 0 0 1 0 0 0 0
NOTEREFS

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Doclink

>
			 5 1 0 0 0 0 0 1 0 0 0 0
NUMBERS

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Number or range of numbers

>
			 6 1 0 0 0 0 0 1 0 0 0 0
RICHTEXT

>
			 6 2 0 0 0 0 0 1 0 0 0 0
Rich text

>
			 7 1 0 0 0 0 0 1 0 0 0 0
SIGNATURE

>
			 7 2 0 0 0 0 0 1 0 0 0 0
Signature

>
			 8 1 0 0 0 0 0 1 0 0 0 0
TEXT

>
			 8 2 0 0 0 0 0 1 0 0 0 0
Text or text list

>
			 9 1 0 0 0 0 0 1 0 0 0 0
DATETIMES

>
			 9 2 0 0 0 0 0 1 0 0 0 0
Time-date value or range of time-date values

>
			 10 1 0 0 0 0 0 1 0 0 0 0
UNAVAILABLE

>
			 10 2 0 0 0 0 0 1 0 0 0 0
The item's type isn't available

>
			 11 1 0 0 0 0 0 1 0 0 0 0
UNKNOWN

>
			 11 2 0 0 0 0 0 1 0 0 0 0
The item's type isn't known

>
			 12 1 0 0 0 0 0 1 0 0 0 0
USERDATA

>
			 13 1 0 0 0 0 0 1 0 0 0 0
USERID

>
			 13 2 0 0 0 0 0 1 0 0 0 0
User ID file

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	5946
	9446
	6833
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	71
	65
	6399
	2 0
	[frmlay]
		4212
		8486
		1
		0
		0
		1
		5946
		0
		0
		2
		0
		1
		1
		2
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Abstract

AppendToTextList

Contains

>
			 0 2 0 0 0 0 0 1 0 0 0 0
CopyItemToDocument

Remove

>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	4201
	9446
	5646
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	70
	66
	13055
	4864 32419
	[frmlay]
		7277
		8486
		1
		0
		0
		1
		4201
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 1316 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
DateTimeValue

IsAuthors

IsEncrypted

IsNames

IsProtected

>
			 0 2 0 0 0 0 0 1 0 0 0 0
IsReaders

IsSigned

IsSummary

Name

Parent

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Text

Type

ValueLength

Values


>
		[e]
	[tble]
[frm]
	3
	1573060
	960
	3955
	9446
	4856
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	69
	67
	3840
	0 10304
	[frmlay]
		6710
		8486
		1
		0
		0
		1
		3955
		0
		0
		2
		0
		1
		1
		0
		1
		684
		4716
		0
	[tbl]
		 3 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
EMBED_OBJECTLINK

>
			 0 2 0 0 0 0 0 1 0 0 0 0
Indicates a link to an external object

>
			 1 1 0 0 0 0 0 1 0 0 0 0
EMBED_ATTACHMENT

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Indicates a file attachment

>
			 2 1 0 0 0 0 0 1 0 0 0 0
EMBED_OBJECT

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Indicates an embedded data object

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	2441
	9446
	3328
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	68
	68
	0
	7423 2
	[frmlay]
		7357
		8486
		1
		0
		0
		1
		2441
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Class

FileSize

Name

>
			 0 2 0 0 0 0 0 1 0 0 0 0
Object

Parent

Source

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Type

Verbs


>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	3628
	9446
	4794
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	67
	69
	0
	65280 8959
	[frmlay]
		3693
		8486
		1
		0
		0
		1
		3628
		0
		0
		2
		0
		1
		1
		2
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 1037 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Activate

DoVerb

ExtractFile

Remove

>
			 0 2 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	3
	1573060
	720
	7094
	9206
	8109
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	66
	70
	3840
	0 10304
	[frmlay]
		6311
		8486
		1
		0
		0
		1
		7094
		0
		0
		2
		0
		1
		1
		0
		1
		864
		4896
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The documents in the collection are sorted 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The documents in the collection are not sorted

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	1851
	9206
	3017
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	65
	71
	0
	20735 0
	[frmlay]
		7178
		8486
		1
		0
		0
		1
		1851
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 1037 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
IsSorted

Count

Parent

Query

>
			 0 2 0 0 0 0 0 1 0 0 0 0


>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3238
	9206
	4125
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	64
	72
	0
	65280 20735
	[frmlay]
		4212
		8486
		1
		0
		0
		1
		3238
		0
		0
		2
		0
		1
		1
		2
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
GetFirstDocument

GetLastDocument

GetNextDocument

>
			 0 2 0 0 0 0 0 1 0 0 0 0
GetNthDocument

GetPrevDocument


>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	2478
	9206
	3093
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	63
	73
	26624
	26625 1
	[frmlay]
		7130
		8486
		1
		0
		0
		1
		2478
		0
		0
		2
		0
		1
		1
		0
		1
		1764
		5796
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
There are no errors on the document.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
There are errors on the document.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	6677
	9206
	9332
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	62
	74
	0
	35653 3166
	[frmlay]
		3831
		8486
		1
		0
		0
		1
		6677
		0
		0
		2
		0
		1
		1
		0
		1
		504
		4536
		0
	[tbl]
		 7 3 200 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 400 86 2 0 1 0
			 5 200 86 2 0 2 0
			 6 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Data Type of <+">value<-">

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Resulting <+">notesItem<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
String

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Text field containing <+">value<-">.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Array of strings

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Text field containing each element of <+">value<-">.

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Integer

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Number field containing <+">value<-">.

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Array of integers

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Number field containing each element of <+">value<-">.

>
			 5 1 0 0 0 0 0 1 0 0 0 0
Variant of type DATE

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Time-date field containing <+">value<-">.

>
			 6 1 0 0 0 0 4096 1 0 0 0 0
Array of variants, where each variant is of type DATE

>
			 6 2 0 0 0 0 4096 1 0 0 0 0
<+!><[>NOT IMPLEMENTED. BUILD 123.16]<-!>

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	4573
	9446
	6735
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	61
	75
	26624
	26625 1
	[frmlay]
		10324
		8486
		1
		0
		0
		1
		4573
		0
		0
		2
		0
		1
		1
		0
		1
		504
		4536
		0
	[tbl]
		 5 3 200 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 679 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Notes field type

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Table col hd@<+">value<-"> return type

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Rich text

>
			 1 2 0 0 0 0 0 1 0 0 0 0
String. The text in the field, rendered into plain text.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Text 

(includes Keywords, Names, Author Names, and Reader Names field types)

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Array of strings.

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Number

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Array of doubles.

>
			 4 1 0 0 0 0 4096 1 0 0 0 0
Time-date

>
			 4 2 0 0 0 0 4096 1 0 0 0 0
Array of doubles.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3815
	9206
	4830
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	60
	76
	26624
	26625 1
	[frmlay]
		6590
		8486
		1
		0
		0
		1
		3815
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
An item with <+">itemName$ <-">exists in the document

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
There is no item with <+">itemName$ <-">in the document

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	4894
	9446
	5709
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	59
	77
	20654
	362 6810
	[frmlay]
		5876
		8486
		1
		0
		0
		1
		4894
		0
		0
		2
		0
		4
		100
		0
		1
		1344
		5376
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document was created, but has not been saved

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document has been saved

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	9007
	9446
	9622
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	58
	78
	26624
	26625 1
	[frmlay]
		6590
		8486
		1
		0
		0
		1
		9007
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document is saved when mailed

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document is not saved when mailed

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	6557
	9446
	7172
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	57
	79
	26624
	26625 1
	[frmlay]
		6410
		8486
		1
		0
		0
		1
		6557
		0
		0
		2
		0
		1
		1
		0
		1
		1044
		5076
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document is signed when mailed

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document is not signed when mailed

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	7488
	9206
	8303
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	56
	80
	26624
	26625 1
	[frmlay]
		6050
		8486
		1
		0
		0
		1
		7488
		0
		0
		2
		0
		1
		1
		0
		1
		684
		4716
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document was mailed by an agent

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document was mailed by a human being

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	8675
	9206
	9690
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	55
	81
	26624
	26625 1
	[frmlay]
		6230
		8486
		1
		0
		0
		1
		8675
		0
		0
		2
		0
		1
		1
		0
		1
		864
		4896
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document contains one or more embedded objects or file attachments

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document does not contain any embedded objects or file attachments

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	9092
	9446
	9907
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	54
	82
	26624
	26625 1
	[frmlay]
		6230
		8486
		1
		0
		0
		1
		9092
		0
		0
		2
		0
		1
		1
		0
		1
		864
		4896
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document is encrypted when mailed

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document is not encrypted when mailed

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	7886
	9446
	8501
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	53
	83
	26624
	26625 1
	[frmlay]
		6950
		8486
		1
		0
		0
		1
		7886
		0
		0
		2
		0
		1
		1
		0
		1
		1584
		5616
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document was successfully saved.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document was not saved.

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	4015
	9446
	5030
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	52
	84
	26624
	26625 1
	[frmlay]
		6770
		8486
		1
		0
		0
		1
		4015
		0
		0
		2
		0
		1
		1
		0
		1
		1404
		5436
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 600 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3395 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document was successfully deleted.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document was not deleted, because another user modified it and the 
<+">force%<-"> parameter is set to False.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	5649
	9206
	7931
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	51
	85
	12288
	61440 6400
	[frmlay]
		4312
		8486
		1
		0
		0
		1
		5649
		0
		0
		2
		0
		1
		1
		2
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 2153 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
AbstractToItem

AppendItemValue

ComputeWithForm

CopyAllItems

CopyItem

CopyToDatabase

CreateReplyMessage

Encrypt

>
			 0 2 0 0 0 0 0 1 0 0 0 0
FindEmbedded

GetFirstItem

GetItemValue

GetNextItem

HasItem

MakeResponse

PutInFolder

RenderToRTItem

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Remove

RemoveFromFolder

RemoveItem

ReplaceItemValue

Save

Send

SendTo

Sign

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3067
	9206
	5349
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	50
	86
	0
	0 5888
	[frmlay]
		7395
		8486
		1
		0
		0
		1
		3067
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 2153 86 2 0 3 0
		[e]
		[w]
			 0 1647 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Authors

ColumnValues

Created

EmbeddedObjects

EncryptionKeys

EncryptOnSend

FTSearchScore

HasEmbedded

>
			 0 2 0 0 0 0 0 1 0 0 0 0
IsNewNote

IsResponse

IsSigned

Items

LastAccessed

LastModified

NoteID

ParentDatabase

>
			 0 3 0 0 0 0 0 1 0 0 0 0
ParentDocumentUNID

ParentView

SaveMessageOnSend

SentByAgent

Signer

SignOnSend

UniversalID

Verifier

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	960
	9206
	1289
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	49
	87
	20654
	362 6810
	[frmlay]
		5696
		8486
		1
		0
		0
		1
		960
		0
		0
		2
		0
		4
		100
		0
		1
		1164
		5196
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document is a response to another document

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document is not a response

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	6688
	9206
	7703
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	48
	88
	20654
	362 6810
	[frmlay]
		5876
		8486
		1
		0
		0
		1
		6688
		0
		0
		2
		0
		4
		100
		0
		1
		1344
		5376
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The document contains one or more signatures

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The document does not contain signatures

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	960
	9206
	3372
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	47
	89
	0
	35653 3166
	[frmlay]
		3831
		8486
		1
		0
		0
		1
		960
		0
		0
		2
		0
		1
		1
		0
		1
		504
		4536
		0
	[tbl]
		 7 3 200 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 400 86 2 0 1 0
			 5 200 86 2 0 2 0
			 6 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Data Type of <+">value<-">

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Resulting <+">notesItem<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
String

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Text field containing <+">value<-">.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Array of strings

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Text field containing each element of <+">value<-">.

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Integer

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Number field containing <+">value<-">.

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Array of integers

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Number field containing each element of <+">value<-">.

>
			 5 1 0 0 0 0 0 1 0 0 0 0
Variant of type DATE

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Time-date field containing <+">value<-">.

>
			 6 1 0 0 0 0 4096 1 0 0 0 0
Array of variants, where each variant is of type DATE

>
			 6 2 0 0 0 0 4096 1 0 0 0 0
<+!><[>NOT IMPLEMENTED. BUILD 123.16]<-!>

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	1819
	9446
	2148
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	46
	90
	0
	0 0
	[frmlay]
		5865
		8486
		1
		0
		0
		1
		1819
		0
		0
		2
		0
		0
		0
		0
		1
		1164
		11436
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 200 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Name

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	2527
	9446
	3135
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	45
	91
	0
	0 0
	[frmlay]
		6045
		8486
		1
		0
		0
		1
		2527
		0
		0
		2
		0
		0
		0
		0
		1
		1344
		11616
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 479 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
GetFirstDatabase

GetNextDatabase

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	3715
	9206
	5598
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	44
	92
	775
	65094 18313
	[frmlay]
		5608
		8486
		1
		0
		0
		1
		3715
		0
		0
		2
		0
		1
		1
		0
		1
		504
		4536
		0
	[tbl]
		 5 3 200 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 400 86 2 0 1 0
			 4 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Table col hd@<+">fileType%<-">

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Table col hd@Indicates

>
			 1 1 0 0 0 0 0 1 0 0 0 0
DATABASE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Any Notes database

>
			 2 1 0 0 0 0 0 1 0 0 0 0
TEMPLATE

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Any Notes database template

>
			 3 1 0 0 0 0 0 1 0 0 0 0
REPLICA_CANDIDATE

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Any Notes database available for replication

>
			 4 1 0 0 0 0 4096 1 0 0 0 0
TEMPLATE_CANDIDATE

>
			 4 2 0 0 0 0 4096 1 0 0 0 0
Any Notes database that can be a template

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	1819
	9446
	2706
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	43
	93
	0
	255 4096
	[frmlay]
		5685
		8486
		1
		0
		0
		1
		1819
		0
		0
		2
		0
		0
		0
		45
		1
		984
		11256
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 758 86 2 0 1 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
GMTTime

LocalTime

LSGMTTime

>
			 0 2 0 0 0 0 0 1 0 0 0 0
LSLocalTime

TimeZone

>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	3106
	9446
	4316
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	42
	94
	0
	65535 65535
	[frmlay]
		7809
		8486
		1
		0
		0
		1
		3106
		0
		0
		2
		0
		0
		0
		2
		1
		984
		11256
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 1081 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2192 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 8 0 0 0 0 1 0 0 0 0
<+@><:I0,0,0,0><:S+-1>AdjustDay

<+@><:I0,0,0,0><:S+-1>AdjustHour

<+@><:I0,0,0,0><:S+-1>AdjustMinute

<+@><:I0,0,0,0><:S+-1>AdjustMonth

>
			 0 2 8 0 0 0 0 1 0 0 0 0
<+@><:I0,0,0,0><:S+-1>AdjustSecond

<+@><:I0,0,0,0><:S+-1>AdjustYear

<+@><:I0,0,0,0><:S+-1>SetAnyDate

>
			 0 3 0 0 0 0 0 1 0 0 0 0
<:I0,0,0,0><:S+-1>SetAnyTime

<+@><:I0,0,0,0><:S+-1>SetNow

<:I0,0,0,0><:S+-1>TimeDifference

<+@><:I0,0,0,0><:S+-1>

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	6883
	9446
	9224
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	41
	95
	24937
	108 2816
	[frmlay]
		7871
		8486
		1
		0
		0
		1
		6883
		0
		0
		2
		0
		1
		1
		0
		1
		1404
		5436
		0
	[tbl]
		 8 3 200 86 1440 0 1 43 43
		[h]
			 0 210 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
			 7 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
@Table col hd@<+">level%<-">

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Table col hd@Meaning

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_NOACCESS

>
			 1 2 0 0 0 0 0 1 0 0 0 0
No access

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DEPOSITOR

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Depositor access

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_READER

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Reader access

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_AUTHOR

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Author access

>
			 5 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_EDITOR

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Editor access

>
			 6 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DESIGNER

>
			 6 2 0 0 0 0 0 1 0 0 0 0
Designer access

>
			 7 1 0 0 0 0 0 1 0 0 0 0
ACLLEVEL_MANAGER

>
			 7 2 0 0 0 0 0 1 0 0 0 0
Manager access

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	9591
	9206
	10406
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	40
	96
	20654
	362 6810
	[frmlay]
		6056
		8486
		1
		0
		0
		1
		9591
		0
		0
		2
		0
		132
		0
		0
		1
		1524
		5556
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The database exists and was opened.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
There is no database at the location specified.

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	1160
	9446
	3205
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	39
	97
	24937
	108 2816
	[frmlay]
		7691
		8486
		1
		0
		0
		1
		1160
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 7 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_NOACCESS

>
			 0 2 0 0 0 0 0 1 0 0 0 0
No access

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DEPOSITOR

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Depositor access

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_READER

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Reader access

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_AUTHOR

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Author access

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_EDITOR

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Editor access

>
			 5 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DESIGNER

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Designer access

>
			 6 1 0 0 0 0 0 1 0 0 0 0
ACLLEVEL_MANAGER

>
			 6 2 0 0 0 0 0 1 0 0 0 0
Manager access

>
		[e]
	[tble]
[frm]
	5
	1573060
	960
	2688
	9446
	4970
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	38
	98
	0
	0 0
	[frmlay]
		5865
		8486
		1
		0
		0
		1
		2688
		0
		0
		2
		0
		0
		0
		0
		1
		1164
		11436
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 2153 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
AccessLevel

ACL

Agents

AllDocuments

Categories

Created

DesignTemplateName

FileName

>
			 0 2 0 0 0 0 0 1 0 0 0 0
FilePath

IsFTIndexed

IsOpen

IsPrivateAddressBook

IsPublicAddressBook

LastFTIndexed

LastModified

Managers

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Parent

ReplicaID

Server

Size

TemplateName

Title

UnprocessedDocuments

Views

>
		[e]
	[tble]
[frm]
	5
	1573060
	960
	5370
	9446
	7652
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	37
	99
	0
	0 0
	[frmlay]
		7989
		8486
		1
		0
		0
		1
		5370
		0
		0
		2
		0
		0
		0
		116
		1
		1164
		11436
		0
	[tbl]
		 1 4 200 86 2542 86 1 43 43
		[h]
			 0 2153 86 2 0 1 0
		[e]
		[w]
			 0 1664 86 2 0
			 1 2160 86 2 0
			 2 2225 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Close

Compact

Create

CreateCopy

CreateFromTemplate

CreateReplica

FTSearch

GetDocumentByID

>
			 0 2 0 0 0 0 0 1 0 0 0 0
GetDocumentByUNID

GetView

GrantAccess

Open

OpenIfModified

OpenMail

QueryAccess

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Remove

Replicate

RevokeAccess

Search

UnprocessedFTSearch

UnprocessedSearch

UpdateFTIndex

>
		[e]
	[tble]
[frm]
	9
	1573060
	960
	960
	9446
	1775
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	36
	100
	26624
	26625 1
	[frmlay]
		5516
		8486
		1
		0
		0
		1
		960
		0
		0
		2
		0
		206
		1
		10560
		1
		984
		5016
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The database has a full-text index

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The database does not have a full-text index

>
		[e]
	[tble]
[frm]
	9
	1573060
	720
	960
	9206
	1575
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	35
	101
	20654
	362 6810
	[frmlay]
		4155
		8486
		1
		0
		0
		1
		960
		0
		0
		2
		0
		99
		111
		29808
		1
		504
		4536
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The database is open.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The database is not open.

>
		[e]
	[tble]
[frm]
	6
	1573060
	720
	4549
	9206
	5564
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	34
	102
	20654
	362 6810
	[frmlay]
		5696
		8486
		1
		0
		0
		1
		4549
		0
		0
		2
		0
		132
		0
		0
		1
		1164
		5196
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The database is a private Name & Address Book

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The database is not a private Name & Address Book

>
		[e]
	[tble]
[frm]
	7
	1573060
	720
	8617
	9206
	9632
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	33
	103
	20654
	362 6810
	[frmlay]
		5876
		8486
		1
		0
		0
		1
		8617
		0
		0
		2
		0
		132
		0
		0
		1
		1344
		5376
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 400 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The database is a public Name & Address Book

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The database is not a public Name & Address Book

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3134
	9206
	3749
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	32
	104
	20654
	362 6810
	[frmlay]
		5876
		8486
		1
		0
		0
		1
		3134
		0
		0
		2
		0
		132
		0
		0
		1
		1344
		5376
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The database was opened.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The database was not opened.

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	960
	9206
	1975
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	31
	105
	20654
	362 6810
	[frmlay]
		6056
		8486
		1
		0
		0
		1
		960
		0
		0
		2
		0
		132
		0
		0
		1
		1524
		5556
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 600 86 2 0 1 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The database replicated without errors.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The database did not successfully replicate; document replication errors occurred.

>
		[e]
	[tble]
[frm]
	1
	1573060
	960
	3536
	9446
	5581
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	30
	106
	24937
	108 2816
	[frmlay]
		7871
		8486
		1
		0
		0
		1
		3536
		0
		0
		2
		0
		1
		1
		0
		1
		1404
		5436
		0
	[tbl]
		 7 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_NOACCESS

>
			 0 2 0 0 0 0 0 1 0 0 0 0
No access

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DEPOSITOR

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Depositor access

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_READER

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Reader access

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_AUTHOR

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Author access

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_EDITOR

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Editor access

>
			 5 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DESIGNER

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Designer access

>
			 6 1 0 0 0 0 0 1 0 0 0 0
ACLLEVEL_MANAGER

>
			 6 2 0 0 0 0 0 1 0 0 0 0
Manager access

>
		[e]
	[tble]
[frm]
	2
	1573060
	960
	6689
	4855
	7304
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	29
	107
	3327
	0 65280
	[frmlay]
		9878
		3895
		1
		0
		0
		1
		6689
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 937 86 2 0
			 1 2743 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Disconnected successfully

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Failed to disconnect

>
		[e]
	[tble]
[frm]
	2
	1573060
	960
	7699
	6040
	8314
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	28
	108
	0
	33752 2796
	[frmlay]
		4175
		5080
		1
		0
		0
		1
		7699
		0
		0
		2
		0
		0
		0
		0
		1
		1104
		9302
		0
	[tbl]
		 2 2 200 86 4132 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 733 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The connection has timed out

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Error

>
		[e]
	[tble]
[frm]
	2
	1573060
	960
	3213
	6262
	3828
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	27
	109
	0
	47658 12
	[frmlay]
		13340
		5302
		1
		0
		0
		1
		3213
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 1 3647 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The listed option is supported

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
The listed option is not supported.

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	6704
	6414
	7519
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	26
	110
	0
	47658 12
	[frmlay]
		8578
		5694
		1
		0
		0
		1
		6704
		0
		0
		2
		0
		1
		1
		0
		1
		684
		3448
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 1 4039 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The connection to the data source or database is currently established.

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Error

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	4243
	5860
	6002
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	25
	111
	0
	7767 46952
	[frmlay]
		5878
		5140
		1
		0
		0
		1
		4243
		0
		0
		2
		0
		0
		0
		0
		1
		1104
		9302
		0
	[tbl]
		 6 2 200 86 4132 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 1 0
		[e]
		[w]
			 0 2437 86 2 0
			 1 2488 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
ConnectTo

>
			 0 1 0 0 0 0 0 1 0 0 0 0
GetRegistrationInfo

>
			 1 0 0 0 0 0 0 1 0 0 0 0
Disconnect

>
			 1 1 0 0 0 0 0 1 0 0 0 0
ListDataSources

>
			 2 0 0 0 0 0 0 1 0 0 0 0
ExecProcedure

>
			 2 1 0 0 0 0 0 1 0 0 0 0
ListFields

>
			 3 0 0 0 0 0 0 1 0 0 0 0
GetError

>
			 3 1 0 0 0 0 0 1 0 0 0 0
ListProcedures

>
			 4 0 0 0 0 0 0 1 0 0 0 0
GetErrorMessage

>
			 4 1 0 0 0 0 0 1 0 0 0 0
ListTables

>
			 5 0 0 0 0 0 0 1 0 0 0 0
GetExtendedErrorMessage

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	1819
	2638
	3864
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	24
	112
	0
	5356 22103
	[frmlay]
		1736
		1918
		1
		0
		0
		1
		1819
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 7 1 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 1 0
			 1 200 86 2 0 1 0
			 2 200 86 2 0 1 0
			 3 200 86 2 0 1 0
			 4 200 86 2 0 1 0
			 5 200 86 2 0 1 0
			 6 200 86 2 0 1 0
		[e]
		[w]
			 0 1789 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
DataSource Name

>
			 1 0 0 0 0 0 0 1 0 0 0 0
DisconnectTimeOut

>
			 2 0 0 0 0 0 0 1 0 0 0 0
Exclusive

>
			 3 0 0 0 0 0 0 1 0 0 0 0
IsSupported

>
			 4 0 0 0 0 0 0 1 0 0 0 0
IsTimedOut

>
			 5 0 0 0 0 0 0 1 0 0 0 0
IsConnected

>
			 6 0 0 0 0 0 0 1 0 0 0 0
SilentMode

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	1818
	5800
	2433
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	23
	113
	0
	33752 2796
	[frmlay]
		4355
		5080
		1
		0
		0
		1
		1818
		0
		0
		2
		0
		0
		0
		0
		1
		1284
		9482
		0
	[tbl]
		 2 2 200 86 4132 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 733 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
SilentMode is successfully set.

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Error

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	1179
	4207
	1794
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	22
	114
	768
	4 24916
	[frmlay]
		6468
		3487
		1
		0
		0
		1
		1179
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 784 86 2 0
			 1 2488 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Exclusive mode is in effect

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Error

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	4013
	5588
	4628
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	21
	115
	0
	25856 0
	[frmlay]
		9200
		4868
		1
		0
		0
		1
		4013
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 818 86 2 0
			 1 3835 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
The stored procedure executed successfully

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Error

>
		[e]
	[tble]
[frm]
	2
	1573060
	720
	10094
	4778
	10709
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	20
	116
	0
	64852 24203
	[frmlay]
		9516
		4058
		1
		0
		0
		1
		10094
		0
		0
		2
		0
		1
		1
		0
		1
		504
		3268
		0
	[tbl]
		 2 2 200 86 1440 86 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 1 2403 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
True

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Connected successfully

>
			 1 0 0 0 0 0 0 1 0 0 0 0
False

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Failed to connect

>
		[e]
	[tble]
[frm]
	2
	1573060
	960
	8201
	9446
	8816
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	19
	117
	0
	0 48896
	[frmlay]
		5516
		8486
		1
		0
		0
		1
		8201
		0
		0
		2
		0
		206
		1
		10560
		1
		984
		5016
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The agent is public

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The agent is private

>
		[e]
	[tble]
[frm]
	2
	1573060
	960
	4373
	9446
	4988
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	18
	118
	0
	19455 59173
	[frmlay]
		5516
		8486
		1
		0
		0
		1
		4373
		0
		0
		2
		0
		206
		1
		10560
		1
		984
		5016
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The agent can be run

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The agent is disabled and cannot be run

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3664
	9206
	4272
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	17
	119
	0
	19455 59173
	[frmlay]
		7358
		8486
		1
		0
		0
		1
		3664
		0
		0
		2
		0
		1
		1
		0
		1
		684
		6500
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 479 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Remove

Run

>
			 0 2 0 0 0 0 0 1 0 0 0 0


>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	2398
	9206
	3285
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	16
	120
	0
	19455 59173
	[frmlay]
		7178
		8486
		1
		0
		0
		1
		2398
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Comment

IsEnabled

IsPublic

>
			 0 2 0 0 0 0 0 1 0 0 0 0
LastRun

Name

Owner

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Parent

Query

ServerName

>
		[e]
	[tble]
[frm]
	3
	1573060
	720
	5067
	9206
	5882
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	15
	121
	259
	64 9217
	[frmlay]
		5696
		8486
		1
		0
		0
		1
		5067
		0
		0
		2
		0
		206
		1
		10560
		1
		1164
		5196
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The entry can create private folders in the database

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The entry cannot create private folders

>
		[e]
	[tble]
[frm]
	3
	1573060
	720
	960
	9206
	1775
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	14
	122
	259
	64 9217
	[frmlay]
		5516
		8486
		1
		0
		0
		1
		960
		0
		0
		2
		0
		206
		1
		10560
		1
		984
		5016
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The entry can create private agents in the database

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The entry cannot create private agents

>
		[e]
	[tble]
[frm]
	7
	1573060
	720
	9586
	9206
	10201
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	13
	123
	259
	64 9217
	[frmlay]
		5876
		8486
		1
		0
		0
		1
		9586
		0
		0
		2
		0
		206
		1
		10560
		1
		1344
		5376
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The role is enabled for this entry.

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The role is not enabled.

>
		[e]
	[tble]
[frm]
	4
	1573060
	960
	2397
	9446
	3212
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	12
	124
	259
	64 9217
	[frmlay]
		5696
		8486
		1
		0
		0
		1
		2397
		0
		0
		2
		0
		206
		1
		10560
		1
		1164
		5196
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The entry is cannot delete documents in the database

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The entry can delete documents

>
		[e]
	[tble]
[frm]
	3
	1573060
	720
	8895
	9206
	9710
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	11
	125
	259
	64 9217
	[frmlay]
		5516
		8486
		1
		0
		0
		1
		8895
		0
		0
		2
		0
		206
		1
		10560
		1
		984
		5016
		0
	[tbl]
		 2 3 200 86 1440 0 1 43 43
		[h]
			 0 400 86 2 0 1 0
			 1 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
TRUE

>
			 0 2 0 0 0 0 0 1 0 0 0 0
The entry cannot create new documents in the database

>
			 1 1 0 0 0 0 0 1 0 0 0 0
FALSE

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The entry can create new documents

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	2398
	9206
	3285
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	10
	126
	1
	0 0
	[frmlay]
		7178
		8486
		1
		0
		0
		1
		2398
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
CreatePrivateAgent

CreatePrivateFolder

IsAuthorNoCreate

>
			 0 2 0 0 0 0 0 1 0 0 0 0
IsNoDelete

Level

Name

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Parent

Roles


>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3664
	9206
	4551
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	9
	127
	0
	0 0
	[frmlay]
		7358
		8486
		1
		0
		0
		1
		3664
		0
		0
		2
		0
		1
		1
		0
		1
		684
		6500
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
DisableRole

EnableRole

IsRoleEnabled

>
			 0 2 0 0 0 0 0 1 0 0 0 0
New

Remove


>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	8720
	9206
	10765
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	8
	128
	259
	64 9217
	[frmlay]
		7691
		8486
		1
		0
		0
		1
		8720
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 7 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_NOACCESS

>
			 0 2 0 0 0 0 0 1 0 0 0 0
No access

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DEPOSITOR

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Depositor access

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_READER

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Reader access

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_AUTHOR

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Author access

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_EDITOR

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Editor access

>
			 5 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DESIGNER

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Designer access

>
			 6 1 0 0 0 0 0 1 0 0 0 0
ACLLEVEL_MANAGER

>
			 6 2 0 0 0 0 0 1 0 0 0 0
Manager access

>
		[e]
	[tble]
[frm]
	4
	1573060
	960
	6504
	9446
	8549
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	7
	129
	259
	64 9217
	[frmlay]
		7691
		8486
		1
		0
		0
		1
		6504
		0
		0
		2
		0
		1
		1
		0
		1
		1224
		5256
		0
	[tbl]
		 7 3 200 86 1440 0 1 43 43
		[h]
			 0 200 86 2 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
		[e]
		[w]
			 0 1651 0 2 0
			 1 3400 0 2 0
			 2 3400 0 2 0
		[e]
		[data]
			 0 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_NOACCESS

>
			 0 2 0 0 0 0 0 1 0 0 0 0
No access

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DEPOSITOR

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Depositor access

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_READER

>
			 2 2 0 0 0 0 0 1 0 0 0 0
Reader access

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_AUTHOR

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Author access

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_EDITOR

>
			 4 2 0 0 0 0 0 1 0 0 0 0
Editor access

>
			 5 1 8 0 0 0 0 1 0 0 0 0
<+@>ACLLEVEL_DESIGNER

>
			 5 2 0 0 0 0 0 1 0 0 0 0
Designer access

>
			 6 1 0 0 0 0 0 1 0 0 0 0
ACLLEVEL_MANAGER

>
			 6 2 0 0 0 0 0 1 0 0 0 0
Manager access

>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	3585
	9206
	4472
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	6
	130
	11778
	11264 9216
	[frmlay]
		7178
		8486
		1
		0
		0
		1
		3585
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 758 86 2 0 2 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
AddRole

DeleteRole

GetEntry

>
			 0 2 0 0 0 0 0 1 0 0 0 0
GetFirstEntry

GetNextEntry

RenameRole

>
			 0 3 0 0 0 0 0 1 0 0 0 0
Save


>
		[e]
	[tble]
[frm]
	1
	1573060
	720
	2677
	9206
	3285
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	5
	131
	2314
	13321 2573
	[frmlay]
		7178
		8486
		1
		0
		0
		1
		2677
		0
		0
		2
		0
		1
		1
		0
		1
		504
		6320
		0
	[tbl]
		 1 4 200 86 1440 86 1 43 43
		[h]
			 0 479 86 2 0 3 0
		[e]
		[w]
			 0 1651 86 2 0
			 1 2160 86 2 0
			 2 2160 86 2 0
			 3 2160 86 2 0
		[e]
		[data]
			 0 1 0 0 0 0 0 1 0 0 0 0
Parent

Roles

>
			 0 2 0 0 0 0 0 1 0 0 0 0


>
			 0 3 0 0 0 0 0 1 0 0 0 0


>
		[e]
	[tble]
[lay]
	Standard
	3079
	[rght]
		12960
		10166
		1
		960
		1200
		3
		960
		720
		0
		1
		0
		1
		0
		2
		1
		960
		9446
		1
		1
		3120
	[lft]
		12960
		10166
		1
		720
		1200
		3
		960
		960
		0
		1
		0
		1
		0
		2
		1
		720
		9206
		1
		1
		3120
	[hlft]
	[lyfrm]
		1
		3008
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		3
	[frmlay]
		960
		10166
		1
		720
		180
		3
		0
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		1
		2
		4674
	[txt]
>
	[hrght]
	[lyfrm]
		1
		11200
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		1
	[frmlay]
		960
		10166
		1
		960
		180
		3
		0
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		1
		2
		4674
	[txt]
>
	[flft]
	[lyfrm]
		1
		5056
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		4
	[frmlay]
		12960
		10166
		1
		720
		480
		3
		11940
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		1
		3
		9900
	[txt]
@Left pg foot@<:P19999,0,4-> Programmer's Guide	                                                                                       Lotus Confidential

>
	[frght]
	[lyfrm]
		1
		13248
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		2
	[frmlay]
		12960
		10166
		1
		960
		480
		3
		11940
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		1
		3
		9900
	[txt]
@Right pg foot@Lotus Confidential		                                                   LotusScript: Notes Classes Reference 
<:P19999,0,4->

>
[elay]
[l1]
	0
[pg]
	243
	3 108 28 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	27 0 15 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	61 0 13 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	93 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	127 0 54 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	159 64 21 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	191 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	224 207 62 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	249 11 11 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	271 11 24 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	294 0 5 32 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	312 0 40 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	347 0 73 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	383 0 21 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	405 0 15 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	427 104 4 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	452 0 7 32 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	481 105 11 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	509 123 43 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	543 0 19 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	565 0 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	590 0 66 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	612 0 12 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	642 0 9 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	666 106 25 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	696 0 57 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	728 0 66 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	752 0 13 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	754 0 42 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	780 0 6 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	813 0 50 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	847 0 10 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	874 195 62 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	889 0 36 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	907 88 88 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	934 199 87 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	939 190 63 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	948 0 28 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	954 103 95 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	954 198 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	983 0 6 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1011 325 32 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1028 0 83 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1054 308 62 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1072 97 36 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1098 0 12 32 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1116 0 12 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1144 0 21 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1178 0 66 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1198 104 80 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1226 0 89 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1252 0 70 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1273 88 34 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1306 0 40 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1332 0 5 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1363 0 106 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1382 314 67 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1401 107 19 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1431 0 96 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1460 104 94 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1487 0 97 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1516 100 56 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1538 0 18 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1563 0 87 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1586 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1618 0 10 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1645 0 12 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1677 0 27 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1694 0 68 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1724 0 49 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1755 0 9 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1759 0 97 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1788 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1823 0 0 0 0 0 0 65535 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1859 0 0 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1895 0 0 0 0 0 0 65535 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1930 0 14 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1952 0 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	1983 0 0 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2011 0 72 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2030 0 7 512 64 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2050 0 67 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2075 105 9 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2095 33 11 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2102 96 111 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2119 314 27 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2136 100 51 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2155 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2185 0 95 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2213 0 65 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2239 18 5 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 1 0 0
	2266 0 63 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2293 0 54 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2329 0 72 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2350 81 69 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2375 243 145 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2403 0 23 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2430 0 13 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2461 0 73 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2491 0 31 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2524 0 5 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 2 0 0
	2544 0 14 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2563 0 20 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2595 0 64 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2625 0 13 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2659 0 19 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2689 0 93 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2690 234 12 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2714 0 55 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2727 43 21 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2752 320 46 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2776 516 16 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2792 0 86 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2816 316 5 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2843 200 50 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2878 38 34 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2894 0 12 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2917 91 101 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2945 88 28 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2968 245 23 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	2991 5 5 512 1 0 0 220 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3018 0 24 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3039 295 25 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3060 0 6 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3094 0 40 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3129 99 30 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3161 0 73 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3168 0 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3197 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3231 0 68 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3264 0 34 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3297 0 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3322 0 33 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3343 100 8 32 0 0 0 65535 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3365 0 63 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3397 0 5 0 1 0 0 220 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 2 0 0
	3429 0 0 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3461 0 9 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3493 0 2 32 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3514 22 5 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 14 0 0
	3543 0 33 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3553 305 39 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3564 0 50 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3596 0 5 0 1 0 0 220 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 1 0 0
	3615 0 17 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3637 0 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3665 0 63 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3675 214 23 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3695 0 9 0 1 0 0 65535 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3728 0 54 0 0 0 0 65535 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3760 0 10 0 1 0 0 65535 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3796 0 8 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3830 0 0 0 0 0 0 65535 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3844 5 5 512 0 0 0 65535 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3870 0 0 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3903 106 60 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3935 0 16 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3938 0 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	3969 0 89 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4006 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4042 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4078 0 151 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4112 0 18 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4136 0 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4160 102 105 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4190 0 9 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4224 0 12 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4258 0 9 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4293 0 10 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4330 0 5 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4337 0 5 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4359 0 7 32 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4393 0 57 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4425 0 6 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4454 0 9 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4487 0 58 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4522 0 100 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4557 0 0 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4592 0 48 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4628 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4663 0 15 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4699 0 5 32 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4727 89 82 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4752 0 30 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4778 0 29 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4802 0 25 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4832 0 51 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4858 0 50 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4894 0 32 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4922 167 38 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4948 0 104 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	4971 0 0 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5002 0 45 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5031 198 15 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5043 570 44 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5061 100 10 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5084 333 39 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5106 0 9 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5129 0 0 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5158 0 40 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5184 98 47 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5198 0 7 512 4 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5229 0 6 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5259 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5291 0 59 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5322 0 100 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5357 0 60 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5382 11 17 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5404 11 23 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5426 11 25 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5445 0 100 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5453 0 20 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5468 0 45 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5502 0 7 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5537 0 5 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 1 0 0
	5568 0 6 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5599 0 68 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5634 0 5 32 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5667 0 9 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5700 0 24 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5731 0 9 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5766 0 12 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5802 0 10 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5833 0 25 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5870 0 16 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5901 0 47 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5925 11 7 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5947 11 15 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5971 0 63 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	5991 0 8 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6027 0 8 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6061 0 6 0 1 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6094 0 11 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6126 0 7 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6162 0 20 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6192 0 15 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6221 0 13 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6255 0 7 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6288 0 5 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 2 0 0
	6320 0 26 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6352 0 11 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6363 0 31 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	6364 0 0 1025 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
[edoc]
@Ahead@<:#240,8486><:f280,,><+!>4. LotusScript: Notes Classes Reference<-!><:f>

<:#400,8486>This chapter provides reference information for each class, method, and property in the Notes LotusScript class library, including classes used with ODBC drivers.

The chapter is arranged alphabetically by class. After each class description is an alphabetical listing of properties and methods.<:p<* >>

@Ahead@<:#240,8486>Connection Class<:X8,2;Index "Connection class" #><:X8,2;Index "Open Database Connectivity" # "Connection class"><:X8,2;Index "ODBC" # "Connection class">

<:#200,8486>Represents the ODBC Data Access features for connecting to a data source. 

@Chead@<:#200,8486>Properties

<:t112>

@Chead@<:#200,8486>Methods

@1st lev para@<:t111>

@Chead@<:#200,8486>Access

<:#200,8486>To create a new Connection object, use the New method.

@Bhead title@<:#220,8486>DataSourceName Property<:X8,2;Index "DataSourceName property" #>

<:#200,8486>Reads the name of the connected data source.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">string<-"> =<+!><+"> <-!>ConnectionObj<+!>.<-"><-!><+!> DataSourceName<-!>

@Chead@<:#200,8486><+!>Return Values<-!>

<:#200,8486>String. The ODBC name of the connected data source.

@Chead@<:#200,8486>Usage

<:#200,8486>??info needed

@Chead@<:#200,8486>Errors

<:#200,8486>??

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>ConnectTo

@1st lev para@<:#200,8486>Disconnect

@1st lev para@<:#200,8486>ListDataSources

@Bhead title@<:#220,8486>DisconnectTimeOut Property<:X8,3;Index "DisconnectTimeOut property" #>

<:#200,8486>Specifies how long to maintain a connection before timing out and disconnecting.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">ConnectionObj<-">. <+!>DisconnectTimeOut <-!>=<+">seconds<-">

<:#200,8486><+">seconds<-"> =<+!><+"> <-!>ConnectionObj<+!>.<-"><-!><+!> DisconnectTimeOut<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Integer

@1st lev para@<:#200,8486>The number of seconds that expires before a disconnect occurs.<+"> 

@Chead@<:#200,8486>Usage

<:#400,8486>The disconnect time out is normally set to zero, indicating that no time out is set. If you set a time out value, and that period expires, a disconnect occurs.

<:#200,8486>DisconnectTimeOut prevents:

@Bullet@<:#200,8486>unwanted metered use of a database

@Bullet@<:#200,8486>users from retaining active connections to databases with limited available connections

@Bullet@<:#200,8486>access to an active, password-protected database from an unattended workstation

<:#600,8486>A reconnection attempt is automatically performed, prompting for a password if appropriate, if the data source has been timed out and is subsequently reused. This is only an issue when a script is used with visual objects.

<:#400,8486>If this parameter is one of the options selected in an autoregistration database (LOTUSDS.INI??), the disconnect timeout may be automatically set.

@Chead@<:#200,8486>Errors

<:#200,8486>None

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>Connect

@1st lev para@<:#200,8486>Disconnect

@1st lev para@<:#200,8486>IsConnected

@Bhead title@<:#220,8486><:ZProps><:Z~Props><:X8,3;Index "Exclusive property" #>Exclusive Property

<:#400,8486>Sets a mode where a separate connection is made, rather than use an existing connection that has been cached. (??is this a correct way of saying this?)

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ConnectionObj<+!>. <-">Exclusive<-!>

<:#200,8486><+">ConnectionObj<+!>. <-">Exclusive<-!> = status<-"><-">

@Chead@<:#200,8486>Return Values

<+">boolean<-"><:t114>

@Chead@<:#200,8486>Usage

<:#400,8486>Connections are usually cached to optimize connection time access. Exclusive mode must be set prior to connection; it cannot be set after a connection has been established.

@Chead@<:#200,8486>Errors

<:#200,8486>(??is there an error if you attempt to set Exclusive mode after connection?))

<:#200,8486><+!>See Also<-!>

@1st lev para@<:#200,8486>ConnectTo

@Bhead title@<:#220,8486>IsConnected Property<:X8,4;Index "IsConnected property" #>

<:#200,8486>Read-only. Indicates whether the physical connection is valid.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ConnectionObj<+!>.<-"><-!><+!> IsConnected<-!>

@Chead@<:#200,8486><-!>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Boolean<-">

@1st lev para@<:t110>

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>ConnectTo

@1st lev para@<:#200,8486>Disconnect

@1st lev para@<:#200,8486>DisconnectTimeOut

@1st lev para@<:#200,8486>IsTimedOut

@Bhead title@<:#220,8486>IsSupported Property<:X8,4;Index "IsSupported property" #>

<:#200,8486>Indicates whether an option is supported.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> IsSupported<-!><+!>(<-!> 
<+">option<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">option<-">

@1st lev para@<:#200,8486>Options that can be tested are:

@1st lev para@<:#200,8486>DB_ASYNCHRONOUS (??Only one that is currently supported?)

@1st lev para@<:#200,8486>(DB_PROCEDURES

@1st lev para@<:#200,8486>DB_CURSORS

@1st lev para@<:#200,8486>DB_READONLY?? Not supported yet?)

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Boolean<-">

@1st lev para@<:t109>

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>Options

@1st lev para@<:#200,8486>IsReadOnly

@Bhead title@<:#220,8486>IsTimedOut Property<:X8,5;Index "IsTimedOut property" #>

<:#200,8486>Indicates whether a connection has timed out.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> IsTimedOut<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Boolean<-">

@1st lev para@<:t108>

@Chead@<:#200,8486>Usage

<:#200,8486>The time out value, expressed in seconds, is set by DisconnectTimeOut.

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>DisconnectTimeOut

@1st lev para@<:#200,8486>IsConnected

@Bhead title@<:#220,8486>SilentMode Property<:X8,5;Index "SilentMode property" #>

<:#200,8486>Prevents a UserID and Password dialog box from being displayed during program execution.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ConnectionObj<+!>.<-"><-!><+"> <-"><+!>SilentMode<-!>

<:#200,8486><+">ConnectionObj<+!>.<-"><-!><+"> <-"><+!>SilentMode<-!><+!> = <-!><+">status<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:t113>

@Chead@<:#200,8486>Usage

<:#600,8486>If SilentMode is set, and a UserID and Password are required, the connection is attempted, but may fail. SilentMode may not work for all drivers, but is supported for drivers that support SQLBrowseConnect (such as Oracle and Sybase drivers).

@Chead@<:#200,8486>Errors

<:#200,8486>(??Is there an error if the above instance occurs?)

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>ConnectTo

@Bhead title@<:#220,8486>ConnectTo Method<:X8,6;Index "ConnectTo method" #>

<:#200,8486>Connects to a data source.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> ConnectTo<-!><+!>( 
<-!><+">DataSourceName <-"><[><+!>,<-!><+"> UserID<-"><+!>,<-!> <+">Password<-"> ] <[><+!>,<-!><+"> dsType<-"><+!>,<-!><+"> Path 
<-">] <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">DataSourceName<-">

@1st lev para@<:#200,8486>String<+">.<-"> The name of the data source you want to connect to.

<:#200,8486><+">UserID

@1st lev para@<:#200,8486>String<+">.<-"> Optional. The name of the user ID.

<:#200,8486><+">Password

@1st lev para@<:#200,8486>String. Optional. The password for the user ID.

<:#200,8486><+">dsType

@1st lev para@<:#200,8486>String. The data source type, e.g., Sybase.

<:#200,8486><+">Path

@1st lev para@<:#200,8486>String. The path information to locate the data source.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

<:t116>

@Chead@<:#200,8486>Example

@Mono@<:#400,8486>volunteers. ConnectTo ( "Volunteers", "NULL", "NULL", "Sybase", "\\server\foo\able" )

@Chead@<:#200,8486>Usage

<:#400,8486>Use to establish a connection to a data source, whether or not it is already registered. If already registered, the data source type and path are not required.

<:#600,8486>If not already registered, the data source will be autoregistered. The last parameter may contain multiple strings if they are necessary to complete the autoregistration of the data source as an ODBC data source type.

@Chead@<:#200,8486>Errors

<:#200,8486>Cannot register, Cannot connect, User ID rejected, Cannot reach path

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>Disconnect

@1st lev para@<:#200,8486>DisconnectTimeOut

@Bhead title@<:#220,8486>Disconnect Method<:X8,7;Index "Disconnect method" #>

<:#200,8486>Disconnects from the data source.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ConnectionObj<-"><+"><+!>.<-!><-"><+!> Disconnect<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:t107>

@Chead@<:#200,8486>Usage

<:#600,8486>If the database has been updated using SetValue, UpdateRow, or DeleteRow, and the table has not been committed or rolled back as required, a TransactionUpdate event is generated. You must select commit or rollback. Alternatively, you can set the disconnect 
behavior in Options.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>ConnectTo

@1st lev para@<:#200,8486>DisconnectTimeOut

@1st lev para@<:#200,8486>IsConnected

@1st lev para@<:#200,8486>Events

@1st lev para@<:#200,8486>Options

@Bhead title@<:#220,8486>ExecProcedure Method<:X8,7;Index "ExecProcedure method" #>

<:#200,8486>Executes a stored procedure.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+"><+!>ConnectionObj<-!><-"><+!><+">.<-!><-"><+!> ExecProdedure<-!><+!>(<-!> 
<+">ProcedureName, arg1, arg2... <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">ProcedureName<-">

@1st lev para@<:#200,8486>String. The name of the procedure you want to execute.

<:#200,8486><+">arg1, arg 2...<-">

@1st lev para@<:#400,8486>String, integer, or real. Arguments that may be needed by the procedure. Argument data types must be consistent with the requirements of the procedure.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

<:t115>

@Chead@<:#200,8486>Examples

<:#200,8486>Stored procedures typically have names such as "AddEmployee," or "CreditReport."

@Chead@<:#200,8486>Usage

<:#400,8486>Not all data sources support or maintain stored procedures. Executing a stored procedure standardizes the process of maintaining data and data integrity at the back-end database level.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, ODBC Error

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>ListProcedures

@Bhead title@<:#220,8486>GetError Method<:X8,8;Index "GetError method" # "in Connection">

<:#200,8486>Returns an error code value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer <-">= <+">ConnectionObj<-"><+"><+!>.<-!><-"><+!> GetError<-!>

<:#200,8486><+">integer <-">= <+">QueryObj<-"><+"><+!>.<-!><-"><+!> GetError<-!>

<:#200,8486><+">integer <-">= <+">ResultSetObj<-"><+"><+!>.<-!><-"><+!> GetError<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486>Integer. ??Does this map to the error status code table?

@Chead@<:#200,8486>Usage

<:#600,8486>Errors are produced by any of the methods or properties in any of the three objects. Error code values are grouped into three general categories: bad parameter errors, database errors, and errors indicating that the method or property is not supported by th
is database.

@Chead@<:#200,8486>Example

<:#200,8486>The following shows how to use GetError to locate and trap errors:

@Mono@<:#200,8486>(??NEED TO GET A NEW EXAMPLE showing new model)

@Mono@<:#2200,8486>SUB Initialize<**>	DIM dat AS NEW DataAccess<**>	DIM datasource AS String<**><**>	datasource = "Zzzzzz"			'assume this doesn't exist<**>	dat.ConnectTo(datasource)<**><**>IF dat.GetError <<<;> DBstsSUCCESS then<**>'...do error handling here<**><**>END SUB

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>GetErrorMessage

@1st lev para@<:#200,8486>GetExtendedErrorMessage

@Bhead title@<:#220,8486>GetErrorMessage Method<:X8,9;Index "GetErrorMessage method" # "in Connection">

<:#200,8486>Returns the short error message text associated with any error value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">error message text<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> GetErrorMessage<-!><+!>( 
<-!><+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">QueryObj<+!>.<-!><-"><+!> GetErrorMessage<-!><+!>( 
<-!><+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <-!><-"><+">ResultObj<+!>.<-">GetErrorMessage( 
<-!><+">errorvalue <-"><+!>)<-!><-">

@Chead@<:#200,8486>Parameters

<:#200,8486><+">errorvalue or <-"><+">error code keyword<-">

@1st lev para@<:#400,8486>Optional. The error code value returned by GetError, or by DB_LASTERROR to refer to the last error code. Error code keywords are the last four letters in the error code, as follows:

@1st lev para@<:#200,8486>DBstsSUCCESS	Not an error, SUCCESS (cannot be trapped by ON ERROR)

@1st lev para@<:#400,8486>DBstsFAIL		Failure not explained

@1st lev para@<:#400,8486>DBstsMEMF		Memory allocation failure

@1st lev para@<:#400,8486>DBstsNCON		Not connected

@1st lev para@<:#400,8486>DBstsCCON		Unable to connect

@1st lev para@<:#400,8486>DBstsNOEX		Could not execute

@1st lev para@<:#400,8486>DBstsINVR		Invalid row

@1st lev para@<:#400,8486>DBstsCARR		Cannot access requested row

@1st lev para@<:#400,8486>DBstsNODA		No data

@1st lev para@<:#400,8486>DBstsEOFD		End of data

@1st lev para@<:#400,8486>DBstsINVC		Fieldid out of range

@1st lev para@<:#400,8486>DBstsNCOL		No columns available

@1st lev para@<:#400,8486>DBstsUNIM		Unimplemented

@1st lev para@<:#400,8486>DBstsBADP		Bad parameter

@1st lev para@<:#400,8486>DBstsODBC		ODBC missing

@1st lev para@<:#400,8486>DBstsLIBM		Lib missing

@1st lev para@<:#400,8486>DBstsBADS		Bad saved query

@1st lev para@<:#400,8486>DBstsSNFD		String not found

@1st lev para@<:#400,8486>DBstsINTR		Buffer too small

@1st lev para@<:#400,8486>DBstsACCS		Access error

@1st lev para@<:#400,8486>DBstsTYPE		Bad data source type

@1st lev para@<:#400,8486>DBstsENTR		Entry missing

@1st lev para@<:#400,8486>DBstsDSTY		Load data source type error

@1st lev para@<:#400,8486>DBstsDRVN		Load driver name error

@1st lev para@<:#400,8486>DBstsFITY		Load file type error

@1st lev para@<:#400,8486>DBstsFILT		Load filter error

@1st lev para@<:#400,8486>DBstsINST		Load install type error

@1st lev para@<:#400,8486>DBstsNODR		No driver entry

@1st lev para@<:#400,8486>DBstsNAUT		Cannot autoregister type

@1st lev para@<:#400,8486>DBstsNOSV		No server entry

@1st lev para@<:#400,8486>DBstsNAPE		Notes API error

@1st lev para@<:#400,8486>DBstsSVRQ		Server required

@1st lev para@<:#400,8486>DBstsTMPL		Template error

@1st lev para@<:#400,8486>DBstsBROW		Browse error

@1st lev para@<:#400,8486>DBstsCANF		Cannot find data source

@1st lev para@<:#400,8486>DBstsCNVR		No conversion routine

@1st lev para@<:#400,8486>DBstsCNVD		Converson error in data

@1st lev para@<:#400,8486>DBstsODBC		ODBC error

@1st lev para@<:#400,8486>DBstsHSTMT		ODBC could not return an hStmt

@1st lev para@<:#400,8486>DBstsSQLP		SQL prepare failed

@1st lev para@<:#400,8486>DBstsINTE		String length exceeded

@1st lev para@<:#400,8486>DBstsUPDB		Bind failed - probably a conversion error

@1st lev para@<:#400,8486>DBstsNUNQ		More than one row

@1st lev para@<:#400,8486>DBstsRDON		Read only data

@1st lev para@<:#400,8486>DBstsRCHG		Row has changed - cannot be updated

@1st lev para@<:#400,8486>DBstsRUNC		Row unchanged

@1st lev para@<:#400,8486>DBstsCXIN		Could not execute an insert or update

@1st lev para@<:#400,8486>DBstsAHVR		Already have a valid addrow - must update first

@1st lev para@<:#400,8486>DBstsCPAR		Cannot position at addrow

@Chead@<:#200,8486>Return Values

<:#200,8486><+">String. <-">

@Chead@<:#200,8486>Usage

<:#600,8486>Errors may be tested either immediately after a method or property is used, or by creating an error handler using ON ERROR, which has the advantage of allowing a central consistent manner of error handling, regardless of where the error occurs.

@Chead@<:#200,8486>Example

<:#200,8486>The following example shows how to use ON ERROR to trap errors:

@Mono@<:#200,8486>(??NEED TO GET A NEW EXAMPLE showing new model)

@Mono@<:#5000,8486>SUB Initialize<**>	DIM dat AS NEW DataAccess<**>	DIM datasource AS String<**>	<**>	ON ERROR DBstsCCON Goto BadConnection<**>		<**>	datasource = "Zzzzzz"		'assume this doesn't exist<**>	dat.ConnectTo(datasource)<**><**>	IF dat.ConnectTo(datasource) THEN<**>	
	dat.SQL = "select * from students"<**>		dat.Execute<**>		Columns = dat.NumColumns<**><**>	ELSE<**>		PRINT "Could NOT connect to", datasource<**><**>	END IF<**><**>BadConnection:<**>	PRINT "Could NOT connect or lost connection to ", datasource<**><**>	dat.D
isconnect<**><**>END SUB

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>Get Error

@1st lev para@<:#200,8486>GetExtendedErrorMessage

@Bhead title@<:#220,8486>GetExtendedErrorMessage Method<:X8,12;Index "GetExtendedErrorMessage method" # "in Connection">

<:#200,8486>Returns the long, descriptive error message text associated with any error code value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">error message text<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">QueryObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">ResultSetObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">errorvalue<-"> or <+">error code keyword<-">

@1st lev para@<:#400,8486>Optional.<+"> <-">The error code value returned by GetError, or by DB_LASTERROR to refer to the last error code.

@Chead@<:#200,8486>Return Values

@1st lev para@<:#200,8486><+">String. <-">The error message text associated with the error value.

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>GetError

@1st lev para@<:#200,8486>GetErrorMessage

@Bhead title@<:#220,8486>GetRegistrationInfo Method<:X8,13;Index "GetRegistrationInfo method" #>

<:#200,8486>Returns text in the registration file as text.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">text <-"> = <+">ConnectionObj<-"><+"><+!>.<-!><-"><+!> GetRegistrationInfo<-!><+!>(<-!> 
<+">DataSourceName <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">DataSourceName<-">

@1st lev para@<:#200,8486><+">String.<-"> The name of the data source for which you want registration information.

@Chead@<:#200,8486>Return Values

<:#400,8486><+">Text. <-">The text in the registration file for the specified data source. Returns empty if there is no registration information for the data source. 

@Chead@<:#200,8486>Usage

<:#200,8486>Use to find registration information for the named data source.

@Chead@<:#200,8486>Errors

<:#200,8486>Data Source Not Found

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>ListDataSources

@1st lev para@<:#200,8486>ConnectTo

@Bhead title@<:#220,8486>ListDataSources Method<:X8,13;Index "ListDataSources method" #>

<:#200,8486>Lists all registered data sources as an array, after the connection is established.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">Array<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> ListDataSources<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Array<-">

@1st lev para@<:#200,8486>Returns an array whose entries are strings (all registered data sources).

@Chead@<:#200,8486>Errors

<:#200,8486>??

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>DataSourceName

@1st lev para@<:#200,8486>GetRegistrationInfo

@1st lev para@<:#200,8486>ConnectTo

@Bhead title@<:#220,8486>ListFields Method

<:#200,8486>Lists a name that corresponds to the name of a field in the referenced table.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">Array <-">= <+">ConnectionObj<+!>.<-!><-"><+!> ListFields<-!><+!>( 
<-!><+">TableName <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">TableName<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Array<-">

@1st lev para@<:#600,8486>Returns an array of names. Each name corresponds to the name of a field in the referenced table. If 
<+">TableName<-"> is blank, the names of the columns in the current project list, if any, are returned. The entries are in their project list order.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, Invalid Table Name

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>ListTable

@1st lev para@<:#200,8486>ListDataSources

@1st lev para@<:#200,8486>FieldName

@Bhead title@<:#220,8486>ListProcedures Method<:X8,14;Index "ListProcedures method" #>

<:#200,8486>Lists the executable procedures at the connected data source.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">Array<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> ListProcedures<-!><+!>( 
<-!><+">DataSourceName, UserID, Password <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">DataSourceName<-">

@1st lev para@<:#200,8486><+">String. <-">Optional.

<:#200,8486><+">UserID<-">

@1st lev para@<:#200,8486><+">String. <-">Optional.

<:#200,8486><+">Password<-">

@1st lev para@<:#200,8486><+">String. <-">Optional.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Array<-">

@1st lev para@<:#200,8486>Returns an array of names. Each name is an executable procedure at the connected data source.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>ExecProcedure

@Bhead title@<:#220,8486>ListTables Method<:X8,15;Index "ListTables method" #>

<:#200,8486>Lists the available tables in a connected data source.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection

@Chead@<:#200,8486>Syntax

<:#200,8486><+">ArrayName<-"> = <+">ConnectionObj<-"><+"><+!>.<-!><-"><+!> ListTables<-!><+!>( 
<-!><+">DataSourceName<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">ArrayName<-">

@1st lev para@<:#200,8486>Returns an array of names that are the available tables in a data source.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected

@Chead@<:#200,8486>See also

@1st lev para@ListFields<:p<* >>

@Ahead@<+@><:I0,0,0,0><:#240,8486><+!><:f><-#><:X8,16;Index "NotesACL class" #>NotesACL Class

<+@><:I0,0,0,0><:#200,8486>Represents the Access Control List of a database.

@Chead@<+@><:I0,0,0,0><:#200,8486>Containment

<:#200,8486>Contained by: NotesDatabase

<:#200,8486>Contains: NotesACLEntry

@Chead@<+@><:I0,0,0,0><+!>Properties<-!><+!><:t131>

@Chead@<+@><:I0,0,0,0><+!>Methods<-!><+!><:t130>

@Chead@<+@><:I0,0,0,0><:#200,8486><:f><-#><+!>Access

<:#400,8486>Every NotesDatabase contains a NotesACL object representing that database's Access Contorl List. To get it, use the ACL property in NotesDatabase.

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Usage<-!>

<+@><:I0,0,0,0><:#400,8486>For convenience, the NotesDatabase class has three methods you can use to access and modify an ACL without declaring a NotesACL object. All you need to know is the name of the person, server, or group:

@Bullet@<+@><:I0,0,0,0><:#200,8486>To see what access level a person, server, or group has, use QueryAccess.

@Bullet@<+@><:I0,0,0,0><:#200,8486>To grant access, use GrantAccess.

@Bullet@<+@><:I0,0,0,0><:#200,8486>To remove access, use RevokeAccess.

@See also hlp@<+@><:I0,0,0,0><:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESACL_CLASS<-*>

@Crossref@<:#200,8486>NotesDatabase Class

@Crossref@<:#200,8486>NotesACLEntry Class

@Chead title@<+@><:I0,0,0,0><:#200,8486>Examples: NotesACL Class

<+@><:I0,0,0,0><:#400,8486>1. This script gets the ACL for a database on server Rollerskate, and uses the GetFirstEntry method to find the first entry in its ACL.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "Rollerskate", "notefile\none.nsf" )<**>Dim acl As NotesACL<**>Dim entry As NotesACLEntry<**>Set acl = db.ACL<**>Set entry = acl.GetFirstEntry

<+@><:I0,0,0,0><:#400,8486>2. This script gets the ACL for the current database, and uses GetEntry to find Jeffrey Kinnamon in its ACL.

@Mono@<:I0,0,0,0><:#1400,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim acl As NotesACL<**>Dim entry As NotesACLEntry<**>Set db = session.CurrentDatabase<**>Set acl = db.ACL<**>Set entry = acl.GetEntry( "Jeffrey Kinnamon" )

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!><:X8,17;Index "Parent property" # "in NotesACL">Parent Property

<+@><:I0,0,0,0><:#200,8486>Read-only. The database that owns an ACL.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesACL

@Chead@<+@><:I0,0,0,0><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>NotesDatabase

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486>To get: <+!>Set <-!><+">notesDatabase<+!><-"> = <-!><+">notesACL<+!><-">.Parent<-!>

@See also hlp@<+@><:I0,0,0,0><:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_PARENT_PROPERTY<-*>

@Chead title@<+@><:I0,0,0,0><:#200,8486>Examples: Parent Property

<:I0,0,0,0><:#200,8486>1. This example uses the Parent property to set the value of <:f,QCourier New,>parentDb<:f>. Here, 
<:f,QCourier New,>acl<:f> is a NotesACL object.

@Mono@<:I0,0,0,0><:#400,8486><**>Dim parentDb As NotesDatabase<**>Set parentDb = acl.Parent

<:I0,0,0,0><:#600,8486>2. This script prints the title of the NotesDatabase object from which an ACL was retrieved (<:f,QCourier New,>db<:f>), and title of the NotesDatabase object returned by the Parent property (<:f,QCourier New,>parentDb<:f>). The titles are the same, because 
<:f180,QCourier New,0,0,0>db <:f>and <:f180,QCourier New,0,0,0>parentDb 
<:f>represent the same database, somedocs.nsf.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "", "somedoc.nsf" )<**>Dim parentDb As NotesDatabase<**>Dim acl As NotesACL<**>Set acl = db.ACL<**>Set parentDb = acl.Parent<**>Messagebox( db.Title )<**>Messagebox( parentDb.Title )

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!><:f><:X8,17;Index "Roles property" # "in NotesACL">Roles Property

<+@><:I0,0,0,0><:#200,8486>Read-only. All the roles defined for a database.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesACL

@Chead@<+@><:I0,0,0,0><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>Array of strings

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486>To get: <+">stringArray<+!><-"> = <-!><+">notesACL<+!><-">.Roles<-!>

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Usage

<+@><:I0,0,0,0><:#400,8486>Each element in the array is the name of a role. Role names are surrounded either by parentheses (for V2 "privileges") or by square brackets ("subgroups").

@See also hlp@<+@><:I0,0,0,0><:#270,8486><+!>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ROLES_PROPERTY<-*>

@Chead title@<+@><:I0,0,0,0><:#200,8486><+!>Examples: Roles Property

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!><-#><:X8,18;Index "AddRole method" #>AddRole Method

<+@><:I0,0,0,0><:#200,8486>Adds a role to an ACL.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesACL

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Syntax

<+@><:I0,0,0,0><:#200,8486><+!>Call <-!><+">notesACL<+!><-">.AddRole(<-!><+"> name$<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Parameter

<+@><:I0,0,0,0><:#200,8486><+">name$<+!><-">

@1st lev para@<+@><:#200,8486>The name of the new role. Do not put parentheses or square brackets around the name.

@See also hlp@<+@><:I0,0,0,0><:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ADDROLE_METHOD<-*>

@Chead title@<+@><:I0,0,0,0><:#200,8486>Examples: AddRole Method

<+@><:I0,0,0,0><:#200,8486>1. This script uses AddRole to add a Developer role to the ACL of the current database.

@Mono@<:I0,0,0,0><:#1400,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim acl As NotesACL<**>Set db = session.CurrentDatabase<**>Set acl = db.ACL<**>Call acl.AddRole( "Developer" )<**>Call acl.Save

@Bhead title@<+@><:I0,0,0,0><:#220,8486><:X8,18;Index "DeleteRole method" #>DeleteRole Method

<+@><:I0,0,0,0><:#200,8486>Deletes a role from an ACL.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesACL

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486><+!>Call <-!><+">notesACL<+!><-">.DeleteRole( <-!><+">name$<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Parameter

<+@><:I0,0,0,0><:#200,8486><+">name$<+!><-">

@1st lev para@<+@><:#200,8486>The name of the role to remove. Do not put parentheses or square brackets around the name.

@Chead@<+@><:#200,8486>Usage

<+@><:#400,8486>If the role you specified does not exist in the ACL, Notes raises an error. 
<+!><+">YY "Role name <<name<;> not found."<-"><-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_DELETEROLE<-*>

@Chead title@<:#200,8486>Examples: DeleteRole

<:#200,8486>1. This script uses DeleteRole to remove the Developer role from the ACL of the current database.

@Mono@<:#1400,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim acl As NotesACL<**>Set db = session.CurrentDatabase<**>Set acl = db.ACL<**>Call acl.DeleteRole( "Developer" )<**>Call acl.Save

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!><:X8,19;Index "GetEntry method" #>GetEntry <-!><+!>Method

<+@><:I0,0,0,0><:#200,8486>Given a name, finds its entry in an ACL.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesACL

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486><+!>Set <-!><+">notesACLEntry<+!><-"> = <+"><-!>notesACL<+!><-">.GetEntry<-!><+!>( 
<-!><+">name$<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Parameter

<+@><:I0,0,0,0><:#200,8486><+">name$<-">

@1st lev para@<+@><:#400,8486>String. The name whose ACL entry you want to find. The name must be an exact match, apart from case.

@Chead@<+@><:#200,8486>Return Value

<+@><:#200,8486><+">notesACLEntry<-">

@1st lev para@<+@><:#400,8486>The ACL entry that matches <+">name$<-">. If the <+">name$<-"> is not in the ACL, returns a NotesACLEntry with a null string ("") for a name and ACLLEVEL_NOACCESS for a level.

@Chead@<+@><:#200,8486>Usage

<+@><:#600,8486>GetEntry can find people, groups, or servers in an ACL. If a person is not listed explicitly in the ACL, but is a member of a group that's listed in the ACL, GetEntry will not find that person's name. If you need this capability, use the QueryAccess method 
in NotesDatabase.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETENTRY_METHOD<-*>

@Crossref@<:#200,8486>GetFirstEntry method

@Crossref@<:#200,8486>GetNextEntry method

@Crossref@<:#200,8486>NotesACLEntry class

@Crossref@<:#200,8486>NotesDatabase.QueryAccess

@Chead title@<+@><:#200,8486>Examples: GetEntry Method

<+@><:#200,8486>1. This script uses GetEntry to get the entry for Kendra Bauer, from the ACL of judge.nsf.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "Sporkin", "ubthe\judge.nsf" )<**>Dim acl As NotesACL<**>Dim entry As NotesACLEntry<**>Set acl = db.ACL<**>Set entry = acl.GetEntry( "Kendra Bauer" )

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>GetFirstEntry Method<:X8,20;Index "GetFirstEntry method" #>

<+@><:I0,0,0,0><:#200,8486>Returns the first entry in an ACL, usually the -Default- entry.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesACL

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486><+!>Set <-!><+">notesACLEntry<+!><-"> = <-!><+">notesACL<+!><-">.GetFirstEntry<-!>

@Chead@<+@><:I0,0,0,0><:#200,8486>Return Value

<+@><:I0,0,0,0><:#200,8486><+">notesACLEntry<-">

@1st lev para@<+@><:#200,8486>The first entry in the ACL.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETFIRSTENTRY_METHOD<-*>

@Crossref@<:#200,8486>GetNextEntry method

@Crossref@<:#200,8486>GetEntry method

@Crossref@<:#200,8486>NotesACLEntry class

@Chead title@<+@><:#200,8486>Examples: GetFirstEntry Method

<+@><:#200,8486>1. This script uses GetFirstEntry to get the first entry from the ACL of a database called hello.nsf.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "SmallWorld", "hello.nsf" )<**>Dim acl As NotesACL<**>Dim firstEntry As NotesACLEntry<**>Set acl = db.ACL<**>Set firstEntry = acl.GetFirstEntry

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>GetNextEntry Method<:X8,20;Index "GetNextEntry method" #>

<+@><:I0,0,0,0><:#200,8486>Given an ACL entry, returns the next one.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesACL

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486><+!>Set <-!><+">notesACLEntry<-"> <+!>= <-!><+">notesACL<-"><+!>.GetFirstNextEntry( 
<-!><+">notesACLEntry<-"> <+!>)<-!>

@Chead@<+@><:I0,0,0,0><:#200,8486>Parameter

<+@><:I0,0,0,0><:#200,8486><+">notesACLEntry<-">

@1st lev para@<+@><:#200,8486>Any entry in the ACL.

@Chead@<+@><:#200,8486>Return Value

<+@><:#200,8486><+">notesACLEntry<-">

@1st lev para@<+@><:#400,8486>The entry following the specified <+">notesACLEntry <-">parameter in the ACL. Returns Nothing if there are no more entries.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETFIRSTENTRY_METHOD<-*>

@Crossref@<:#200,8486>GetFirstEntry

@Crossref@<:#200,8486>GetEntry

@Crossref@<:#200,8486>NotesACLEntry class

@Chead title@<+@><:#200,8486>Examples: GetFirstEntry Method

<+@><:#200,8486>1. This code uses GetNextEntry to get the second entry from the ACL of a database called hello.nsf.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "SmallWorld", "hello.nsf" )<**>Dim acl As NotesACL<**>Dim firstEntry As NotesACLEntry<**>Dim secondEntry As NotesACLEntry<**>Set acl = db.ACL<**>Set firstEntry = acl.GetFirstEntry<**>Set secondEntry = acl.GetNextEntry( firstEntr
y )

@Bhead title@<+@><:#220,8486><+!>RenameRole Method<:X8,21;Index "RenameRole method" #>

<+@><:#200,8486>Changes the name of a role.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesACL

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486><+!>Call <-!><+">notesACL<+!><-">.RenameRole(<-!><+"> oldName$<+!><-">, 
<-!><+">newName$<+!><-"> )<-!>

@Chead@<+@><:#200,8486><+!>Parameters

<+@><:#200,8486><+">oldName$<-">

@1st lev para@<+@><:#200,8486>The current name of the role. Do not use parentheses or square brackets.

<+@><:#200,8486><+">newName$<-">

@1st lev para@<+@><:#200,8486>The new name you want to give to the role. Do not use parentheses or square brackets.

<+@><:#200,8486>

@Bhead title@<+@><:#220,8486>Save Method<:X8,21;Index "Save method" # "in NotesACL">

<+@><:#400,8486>Saves the changes you've made to the ACL. If you don't call Save before closing a database, the changes you've made to its ACL are lost.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACL

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486><+!>Call<-!><+"> notesACL<+!><-">.Save<-!>

<+@><:p<* >>

@Ahead@<+@><:#240,8486><+!><-#>NotesACLEntry Class<:X8,22;Index "NotesACLEntry class" #>

<+@><:#200,8486>Represents a single entry in an Access Control List. An entry may be for a person, a group, or a server.

@Chead@<+@><:#200,8486>Containment

<:#200,8486>Contained by: NotesACL

@Chead@<+@><:#200,8486>Properties

<+@><:t126>

@Chead@<+@><:#200,8486>Methods

<+@><:t127>

@Chead@<+@><:#200,8486>Creation

<+@><:#400,8486>To create a new NotesACLEntry object, use New. Given an ACL, New creates an entry in the ACL with the name and level that you specify.

<:#200,8486>You must call Save on the ACL if you want the modified ACL to be saved to disk.

@Chead@<+@><:#200,8486><-#><-#><-#>Syntax

<+@><:#200,8486><+!>Dim <-!><+">variableName<-"> <+!>As <-!><+!>New NotesACLEntry( 
<-!><+">notesACL<+!><-">, <-!><+">name$<+!><-">, <-!><+">level% <+!><-">)<-!> or

<+@><:#200,8486><+!>Set <-!><+">notesACLEntry<+!><-"> = New NotesACLEntry( <-!><+">notesACL<+!><-">,<-!><+"> name$<+!><-">,<-!><+"> level% 
<+!><-">)<-!>

@Chead@<+@><:#200,8486><+!>Parameters

<+@><:#200,8486><+">notesACL<-">

@1st lev para@<+@><:#200,8486>The ACL that contains the entry you're creating.

<+@><:#200,8486><+">name$<-">

@1st lev para@<+@><:#200,8486>String. The name of the person, group, or server for whom you want to create an entry in the ACL.

<+@><:#200,8486><+">level%<-">

@1st lev para@<+@><:#400,8486>Constant. The level you want to assign to this person, group, or server in the ACL. May be any of the following:

@1st lev para@<+@><:t128>

@Chead@<+@><:#200,8486>Access

<+@><:#200,8486>NotesACL provides three ways to access an existing NotesACLEntry:

@Bullet@<+@><:#200,8486>To access an entry in an ACL when you know its name, use GetEntry.

@Bullet@<+@><:#200,8486>To access the first entry in the ACL, use GetFirstEntry.

@Bullet@<+@><:#200,8486>To access entries after the first one, use GetNextEntry.

@See also hlp@<+@><:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESACLENTRY_CLASS<-*>

@Crossref@<:#200,8486>NotesACL Class<-#><-#><-#><-#>

@Chead title@<+@><:#200,8486>Examples: NotesACLEntry Class

<+@><:#200,8486>1. This code uses New to give Veronika Zantop editor access to a database.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "Team-Server", "data\discuss.nsf" )<**>Dim acl As NotesACL<**>Set acl = db.ACL<**>Dim person As New NotesACLEntry( acl, "Veronika Zantop", ACLLEVEL_EDITOR )<**>Call acl.Save

<:#400,8486>2. This code uses New to give Bill Ehrhardt designer access to a database. It also creates a new role, called Project Leader, and enables the role for Bill.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "Team-Server", "data\discuss.nsf" )<**>Dim acl As NotesACL<**>Set acl = db.ACL<**>Call acl.AddRole( "Project Leader" )<**>Dim leader As New NotesACLEntry( acl, "Bill Ehrhardt", ACLLEVEL_DESIGNER )<**>Call leader.EnableRole( "Pro
ject Leader" )<**>Call acl.Save

<:#200,8486>3. This code uses New to add the "Terminations" group to the current database, and assign it No Access.

@Mono@<:#2200,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim acl As NotesACL<**>Dim entry As NotesACLEntry<**>Set db = session.CurrentDatabase<**>If Not ( db.IsOpen ) Then<**>  Call db.Open( "", "" )<**>End If<**>Set acl = db.ACL<**>Set entry = New Not
esACLEntry( acl, "Terminations", ACLLEVEL_NOACCESS )<**>Call acl.Save

@Bhead title@<+@><:#220,8486><+!>CreatePrivateAgent Property<:X8,23;Index "CreatePrivateAgent property" #>

<:#200,8486>Read-write. Indicates if an entry can create private agents in a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesACLEntry

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesACLEntry<+!><-">.CreatePrivateAgent<-!>

<:#200,8486>To set: <+">notesACLEntry<+!><-">.CreatePrivateAgent = <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t122>

<:#200,8486>

@Bhead title@<:#220,8486><:X8,24;Index "CreatePrivateFolder property" #>CreatePrivateFolder Property

<:#200,8486>Read-write. Indicates if an entry can create private folders in a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesACLEntry

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesACLEntry<+!><-">.CreatePrivateFolder<-!>

<:#200,8486>To set: <+">notesACLEntry<+!><-">.CreatePrivateFolder<-!><+"> = <-"><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t121>

@Bhead title@<+@><:#220,8486><+!>IsAuthorNoCreate Property<:X8,24;Index "IsAuthorNoCreate property" #>

<+@><:#200,8486>Read-Write. Indicates if an entry is prevented from creating new documents in a database.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Data Type

<+@><:#200,8486>Boolean

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+">flag<-"><+">%<+!><-"> = <-!><+">notesACLEntry<+!><-">.IsAuthorNoCreate<-!>

<+@><:#200,8486>To set: <+">notesACLEntry<+!><-">.IsAuthorNoCreate <-!><+!>= <-!><+">flag<-"><+">%<-"><-">

@Chead@<+@><:#200,8486>Legal Values

<+@><:t125>

<+@><:#200,8486>

@Bhead title@<+@><:#220,8486><+!>IsNoDelete Property<:X8,24;Index "IsNoDelete property" #>

<+@><:#200,8486>Read-Write. Indicates if an entry is prevented from deleting documents in a database.

@Chead@<+@><:#200,8486>Defined In

<:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Data Type

<+@><:#200,8486>Boolean

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+">flag<-"><+">%<+!><-"> = <-!><+">notesACLEntry<+!><-">.IsNoDelete<-!>

<+@><:#200,8486>To set: <+">notesACLEntry<+!><-">.IsNoDelete<-!><+!>= <-!><+">flag<-"><+">%<-"><-">

@Chead@<+@><:#200,8486>Legal Values

<+@><:t124>

<+@><:#200,8486>

@Bhead title@<+@><:#220,8486><-#><-#>Level Property<:X8,25;Index "Level property" #>

<+@><:#200,8486>Read-Write. The access level this entry has for this database.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Data Type

<+@><:#200,8486>Constant of type integer.

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+">level%<+!><-"> = <-!><+">notesACLEntry<+!><-">.Level<-!>

<+@><:#200,8486>To set: <+">notesACLEntry<+!><-">.Level<-!><+!> = <-!><+">level%<-"><-">

@Chead@<+@><:#200,8486>Legal Values

<+@><:t129>

@See also hlp@<+@><:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_LEVEL_PROPERTY<-*>

@Chead title@<+@><:#200,8486>Examples: Level Property

<+@><:#400,8486>1. This example uses the Level property to display a message about the first entry in the database. Here, 
<:f,QCourier New,>db <:f>is a NotesDatabase object.

@Mono@<:#1000,8486>Set acl = db.ACL<**>Set entry = acl.GetFirstEntry<**>If ( entry.Level = ACLLEVEL_READER ) Then<**>  Messagebox( "The first entry has reader access to the database." )<**>End If

<:#400,8486>2. This script gets the entry for the server Brussels in the ACL of the current database, and changes its access level to Designer.

@Mono@<:#2200,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim acl As NotesACL<**>Dim entry As NotesACLEntry<**>Set db = session.CurrentDatabase<**>Set acl = db.ACL<**>Set entry = acl.GetEntry( "Brussels" )<**>If Not ( entry Is Nothing ) Then<**>  entry.
Level = ACLLEVEL_DESIGNER<**>  Call acl.Save<**>End If

@Bhead title@<+@><:#220,8486><+!><-#>Name Property<:X8,26;Index "Name property" # "in NotesACLEntry">

<+@><:#200,8486>Read-Write. The name of the entry.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Data Type

<+@><:#200,8486>String

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+">name$<+!><-"> = <-!><+">notesACLEntry<+!><-">.Name<-!>

<+@><:#200,8486>To set: <+">notesACLEntry<+!><-">.Name = <-!><+">name$<-">

@Chead@<+@><:#200,8486>Usage

<+@><:#200,8486><-#>If you change the name of an entry, all of its other attributes are preserved.

<+@><:#200,8486><+!>

@Bhead title@<+@><:#220,8486><+!>Parent Property<:X8,26;Index "Parent property" # "in NotesACLEntry">

<+@><:#200,8486>Read-only. The ACL that contains an entry.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Data Type

<+@><:#200,8486>NotesACL

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+!>Set <-!><+">notesACL<+!><-"> = <-!><+">notesACLEntry<+!><-">.Parent<-!>

<+@><:#200,8486>

@Bhead title@<+@><:#220,8486><+!><-#>Roles Property<:X8,26;Index "Roles property" # "in NotesACLEntry">

<+@><:#200,8486>Read-only. The roles that are enabled for an entry.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Data Type

<+@><:#200,8486>Array of strings

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+">stringArray<+!><-"> = <-!><+">notesACLEntry<+!><-">.Roles<-!>

@Bhead title@<+@><:#220,8486>

@Bhead title@<:#220,8486>DisableRole Method<:X8,27;Index "DisableRole method" #>

<:#200,8486>Given a role, disables the role for an ACL entry.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesACLEntry<+!><-">.DisableRole( <-!><+">name$ 
<+!><-">)<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">name$<-">

@1st lev para@<:#200,8486>The name of the role to disable.

@Chead@<:#200,8486>Usage

<:#200,8486>If the role does not exist in the ACL, this method raises an error. 
<+!><+">YY "Role name <<name<;> not found."<-"><-!>

<:#200,8486>If the role exists in the ACL, but is already disabled for the entry, this method does nothing.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_DISABLEROLE_METHOD<-*>

@Chead title@<:#200,8486>Examples: DisableRole Method

<:#200,8486>1. This example disables the Auditor role for Bill Ehrhardt, in the database discuss.nsf.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "Team-Server", "data\discuss.nsf"  )<**>Dim acl As NotesACL<**>Dim entry As NotesACLEntry<**>Set acl = db.ACL<**>Set entry = acl.GetEntry( "Bill Ehrhardt" )<**>Call entry.DisableRole( "Auditor" )<**>Call acl.Save

@Bhead title@<+@><:#220,8486><+!>EnableRole Method<:X8,27;Index "EnableRole method" #>

<+@><:#200,8486>Given the name of a role, enables the role for an ACL entry.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486><+!>Call <-!><+">notesACLEntry<+!><-">.EnableRole( <-!><+">name$<+!><-"> )<-!>

@Chead@<+@><:#200,8486><+!>Parameter

<+@><:#200,8486><+">name$<+!><-">

@1st lev para@<+@><:#200,8486>String. The name of the role to enable.

@Chead@<+@><:#200,8486>Usage

<+@><:#200,8486>If the role does not exist in the ACL, this method raises an error. 
<+!><+">YY "Role name <<name<;> not found."<-"><-!>

<:#200,8486>If the role exists in the ACL, and is already enabled for the entry, this method does nothing.

@See also hlp@<+@><:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ENABLEROLE_METHOD<-*>

@Crossref@<:#200,8486>NotesACL Class

@Crossref@<:#200,8486>AddRole Method

@Crossref@<+@><:#200,8486>DisableRole Method

@Chead title@<+@><:#200,8486>Examples: EnableRole Method

<+@><:#200,8486>1. This script enables the Auditor role for Bill Ehrhardt, in the database discuss.nsf.

@Mono@<+@><:#1400,8486>Dim db As New NotesDatabase( "Team-Server", "data\discuss.nsf" )<**>Dim acl As NotesACL<**>Dim entry As NotesACLEntry<**>Set acl = db.ACL<**>Set entry = acl.GetEntry( "Bill Ehrhardt" )<**>Call entry.EnableRole( "Auditor" )<**>Call acl.Save

<+@><:#400,8486>2. This sub enables one role for multiple people in an ACL. Its parameters are a NotesACL object, the name of the role to enable, and an array of strings that represent user names.

@Mono@<:#2400,8486>Sub enablePeople( acl As NotesACL, role As String, names As Variant )<**>  Dim person As NotesACLEntry<**>  Forall n In names<**>    Set person = acl.GetEntry( n )<**>    If ( person.Level = ACLLEVEL_NOACCESS ) Then<**>      Set person = New NotesACLEntry( 
acl, n, ACLLEVEL_AUTHOR )<**>      Call acl.Save<**>    End If<**>    Call person.EnableRole( role )<**>  End Forall<**>  Call acl.Save<**>End Sub

@Bhead title@<+@><:#220,8486><-#><+!>IsRoleEnabled Method<:X8,28;Index "IsRoleEnabled method" #>

<+@><:#200,8486>Given a role, indicates if the role is enabled for an ACL entry.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486><+">flag%<+!><-"> = <-!><+">notesACLEntry<+!><-">.IsRoleEnabled( <-!><+">name$ 
<+!><-">)<-!>

@Chead@<+@><:#200,8486><+!>Parameter

<:#200,8486><+">name$<-">

@1st lev para@<:#200,8486>The name of the role.

@Chead@<:#200,8486>Return Value

<:t123>

<+@><:#200,8486><+!>

@Bhead title@<+@><:#220,8486><+!>Remove Method<:X8,28;Index "Remove Method" # "in NotesACLEntry">

<+@><:#200,8486>Deletes an entry from the ACL.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesACLEntry

@Chead@<+@><:#200,8486>Syntax

<+@><+!>Call <-!><+">notesACLEntry<+!><-">.Remove<-!><:p<* >>

@Ahead@<:#240,8486><:f>NotesAgent Class<:X8,30;Index "NotesAgent class" #>

<:#200,8486>Represents an agent. The agent may be public or private, and may be a Release 3 macro.

@Chead@<:#200,8486>Containment

<:#200,8486>Contained by: NotesSession and NotesDatabase

@Chead@<:#200,8486>Properties

<:t120>

@Chead@Method<:t119>

@Chead@<:#200,8486>Access

<:#200,8486>There are two ways to access an agent:

@Bullet@<:#200,8486>To access the agent that's currently running, use the CurrentAgent property in NotesSession.

@Bullet@<:#200,8486>To access all the agents in a database, use the Agents property in NotesDatabase.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESAGENT_CLASS<-*>

@Crossref@<:#200,8486>NotesDatabase class

@Crossref@<:#200,8486>NotesSession class

@Crossref@<:#200,8486>Agents property

@Crossref@<:#200,8486>CurrentAgent property

@Chead title@<:#200,8486>Examples: NotesAgent Class

<:#400,8486>1. This script finds the Cleansing Agent in the current database, and assigns it to 
<:f,QCourier New,>agent<:f>. It uses the Agents property defined in NotesDatabase.

@Mono@<:#2000,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim agent As NotesAgent<**>Set db = session.CurrentDatabase<**>agentList = db.Agents<**>Forall a In agentList<**>  If ( a.Name = "Cleansing Agent" ) Then<**>    Set agent = a<**>  End If<**>End F
orall

@Bhead title@<:#220,8486>Comment Property<:X8,30;Index "Comment property" #>

<:#200,8486>Read-only. The comment that describes an agent, as entered by the agent's designer.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">comment$<+!><-"> = <+"><-!>notesAgent<+!><-">.Comment<-!><-">

<:#200,8486><+!>

@Bhead title@<:#220,8486>IsEnabled Property<:X8,31;Index "IsEnabled property" #>

<:#200,8486>Read-only. Indicates if an agent is able to run or not.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesAgent<+!><-">.IsEnabled<-!>

@Chead@<:#200,8486>Legal Values

<:t118>

<:#200,8486>

@Bhead title@<:#220,8486>IsPublic Property<:X8,31;Index "IsPublic property" #>

<:#400,8486>Read-only. Indicates if an agent is public or private. A public agent is accessible to all users of a database. A private agent is accessible only to its creator.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesAgent<+!><-">.IsPublic<-!>

@Chead@<:#200,8486>Legal Values

<:t117>

<:#200,8486>

@Bhead title@<:#220,8486>LastRun Property<:X8,31;Index "LastRun property" # "in NotesAgent">

<:#200,8486>Read-only. The date that an agent last ran.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">dateV<+!><-"> = <-!><+">notesAgent<+!><-">.LastRun<-!>

<:#200,8486><+!>

@Bhead title@<:#220,8486><+!>Name Property<:X8,32;Index "Name property" # "in NotesAgent">

<:#200,8486>Read-only. The name of an agent. Within a database, the name of an agent is not necessarily unique.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">agentName$<+!><-"> = <-!><+">notesAgent<+!><-">.Name<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Owner Property<:X8,32;Index "Owner property" #>

<:#200,8486>Read-only. The name of the person who created an agent.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">ownerName$<+!><-"> = <-!><+">notesAgent<+!><-">.Owner<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Parent Property<:X8,32;Index "Parent property" # "in NotesAgent">

<:#200,8486>Read-only. The database that contains an agent.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>Set<-!> <+">notesDatabase<+!><-"> = <-!><+">notesAgent<+!><-">.Parent<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDatabase class

<:#200,8486>

@Bhead title@<:#220,8486>Query Property<:X8,32;Index "Query property" # "in NotesAgent">

<:#800,8486>Read-only. The text of the query used by an agent to select documents. In the Agent Builder, a query is defined under "Which documents should it act on?" If there is no query defined under this heading, the Query property returns an empty string, even if th
e agent runs a formula that has its own SELECT statement or a script that selects specific documents.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">query$<+!><-"> = <-!><+">notesAgent<+!><-">.Query<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_QUERY_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: Query Property

<:#400,8486>1. This example gets the query for the Cleansing Agent and puts it into 
<:f,QCourier New,>selection<:f>. Here, <:f,QCourier New,>db <:f>represents the current database.

@Mono@<:#1800,8486>Dim agent As NotesAgent<**>Dim selection As String<**>agentList = db.Agents<**>Forall a In agentList<**>  If ( a.Name = "Cleansing Agent" ) Then<**>    Set agent = a<**>  End If<**>End Forall<**>Set selection = agent.Query

<:#200,8486>Some sample results:

@Bullet@<:#200,8486>If the Cleansing Agent searches for the word "tulip", Query returns 
<+!>(tulip)<-!>.

@Bullet@<:#400,8486>If it searches for documents that were created on September 9, 1996, Query returns 
<+!>(<[>_CreationDate] = 09/09/96)<-!>.

@Bullet@<:#400,8486>If it searches for the word tulip on documents that were created on September 9, 1996, Query returns 
<+!>(tulip) AND <-!><+!>(<[>_CreationDate] = 09/09/96)<-!>.

@Bullet@<:#400,8486>If it searches for documents that use the Main Topic form, Query reutrns 
<+!>((<[>Form]="Main Topic")|(<[>Form]="Document")|(<[>Form]="MainTopic"))<-!>.

@Bullet@<:#200,8486>If the Cleansing Agent runs a script, Query returns <+!>""<-!>.

@Bullet@<:#400,8486>If it runs a formula, without any search criteria under "Which documents should it act on?", Query returns 
<+!>""<-!>.

@Bhead title@<:#220,8486>ServerName Property<:X8,33;Index "ServerName property" #>

<:#200,8486>Read-only. The name of the server on which an agent runs.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">server$<+!><-"> = <-!><+">notesAgent<+!><-">.ServerName<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>You can use this property to:

@Bullet@Determine which replica a scheduled agent runs on. Since scheduled agents can only run on a single replica of a database, you designate a server name for the agent under Run Options in the Agent Builder. This property returns the server name you designated.

@Bullet@<:#400,8486>Ensure that a server agent only accesses databases located on the same server. Server agents that attempt to open databases on a different server return an error.

<:#200,8486>

@Bhead title@<:#220,8486>Remove Method<:X8,34;Index "Remove method" # "in NotesAgent">

<:#200,8486>Permanently removes an agent from its database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call<-!><+"> notesAgent<+!><-">.Remove<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Run Method<:X8,34;Index "Run method" #>

<:#200,8486>Runs an agent.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Syntax

<+!>Call<-!><+"> notesAgent<+!><-">.Run<-!><:p<* >>

@Ahead@<:#240,8486>NotesDatabase Class<:X8,35;Index "NotesDatabase class" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Represents a Notes database.

@Chead@<:#200,8486>Containment

<:#200,8486>Contained by: NotesSession

<:#200,8486>Can contain: NotesACL, NotesAgent, NotesDocumentCollection, NotesView<-#><-#><-#><-#><-#>

@Chead@<:#200,8486>Properties

@Chead@<:t98>

@Chead@<:#200,8486>Methods

<:t99>

@Chead@<:#200,8486>Creation and Access

<:#400,8486>There are several ways a script can use the NotesDatabase class to access existing databases and to create new ones:

@Bullet@<:#200,8486>To access an existing database when you know its server and filename, use New.

@Bullet@<:#400,8486>To access the database in which a script is currently running, without indicating a server or filename, use the CurrentDatabase property in NotesSession.

@Bullet@<:#400,8486>To access an existing database when you know its server but <+">not<-"> its filename, use a NotesDbDirectory.

@Bullet@<:#400,8486>To test for the existence of a database with a specific server and filename before accessing it, use one of these methods: Open, OpenIfModified.

@Bullet@<:#400,8486>To create a new database from an existing database, use one of these methods: CreateCopy, CreateFromTemplate, CreateReplica.

@Bullet@<:#200,8486>To create a new database from scratch, use the Create method.

@Bullet@<:#400,8486>To access a database when you have a NotesView, NotesDocument, NotesDocumentCollection, NotesACL, or NotesAgent from that database, use the Parent (or ParentDatabase) property.

@Chead@<:#200,8486>New

<:#600,8486>Creates a NotesDatabase object that represents the database located at the server and filename you specify, and opens the database. Unlike the behavior of New in other classes (such as NotesDocument), using New for a NotesDatabase does 
<+">not <-">create a new database on disk.

@Chead@<:#200,8486>Syntax

<+@><:#200,8486><-#><+!>DIM <-!><+">variableName<+!><-"> As New NotesDatabase(<-!><+"> server$<-"><+!>,<-!> 
<+">dbfile$<-"><+!> )<-!> or

<+@><:#200,8486><+!>SET<-!><+!> <-!><+">notesDatabase<+!><-"> = <-!><+!>New NotesDatabase<-!><+!>(<-!><+"> server$<-"><+!>,<-!> 
<+">dbfile$<-"><+!> )<-!><-!><-!><-#>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">server<-"><+">$<-">

@1st lev para@<:#400,8486>String. The name of the server on which the database resides. Use an empty string ("") to indicate a local database.

<:#200,8486><+">dbfile<-"><+">$<-">

@1st lev para@<:#400,8486>String. The file name and location of the database within the Notes data directory. Use empty strings for both 
<+">dbfile$<-"> and <+">server$<-"> if you want to open the database later.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDatabase<-">

@1st lev para@<:#200,8486>A NotesDatabase object that can be used to access the database you've specified.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESDATABASE_CLASS<-*>

@Crossref@<:#400,8486><+)>About using the NotesDatabase properties and methods<-)><+*>H_ABOUT_USING_THE_NOTESDATABASE_PROPERTIES_AND_METHODS<-*>

@Crossref@<:#200,8486><+)>About accessing a database<-)><+*>H_ABOUT_ACCESSING_A_DATABASE<-*>

@Crossref@<:#200,8486>NotesSession Class

@Crossref@<:#200,8486><+)>NotesAgent Class<-)><+*>H_NOTESAGENT_CLASS<-*>

@Chead title@<:#200,8486>Examples: NotesDatabase Class

<:#800,8486>1. The example below creates an NotesDatabase object called <:f,QCourier New,>db<:f> and uses New to assign a database to it. The database is located at the top level of the Notes data directory on server Barcelona. New automatically opens the database, so 
we can access the database's properties and methods immediately.

@Mono@<:#600,8486>Dim db As NotesDatabase<**><++>S<-+>et db = New NotesDatabase( "Barcelona", "plan.nsf" )<**>print db.Title

<:#400,8486>2. This example acheives the same result as the example above, but declares a NotesDatabase variable 
<:f,QCourier New,>db<:f> and calls New in one line.

@Mono@<:#400,8486><++>Dim <-+>db As New NotesDatabase( "Barcelona","plan.nsf" )<**>print db.Title

<:#400,8486>3. This example also calls New while declaring a variable, <:f,QCourier New,>db<:f>. It assigns 
<:f,QCourier New,>db<:f> to a local database located in a subdirectory called current.

@Mono@<:#200,8486><++>Dim <-+>db As New NotesDatabase( "", "current\plan.nsf" )

<:#600,8486>4. This example shows how you can use New in combination with the Open method to check if a database still exists. The script checks if the salesdocs.nsf database exists on the Antwerp server--if it does, it adds the Supervisors group to the ACL; if it does
n't, the script does nothing.

@Mono@<:#800,8486>Dim db As New NotesDatabase( "", "" )<**>If db.Open( "Antwerp", "salesdocs.nsf" ) Then<**>  Call db.GrantAccess( "Supervisors", ACLLEVEL_EDITOR )<**>End If

<:#1000,8486>4. This example shows how you can use New in combination with the OpenIfModified method to open a database only if it's been modified after a certain date. The script checks if the salesdocs.nsf database on the Antwerp server has been modified since yesterd
ay--if so, it opens the database and runs the Janitor agent. <+"><+!>YY does not work<-!><-"><+!><+">, but it 
<-!><-"><+!><+">should! a). bug in Forall, b). bug in Agents property, c). can't have over 3 branching constructs--LS bug?!<-!><-">

@Mono@<:#2000,8486>Dim db As New NotesDatabase( "", "" )<**>Dim dateTime As New NotesDateTime( "Today" )<**>Call dateTime.AdjustDay( -1 )<**>If db.OpenIfModified( "Antwerp", "salesdocs.nsf", dateTime ) Then<**>  Forall agent In db.Agents<**>    If ( agent.Name = "Janitor" ) T
hen<**>      Call agent.Run<**>    End If<**>  End Forall<**>End If

<:#400,8486>5. This example creates a uses New in combination with the CreateFromTemplate method to create new discussion database on the server Anchorage.

@Mono@Dim discussionTemplate As New NotesDatabase( "Juno", "discuss.ntf" )<**>Dim brandNewDb As NotesDatabase<**>Set brandNewDb = discussionTemplate.CreateFromTemplate( "Anchorage","suggest.nsf", True )<**>brandNewDb.Title = "Suggestions for Giving Campaign 1996"
<:p<* >>

@Ahead@<:#240,8486>About using the NotesDatabase properties and methods<:X8,38;Index "NotesDatabase class" #>

<:#600,8486>A database must be open before a script can use the properties and methods in the corresponding NotesDatabase object. In most cases, the class library automatically opens a database for you. But watch out for the following cases:

@Bullet@<:#400,8486>A script that runs on a server cannot open a database that's on a different server. An error is returned if your script attempts to do so.

@Bullet@<:#400,8486>A script that attempts to open a database to which you do not have access returns an error. A script needs at least  Reader access to a database in order to open it.

@Bullet@<:#400,8486>A script that uses a NotesDbDirectory object to find a database on a server must explicitly open the database with one of these methods: Open, OpenIfModified.

<:#400,8486>To test if a database is open, use the IsOpen property. To open a database that's closed, use Open or OpenIfModified.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>IsOpen property

@Crossref@OpenIfModified property<:p<* >>

<:#200,8486>

@Ahead@<:#240,8486>About accessing a database<:X8,39;Index "NotesDatabase class" #>

<:#600,8486>Notes returns an error when a script attempts to perform an action for which it doesn't have appropriate access. The properties and methods that a script can successfully use on a NotesDatabase object are determined by these factors:

@Bullet@<:#600,8486>The script's access level to the database, as determined by the database Access Control List. The ACL determines if the script can open a database, add documents to it, remove documents from it, modify the ACL, and so on.

@Bullet@<:#600,8486>The script's access level to the server on which the database resides, as determined by the Server document in the public Name & Address Book. The Server document determines when an agent can run and what LotusScript features it can use.

When a script runs in the background on a server, Notes uses the creator's signature to check ACLs and the N & A Book. When a user runs a script from the workstation, Notes uses the user's ID. 
<:p<* >><:p<* >>

@Bhead title@<:#220,8486>AccessLevel Property<:X8,41;Index "AccessLevel property" #>

<:#200,8486>Read-only. The current user's access level to a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Constant of type integer

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">level%<+!><-"> = <-!><+">notesDatabase<+!><-">.AccessLevel<-!>

@Chead@<+!>Legal Values<-!><+!><:t106>

<:#200,8486>

@Bhead title@<:#220,8486>ACL Property<:X8,41;Index "ACL property" #>

<:#200,8486>Read-only. The Access Control List for a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesACL

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">notesACL<+!><-"> = <-!><+">notesDatabase<+!><-">.ACL<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESACL_CLASS<-*>

@Crossref@<:#200,8486><+)>NotesACL Class<-)><+*>H_NOTESACL_CLASS<-*>

<:#200,8486>

@Bhead title@<:#220,8486>Agents Property<:X8,41;Index "Agents property" #>

<:#200,8486>Read-only. The agents in a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of NotesAgents

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">notesAgentArray<+!><-"> = <+"><-!>notesDatabase<-"><+!>.<-!><+!>Agents<-!>

@Chead@<:#200,8486>Usage

@Table Text@<:#200,8486>Each element in the array is a NotesAgent object.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>NotesAgent Class

<:#200,8486>

@Bhead title@<:#220,8486>AllDocuments Property<:X8,42;Index "AllDocuments property" #>

<:#200,8486>Read-only. All the documents in a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>SET <-!><+">notesDocumentCollection <-"><+!> = <-!><+">notesDatabase<+!><-">.AllDocuments<-!>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocumentCollection <-">

@1st lev para@<:#200,8486>NotesDocumentCollection. A unsorted collection containing all of the documents in the database.

@Chead@<:#200,8486>Usage

<:#600,8486>Since many databases contain large numbers of documents, you may use the Search method instead of the AllDocuments property. Search returns a smaller collection of documents that meet specific criteria. Using AllDocuments is, however, more efficient than us
ing Search with an @All formula.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ALLDOCUMENTS_PROPERTY<-*>

@Crossref@<:#200,8486>UnprocessedDocuments property

@Crossref@<:#200,8486>Search Method

@Crossref@<:#200,8486>NotesDocumentCollection Class

@Chead title@<:#200,8486>Examples: AllDocuments Property

<:#200,8486>1. This example uses AllDocuments to get a collection of every document in the specs.nsf database.

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Monaco", "eng\specs.nsf" )<**>Dim collection As NotesDocumentCollection<**>Set collection = db.AllDocuments

<:#800,8486>2. This agent script uses AllDocuments to remove all file attachments from the current database. The script examines each document in the collection and, if it contains a file attachment, calls the sub 
<:f,QCourier New,>detachFiles<:f>, which detaches the file(s) to a directory on drive g. 
<+!><+">YY everything except body of IF o.type ... THEN works in 125<-"><-!>

@Mono@<:#2800,8486>Sub INITIALIZE<**>  Dim session As New NotesSession<**>  Dim db As NotesDatabase<**>  Dim collection As NotesDocumentCollection<**>  Dim doc As NotesDocument<**>  Set db = session.CurrentDatabase<**>  Set collection = db.AllDocuments<**>  For i = 1 To colle
ction.Count<**>    Set doc = collection.GetNthDocument( i )<**>    If doc.HasEmbedded Then<**>      Call detachFiles( doc )<**>    End If<**>  Next<**>End Sub

@Mono@<:#2000,8486>Sub detachFiles( doc As NotesDocument )<**>  temp = doc.EmbeddedObjects<**>  Forall o In temp<**>    If o.Type = EMBED_ATTACHMENT Then<**>      Call o.ExtractFile( "g:\newfiles" )<**>      Call o.Remove<**>      Call doc.Save( True, False )<**>    End If<**>
  End Forall<**>End Sub

@Bhead title@<:#220,8486>Categories Property<:X8,43;Index "Categories property" #>

<:#400,8486>Read-Write. The categories under which a database appears in the Database Directory. 
<+!><+">YY Library?<-!><-"> Multiple categories are separated by a comma or semi-colon.<-">

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">categoryList$<-"><+!> = <+"><-!>notesDatabase<-"><+!>.Categories<-!>

<:#200,8486>To set: <+">notesDatabase<-"><+!>.Categories<-!> = <+">categoryList$<-">

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_CATEGORIES_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: Categories Property

<:#200,8486>1. This example uses the Categories property in the current database. 

@Mono@<:#800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>Messagebox( db.Categories )

<:#200,8486>2. This script assigns the category "Application Template" to the current database.

@Mono@<:#800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>db.Categories = "Application Template"

@Bhead title@<:#220,8486>Created Property<:X8,44;Index "Created property" # "in NotesDatabase">

<:#200,8486>Read-only. The date a database was created.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">dateV<+!><-"> = <-!><+">notesDatabase<+!><-">.Created<-!>

<:#200,8486>

@Bhead title@<:#220,8486>DesignTemplateName Property<:X8,44;Index "DesignTemplateName property" #>

<:#400,8486>Read-only. The name of the design template from which a database was created. If the database was not created from a design template, returns an empty string ("").

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">n<-"><+">ame$<+!><-"> = <-!><+">notesDatabase<-"><+!>.DesignTemplateName<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>If a database inherits a specific design element (such as a form) but not its entire design from a template, this property returns an empty string ("").

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_DESIGNTEMPLATENAME_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: DesignTemplateName Property

<:#400,8486>1. This code gets the design template name of the database cbanner.nsf. Since this is a mail file, the method returns "StdNotesMail".

@Mono@<:#400,8486>Dim db As New NotesDatabase( "Rio_Server", "mail\cbanner.nsf" )<**>template$ = db.DesignTemplateName

<:#800,8486>2. This sub uses the DesignTemplateName property to notify database managers that the design of their databases is going to change. It takes the server and file of a template database (such as mail.ntf for StdNotesMail) and sends mail to the managers of all
 databases that inherit from that template. <+!><+">YY should test if the file IS a template before continuing...<-"><-!>

@Mono@<:#4000,8486>Sub templateNotification( server  As String, file As String )<**>  Dim templateDb As New NotesDatabase( server, file )<**>  templateName$ = templateDb.TemplateName<**>  Dim db As NotesDatabase<**>  Dim directory As NotesDbDirectory<**>  Dim doc As NotesDocu
ment<**>  Set directory = New NotesDbDirectory( server )<**>  Set db = directory.GetFirstDatabase( DATABASE )<**>  While Not ( db Is Nothing )<**>    If ( db.DesignTemplateName = templateName$ ) Then<**>      Set doc = New NotesDocument ( db )<**>      doc.
Form = "Memo"<**>      doc.Subject = "Template changes in " + templateName$<**>      doc.Body = "The template " + templateName$ + " will be modified tomorrow."<**>      Call doc.SendTo( db.Managers, False )<**>    End If<**>  Set db = directory.GetNextDatab
ase<**>  Wend<**>End Sub

@Bhead title@<:#220,8486>FileName Property<:X8,45;Index "FileName property" #>

<:#400,8486>Read-only. The file name of a database, including the .NSF extension. 
<+!><+">YY need cross-platform information<-"><-!>

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">fileName$<+!><-"> = <-!><+">notesDatabase<-"><+!>.FileName<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>If the file is located within a subdirectory or folder in the Notes data directory, the name of the subdirectory or folder is returned along with the file name.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_FILENAME_PROPERTY<-*>

@Crossref@<:#200,8486><+)>FilePath Property<-)><+*>H_FILEPATH_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: FileName Property

<:#400,8486>1. This example uses the FileName property to get the file name of the database cbanner.nsf. Not surprisingly, the property returns "cbanner.nsf".

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Rio_Server", "cbanner.nsf" )<**>Dim file As String<**>file = db.FileName

<:#400,8486>2. This examples uses the FileName property to get the file name of the database cs_doc.nsf. The property returns "cserv\cs_doc.nsf".

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Rio_Server", "cserv\cs_doc.nsf" )<**>Dim file As String<**>file = db.FileName

@Bhead title@<:#220,8486>FilePath Property<:X8,46;Index "FilePath property" #>

<:#400,8486>Read-only. The complete path name indicating a database location on the server or workstation. 
<+!><+">YY need cross-platform information<-"><-!>

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">path$<+!><-"> = <-!><+">notesDatabase<-"><+!>.FilePath<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_FILEPATH_PROPERTY<-*>

@Crossref@<:#200,8486><+)>FileName Property<-)><+*>H_FILENAME_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: FilePath Property

<:#400,8486>1. This example uses the FilePath property to get the path of the database cbanner.nsf. The property returns "C:\NOTES\DATA\CBANNER.NSF".

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Rio_Server", "cbanner.nsf" )<**>Dim path As String<**>path = db.FilePath

<:#600,8486>2. This example uses the FilePath property to get the path of the database cserv\cs_doc.nsf. The property returns "C:\NOTES\DATA\CSERV\CS_DOC.NSF". 
<+!><+"> YY build 126 not returning full path<-!><-"><+!><+"> in this case.<-"><-!>

@Mono@<:#600,8486>Dim db As New NotesDatabase( "", "cserv\cs_doc.nsf" )<**>Dim path As String<**>path = db.FilePath

@Bhead title@<:#220,8486>IsFTindexed Property<:X8,46;Index "IsFTindexed property" #>

<:#200,8486>Read-only. Indicates whether or not a database has a full text index.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesDatabase<-"><+!>.IsFTindexed<-!>

@Chead@<:#200,8486>Legal Values

@Bhead title@<:t100>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ISFTINDEXED_PROPERTY<-*>

@Crossref@<:#200,8486>FTSearch method

@Chead title@<:#200,8486>Examples: IsFTIndexed Property

<:#200,8486>1. This code checks if a database has a full text index before calling the FTSearch method.

@Mono@<:#600,8486>Dim ftResults As NotesDocumentCollection<**>If myDb.IsFullTextIndexed Then<**>  Set ftResults = myDb.FullTextSearch( "clay tablets", 0 )

<:#800,8486>2. This code uses IsFTIndexed to determine which method to use to create and mail a newsletter. The newsletter contains links to ten documents that have to do with "newt." If the database is full-text indexed, it uses FTSearch to search the database. Otherw
ise, it uses Search to select documents whose Body field contains "newt." 
<+!><+">YY works in 125 but crashes Notes upon exit.<-"><-!>

@Mono@<:#3800,8486>Sub INITIALIZE<**>  maxDocs% = 10<**>  Dim db As New NotesDatabase( "Parallan", "notefile\nun.nsf" )<**>  Dim collection As NotesDocumentCollection<**>  Dim newsletter As NotesNewsletter<**>  Dim doc As NotesDocument<**>  Dim dateTime As NotesDateTime<**>  
If db.IsFTIndexed Then<**>    Set collection = db.FTSearch( "newt", maxDocs% )<**>  Else<**>    Set dateTime = New NotesDateTime( "" )<**>    Set collection = db.Search( "@Contains( Body; ""newt"" )", dateTime, 10 ) 
<**>  End If<**>  Set newsletter = New NotesNewsletter( collection )<**>  Set doc = newsletter.FormatMsgWithDoclinks( db )<**>  doc.Form = "Memo"<**>  Call doc.SendTo( "Noot Richging", False )<**>End Sub

@Bhead title@<:#220,8486>IsOpen Property<:X8,47;Index "IsOpen property" #>

<:#200,8486>Read-only. Indicates whether or not a database is open.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesDatabase<-"><+!>.IsOpen<-!>

@Chead@<:#200,8486>Legal Values

@Bhead title@<:t101>

<:#200,8486>

@Bhead title@<:#220,8486>IsPrivateAddressBook Property<:X8,48;Index "IsPrivateAddressBook property" #>

<:#200,8486>Read-only. Indicates if a database is a private Name & Address Book.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesDatabase<-"><+!>.IsPrivateAddressBook<-!>

@Chead@<:#200,8486>Legal Values		

@Bhead title@<:t102>

<:#200,8486>

@Bhead title@<:#220,8486>IsPublicAddresssBook Property<:X8,48;Index "IsPublicAddresssBook property" #>

<:#200,8486>Read-only. Indicates if a database is a public Name & Address Book.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesDatabase<-"><+!>.IsPublicAddressBook<-!>

@Chead@<:#200,8486>Legal Values

<:t103>

@Chead@<:#200,8486>Usage

<:#600,8486>You can use this property in conjuction with the AddressBooks property of the NotesSession class. The AddressBooks property returns an array of all known NotesDatabase objects that are also N&A Books. Use the IsPublicAddressBook property to determine if a g
iven N&A Book on the system is public.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesSession Class

@Crossref@<:#200,8486>AddressBooks Property

@Crossref@<:#200,8486>IsPrivateAddressBook Property

@Bhead title@<:#220,8486>

@Bhead title@<:#220,8486>LastFTIndexed Property<:X8,49;Index "LastFTIndexed property" #>

<:#200,8486>Read-only. The date that a full text index was last updated.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">dateV<+!><-"> = <-!><+">notesDatabase<-"><+!>.LastFTIndexed<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>Returns zero if the database does not have a full-text index.

<:#200,8486>

@Bhead title@<:#220,8486>LastModified Property<:X8,49;Index "LastModified property" # "in NotesDatabase">

<:#200,8486>Read-only. The date that a database was last modified.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">dateV<+!><-"> = <-!><+">notesDatabase<-"><+!>.LastModified<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Managers Property<:X8,49;Index "Managers property" #>

<:#200,8486>Read-only. People, groups, and servers that have Manager access to a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of strings

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">stringArray<+!><-"> = <-!><+">notesDatabase<-"><+!>.Managers<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>Each element in the array is the name of a person, server, or group who has Manager access to the database.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_MANAGERS_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: Managers Property

<:#400,8486>1. This example uses the Managers property to display the name of every manager in the current database. For example, it might display "Helen Anda," "LocalDomainServers", and "Sales."

@Mono@<:#1200,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>Forall m In db.Managers<**>  Messagebox( m )<**>End Forall

<:#400,8486>2. This script prompts a user for a suggestion and then mails the suggestion to the current database's managers.

@Mono@<:#1800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim doc As NotesDocument<**>Set db = session.CurrentDatabase<**>Set doc = New NotesDocument( db )<**>doc.Form = "Memo"<**>doc.Subject = "Suggestion for "+ db.Title<**>doc.Body = Inputbox$( "Pleas
e enter your suggestion: ", db.Title )<**>Call doc.SendTo( db.Managers, False )

<:#600,8486>2. Suppose an application consists of two databases that work together. This script makes sure that anyone who has manager access to the first database also has manager access to the second. (The script must have manager access to 
<+">both<-"> databases in order for the script to run!).

@Mono@<:#1600,8486>Sub CLICK(SOURCE As BUTTON)<**>  Dim db1 As New NotesDatabase( "Key_West", "cserv\datadict.nsf" )<**>  Dim db2 As New NotesDatabase( "Key_West", "cserv\calltrak.nsf" )<**>  mgrList = db1.Managers<**>  Forall mgr In mgrList<**>    Call db2.GrantAccess( mgr, 
ACLLEVEL_MANAGER )<**>  End Forall<**>End Sub

@Bhead title@<:#220,8486>Parent Property<:X8,50;Index "Parent property" # "in NotesDatabase">

<:#200,8486>Read-only. The Notes session that contains a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesSession 

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>SET <+"><-!>notesSession <-"><+!>= <-!><+">notesDatabase<-"><+!>.Parent<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486>{bmc 1details.bmp}See examples

@Crossref@<:#200,8486><+)>NotesSession Class<-)><+*>H_NOTESSESSION_CLASS<-*>

@Chead title@<:#200,8486>Examples: Parent Property

<:#400,8486>1. This example uses the Parent property to get the current Notes session. It then displays the name of the platform on which the current session is running; for example, "Windows/32."

@Mono@<:#800,8486>Dim db As New NotesDatabase( "Rio_Server", "cbanner.nsf" )<**>Dim session As NotesSession<**>Set session = db.Parent<**>Messagebox( session.Platform )

@Bhead title@<:#220,8486>ReplicaID Property<:X8,51;Index "ReplicaID property" #>

<:#400,8486>Read-only. A 16-character combination of letters and numbers that represents the replica ID of a Notes database. Any databases with the same replica ID are replicas of one another.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">id$<+!><-"> = <-!><+">notesDatabase<-"><+!>.ReplicaID<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_REPLICAID_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: ReplicaID Property

<:#400,8486>1. This example uses the ReplicaID property to display the replica ID of the current database. For example, it might display "852561C1004D958F".

@Mono@<:#800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>Messagebox( db.ReplicaID )

@Bhead title@<:#220,8486>Server Property<:X8,51;Index "Server property" #>

<:#200,8486>Read-only. The name of the server where a database resides.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">serverName$<+!><-"> = <-!><+">notesDatabase<+!><-">.Server<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>If the database is local, this property returns a null string ("").

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_SERVER_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: Server Property

<:#200,8486>1. This example uses the Server property to display a message about the current database.

@Mono@<:#1600,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>If ( db.Server = "" ) Then<**>  Messagebox( "This database is local." )<**>Else<**>  Messagebox( "This database is on a server." )<**>End If

@Bhead title@<:#220,8486>Size Property<:X8,52;Index "Size property" #>

<:#200,8486>Read-only. The size of a database, in bytes.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Double

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">size#<+!><-"> = <-!><+">notesDatabase<+!><-">.Size<-!>

@Chead@<:#200,8486><+!>Usage

<:#200,8486>You can access this property on a database that has not yet been opened.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_SIZE_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: Size Property

<:#200,8486>1. This example uses the Size property to get the size of the current database.

@Mono@<:#1000,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>Dim size As Double<**>size = db.Size

@Bhead title@<:#220,8486>TemplateName Property<:X8,52;Index "TemplateName property" #>

<:#400,8486>Read-only. The template name of a database, if the database is a template. If the database is not a template, returns an empty string ("").

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486><+!>Syntax

<:#200,8486>To get: <+">name$<+!><-"> = <-!><+">notesDatabase<-"><+!>.TemplateName<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_TEMPLATENAME_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: TemplateName Property

<:#400,8486>1. This example uses the TemplateName Property to get the template name of discuss.ntf. The method returns "StdNotesDiscussion."

@Mono@<:#600,8486>Dim db As New NotesDatabase( "", "discuss.ntf" )<**>Dim template As String<**>template = db.TemplateName

<:#400,8486>2. Given a user name, server, and file name, this sub creates a new mail file for the user from the mail template. It uses the TemplateName property to find the StdNotesMail template.

@Mono@<:#2800,8486>Sub createMailFile( user As String, server As String, file As String )<**>  Dim templateDb As NotesDatabase<**>  Dim mailDb As NotesDatabase<**>  Dim directory As New NotesDbDirectory( server )<**>  Set templateDb = directory.GetFirstDatabase( TEMPLATE )<**>
  While Not ( templateDb.TemplateName = "StdNotesMail" )<**>    Set templateDb = directory.GetNextDatabase<**>  Wend<**>  Call templateDb.Open( "", "" )<**>  Set mailDb = templateDb.CreateFromTemplate( server, "mail\"+file, True )<**>  mailDb.Title = user +
 " Mail"<**>  Call mailDb.GrantAccess( user, ACLLEVEL_EDITOR )<**>  Call mailDb.GrantAccess( server, ACLLEVEL_MANAGER )<**>End Sub

@Bhead title@<:#220,8486>Title Property<:X8,53;Index "Title property" # "in NotesDatabase">

<:#200,8486>Read-Write. The title of a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">title$<+!><-"> = <-!><+">notesDatabase<-"><+!>.Title<-!>

<:#200,8486>To set: <+">notesDatabase<+!><-">.Title = <-!><+">title$<-">

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_TITLE_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: Title Property

<:#200,8486>1. This example uses the Title property to display the name of the current database.

@Mono@<:#800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>Messagebox( db.Title )

<:#200,8486>2. This script changes the title of the current database to "Marketing Discussion".

@Mono@<:#800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>db.Title = "Marketing Discussion"

@Bhead title@<:#220,8486>UnprocessedDocuments Property<:X8,54;Index "UnprocessedDocuments property" #>

<:#200,8486>Read-only. All the documents in a database that have not yet been processed by the current agent.

<:#400,8486>You can access this property only from within an agent script. The NotesDatabase object must represent the database that the agent resides in.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>Set<-!><+!> <+"><-!>notesDocumentCollection <-"><+!> = 
<+"><-!>notesDatabase<+!><-">.UnprocessedDocuments<-!>

@Chead@<:#200,8486>Usage

<:#800,8486>When an agent runs a script, the script itself must select the documents to act upon. The UnprocessedDocuments property lets an agent script select a collection of documents that the agent hasn't processed yet. This is similar to the behavior of canned agen
ts that act on "All new and modified documents since last run." 

<:#200,8486>Beware of the following conditions:

@Bullet@<:#400,8486>If a script that is not an agent script attempts to access this property, it returns an empty NotesDocumentCollection.

@Bullet@<:#400,8486>If an agent script attempts to access this property on a database other than the agent's current database, Notes raises an error.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDocumentCollection Class

@Crossref@<:#200,8486>CurrentDatabase Property

@Crossref@<:#200,8486>UnprocessedFTSearch Method

@Crossref@<:#200,8486>UnprocessedSearch Method

@Crossref@<:#200,8486>AllDocuments property

@Bhead title@<:#220,8486>Views Property<:X8,54;Index "Views property" #>

<:#200,8486>Read-only. All the public views and folders in a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of NotesViews

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">notesViewArray<+!><-"> = <-!><+">notesDatabase<-"><+!>.Views<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>Each element of the array is a NotesView object representing a public view or folder in the database. If the database is local, private folders are also included.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_VIEWS_PROPERTY<-*>

@Crossref@<:#200,8486><+)>NotesView Class<-)><+*>H_NOTESVIEW_CLASS<-*>

@Chead title@<:#200,8486>Examples: Views Property

<:#200,8486>1. This example uses the Views property to display the names of all the views and folders in a database.

@Mono@<:#1000,8486>Dim viewArray As Variant<**>viewArray = db.Views<**>Forall v In viewArray<**>  Messagebox( Cstr( v.Name ) )<**>End Forall

<:#200,8486>2. This script uses the Views property to find the default view of the current database.

@Mono@<:#2000,8486><:f180,,0,0,0>Dim session As New NotesSession<**><:f><:f180,,0,0,0>Dim db As NotesDatabase<**><:f><:f180,,0,0,0>Dim view As NotesView<**><:f><:f180,,0,0,0>Set db = session.CurrentDatabase<**><:f><:f180,,0,0,0>temp = db.Views<**><:f><:f180,,0,0,0>Forall v In
 temp<**><:f><:f180,,0,0,0>  If v.IsDefaultView Then<**><:f><:f180,,0,0,0>    Set view = v<**><:f><:f180,,0,0,0>  End If<**><:f><:f180,,0,0,0>End Forall<:f>

@Bhead title@<:#220,8486>Close Method<:X8,55;Index "Close method" # "in NotesDatabase">

<:#200,8486>Closes a database. The NotesDatabase is no longer available after you call this method. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDatabase<-"><+!>.Close<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>Any objects contained in the NotesDatabase (such as NotesDocuments) are unavailable after you call this method.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>Open method<-)>

@Crossref@<:#200,8486>

@Bhead title@<:#220,8486>Compact Method<:X8,55;Index "Compact method" #>

<:#200,8486>Compacts a local database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+">sizeDelta&<+!><-"> = <-!><+">notesDatabase<+!><-">.Compact<-!>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">sizeDelta&<-">

@1st lev para@<:#400,8486>Long. The difference in bytes between the size of the database before compacting, and its size database after compacting.

@Chead@<:#200,8486>Usage

<:#200,8486>This method raises an error if the database is not local.

<:#200,8486><+)>

@Bhead title@<:#220,8486>Create Method<:X8,56;Index "Create method" #>

<:#400,8486>Creates a new database on disk, using the server and file name that you specify. Because the new database is not based on a template, it's blank and does not contain any forms or views.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesDatabase<-"><+!>.Create(<-!><+"> server$<-"><+!>, 
<+"><-!>dbfile$<-"><+!>, <-!><+">openFlag%<+!><-"> )<-!><-">

@Chead@<:#200,8486>Parameters

<:#200,8486><+">server$<-">

@1st lev para@<:#400,8486>String. Name of the server where the database resides. Use an empty string ("") to create a local database.

<:#200,8486><+">dbfile$<-">

@1st lev para@<:#200,8486>String. File name of the database.

<:#200,8486><+">openFlag<-">%

@1st lev para@<:#400,8486>Boolean. Indicates if you want to open the database. Specify TRUE if you want to open the database and FALSE if you do not.

@Chead@<:#200,8486>Usage

<:#400,8486>A database must be open in order for a script to access its properties and methods. If you choose not to open the database when it's created, you can open it later with the Open or OpenIfModified method.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_CREATE_METHOD<-*>

@Crossref@<:#200,8486>CreateFromTemplate Method

@Crossref@<:#200,8486>Open Method

@Crossref@<:#200,8486>OpenIfModified Method

@Chead title@<:#200,8486>Examples: Create Method

<:#200,8486>1. This code creates a new database on the server Zagreb and sets its title to Inventory Tracking.

@Mono@<:#600,8486>Dim db As New NotesDatabase( "", "" )<**>Call db.Create( "Zagreb", "inventry.nsf", True )<**>db.Title = "Inventory Tracking"

@Bhead title@<:#220,8486>CreateCopy Method<:X8,56;Index "CreateCopy method" #>

<:#600,8486>Creates an empty copy of the current database. The copy contains the design elements of the current database, an identical Access Control List, and an identical title. The copy does not contain any documents and is not a replica.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <+"><-!>notesDatabase <-"><+!>= <+"><-!>notesDatabase<-"><+!>.CreateCopy(<-!><+"> newServer$<-"><+!>,<-!><+"> newDbFile$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">newServer$<-">

@1st lev para@<:#400,8486>String. The name of the server where the new database will reside. Use an empty string ("") to create a local copy. If the script is running on a server, 
<+">newServer$<-"> must be the name of the current server.

<:#200,8486><+">newDbFile$<-">

@1st lev para@<:#200,8486>String. The file name of the new copy.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDatabase<-">

@1st lev para@<:#200,8486>NotesDatabase. The new copy.

@Chead@<:#200,8486>Usage

<:#400,8486>If a database with the specified file name already exists on the server, an error is returned.<+"> 
<+!>YY"File already exists"<-"><-!>

<:#600,8486>Scripts running on a server can't create or access databases on other servers -- that's why the 
<+">newServer$<-"> parameter must be the name of the server the script's running on. Scripts running on a workstation, however, can access several different servers in a single script.

<:#600,8486>The ACL of the original database gets copied to the new database, but you may want to modify the copy's ACL. For example, you may want manager access to the copy for yourself even if you're not a manager of the original. Use the methods GrantAccess and Remo
veAccess to modify the copy's ACL.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_CREATECOPY_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument.CopyToDatabase method

@Chead title@<:#200,8486>Examples: CreateCopy Method

<:#200,8486>1. The following script uses CreateCopy to make an empty copy of the database purchase.nsf.

@Mono@<:#600,8486>Dim db, archiveDb As NotesDatabase<**>Set db = New NotesDatabase( "Athens","purchase.nsf" )<**>Set archiveDb = db.CreateCopy( "Athens","archive\purchase.nsf" )

<:#800,8486>2. This code archives all documents in the current database that have been marked as "old" by another agent. It calls CreateCopy only if the archive database does not exist yet. This means we can continue to use the script before or after the archive databa
se has been created. <+!><+">YY Would like to modify so that cutoffDate matches any date. Should archiveServer$ = db.Server?<-!><-">

@Mono@<:#4200,8486>Sub INITIALIZE<**>  Dim session As New NotesSession<**>  Dim db As NotesDatabase<**>  Dim archiveDb As NotesDatabase<**>  Dim collection As NotesDocumentCollection<**>  Dim doc As NotesDocument<**>  Dim dateTime As New NotesDateTime( "1/1/94" )<**>  Set db 
= session.CurrentDatabase<**>  Set archiveDb = New NotesDatabase( "", "" )<**>  archiveServer$ = "Athens"<**>  archiveFile$ = "archive\"+db.FileName<**>  If ( Not ( archiveDb.Open( archiveServer$, archiveFile$ ) ) ) Then<**>    Set archiveDb = db.CreateCopy
( archiveServer$, archiveFile$ )<**>  End If<**>  Set collection = db.Search( "age = ""old"" ",  dateTime, 0 )<**>  For i = 1 To collection.Count<**>    Set doc = collection.GetNthDocument( i )<**>    Call doc.CopyToDatabase( archiveDb )<**>    Call doc.Rem
ove( False )<**>  Next<**>End Sub

@Bhead title@<:#220,8486>CreateFromTemplate Method<:X8,58;Index "CreateFromTemplate method" #>

<:#400,8486>If the current database is a template, creates a new database from the template. The new database has all of the design features of the template and does not contain any documents.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <+"><-!>notesDatabase<-"><+"> <-"><+!>= <+"><-!>notesDatabase<-"><+!>.CreateFromTemplate(<-!><+"> newServer$<-"><+!>,<-!><+"> newDbFile$<-"><+!>, 
<-!><+">inheritFlag%<+!><-"> )<-!>

@Chead@<:#200,8486>Parameters 

<:#200,8486><+">newServer$<-">

@1st lev para@<:#600,8486>String. The name of the server where the new database will reside. Use an empty string ("") to create a local database.  If the script is running on a server, 
<+">newServer$<-"> must be the name of the current server.

<:#200,8486><+">newDbFile$<-">

@1st lev para@<:#200,8486>String. The file name of the new database.

<:#200,8486><+">inheritFlag<-">%

@1st lev para@<:#400,8486>Boolean. Specify TRUE if you want the new database to inherit future design changes from the template; otherwise, specify FALSE. 

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDatabase<-">

@1st lev para@<:#200,8486>The new database, which contains all of the forms, views, fields, and agents of the template.

@Chead@<:#200,8486>Usage

<:#400,8486>If a database with the specified file name already exists on the server, an error is returned.<+!><+">YY "File already exists"<-"><-!>

<:#600,8486>Scripts running on a server can't create or access databases on other servers -- that's why the 
<+">newServer$<-"> must be the name of the server the script's running on. Scripts running locally, however, can access several different servers in a single script.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_CREATEFROMTEMPLATE_METHOD<-*>

@Crossref@<:#200,8486><+)>Create Method<-)><+*>H_CREATE_METHOD<-*>

@Chead title@<:#200,8486>Examples: CreateFromTemplate Method

<:#200,8486>1. This code creates a new database from the discussion template.

@Mono@<:#800,8486>Dim templateDb As New NotesDatabase( "Tokyo", "discuss.ntf" )<**>Dim newDb As NotesDatabase<**>Set newDb = templateDb.CreateFromTemplate( "Tokyo", "campgn.nsf", True )<**>newDb.Title = "Suggestions for Giving Campaign 1996"

@Bhead title@<:#220,8486>CreateReplica Method<:X8,59;Index "CreateReplica method" #>

<:#400,8486>Creates a replica of the current database at a new location. The new replica has an identical Access Control List.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDatabase<-"><+"> <-"><+!>= <+"><-!>notesDatabase<+!><-">.CreateReplica(<-!><+"> newServer$<-"><+!>,<-!><+"> newDbFile$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">newServer$<-">

@1st lev para@<:#400,8486>String. The name of the server where the replica will reside. Use an empty string ("") to create a local replica. If the script is running on a server, 
<+">newServer$<-"> must be the name of the current server.

<:#200,8486><+">newDbFile$<-">

@1st lev para@<:#200,8486>String. The file name of the replica.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDatabase<-"><+"> 

@1st lev para@<:#200,8486>NotesDatabase. The new replica.

@Chead@<:#200,8486>Usage

<:#400,8486>If a database with the specified file name already exists on the server, an error is returned. 
<+!><+">YY <-!><+!>"File already exists"<-"><-!>

<:#600,8486>Scripts running on a server can't create or access databases on other servers -- that's why the 
<+">newServer$<-"> must be the name of the server the script's running on. Scripts running locally, however, can access several different servers in a single script.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_CREATEREPLICA_METHOD<-*>

@Crossref@<:#200,8486><+)>CreateFromTemplate Method<-)><+*>H_CREATEFROMTEMPLATE_METHOD<-*>

@Crossref@<:#200,8486>Replicate method

@Chead title@<:#200,8486>Examples: CreateReplica Method

<:#200,8486>1. The following code creates a local replica of the database sales.nsf from the server Jakarta.

@Mono@<:#600,8486>Dim db, replica As NotesDatabase<**>Set db = New NotesDatabase ( "Jakarta", "sales.nsf" )<**>Set replica = db.CreateReplica( "", "sales.nsf" )

@Mono@<:#200,8486>

@Bhead title@<:#220,8486>FTSearch Method<:X8,60;Index "FTSearch method" # "in NotesDatabase">

<:#200,8486>Conducts a full text search of all the documents in a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocumentCollection <-"><+!>= <+"><-!>notesDatabase<-"><+!>.FTSearch<-!><+!>(<-!><+"> query<-"><+">$<-"><+!>,<-!><+"> maxDocs<-"><+">%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">query<-"><+">$<-">

@1st lev para@<:#200,8486>String. The full text query.

<:#200,8486><+">maxDocs<-"><+">%<-">

@1st lev para@<:#400,8486>Integer. The maximum number of documents you want returned from the query.  Set this parameter to 0 to receive all matching documents.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocumentCollection<-">

@1st lev para@<:#400,8486>NotesDocumentCollection. A collection of documents that match the full-text query, sorted by relevance with highest relevance first.

@Chead@<:#200,8486>Usage

<:#400,8486>If the database is not full-text indexed, this method returns an error. To test for an index, use the IsFTIndexed property. To create an index on a local database, use the UpdateFTIndex method.

<:#400,8486>This method searches all of the documents in a database -- to search only documents found in a particular view, use the FTSearch method in NotesView.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_FTSEARCH_METHOD<-*>

@Crossref@<:#200,8486>NotesDocumentCollection class

@Crossref@<:#200,8486>IsFTIndexed property

@Crossref@<:#200,8486>UpdateFTIndex method

@Crossref@<:#200,8486>NotesDocument.RelevanceScore property

@Chead title@<:#200,8486>Examples: FTSearch Method

<:#400,8486>1.<+!> <-!>This example searches a database for the phrase "printing press". Every document containing the phrase is placed into the collection. The example assumes that the database is already full text indexed.

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Berlin", "invntion.nsf" )<**>Dim collection As NotesDocumentCollection<**>Set collection = db.FTSearch( "printing press", 0 )

<:#400,8486>2. This script checks to make sure that a database has a full text index before searching. It creates a newsletter of the ten most-relevant documents and mails it to Joann Smera. 
<+!><+">YY untested<-"><-!>

@Mono@<:#2800,8486><:f180,,0,0,0>Sub INITIALIZE<**><:f><:f180,,0,0,0>  Dim db As New NotesDatabase( "Berlin<:f><:f180,,0,0,0>", "invntion.nsf" )<**><:f><:f180,,0,0,0>  Dim collection As NotesDocumentCollection<**><:f><:f180,,0,0,0>  Dim newsletter As NotesNewsletter<**><:f><:f180,,0,0,0>
  Dim doc As NotesDocument<**><:f><:f180,,0,0,0>  If db.IsFTIndexed Then<**><:f><:f180,,0,0,0>    Set collection = db.FTSearch( "vaccine", 10 )<**><:f><:f180,,0,0,0>    Set newsletter = New NotesNewsletter( collection )<**><:f><:f180,,0,0,0>    Set doc = ne
wsletter.FormatWithDoclinks( db )<**><:f><:f180,,0,0,0>    doc.Form = "Memo"<**><:f><:f180,,0,0,0>    doc.Subject = "Here's the newsletter you requested."<**><:f><:f180,,0,0,0>    Call doc.SendTo( "Joann Smera", False )<**><:f><:f180,,0,0,0>  End If<**><:f>
<:f180,,0,0,0>End Sub<:f>

<:#200,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>GetDocumentByID Method<:X8,61;Index "GetDocumentByID method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Finds a document in a database, given the document's note ID.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesDatabase<-"><+!>.<-!><+!>GetDocumentByID<-!><+!>(<-!><+"> noteID$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">noteID<-"><+">$<-">

@1st lev para@<:#200,8486>String. The note ID of a document.  You can obtain this from the NoteID property of a document.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-"><+!> <-!>

@1st lev para@<:#200,8486>NotesDocument. The document whose note ID matches <+">noteID$<-">.

@See also hlp@<:I0,0,0,0><:S+-1><:#281,8486>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>NotesDocument.NoteID property

@Crossref@<:#200,8486><+)>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>GetDocumentByUNID Method<:X8,61;Index "GetDocumentByUNID method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Finds a document in a database, given the document's universal ID (UNID).

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesDatabase<-"><+!>.<-!><+!>GetDocumentByUNID<-!><+!>(<-!><+"> unid<-"><+">$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">unid<-"><+">$<-">

@1st lev para@<:#200,8486>String. The universal ID of a document. You can obtain this from the UNID property of a document.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. The document whose universal ID matches <+">unid<-"><+">$.<-">

@See also hlp@<:I0,0,0,0><:S+-1><:#281,8486>

@Crossref@<:#200,8486><+)>NotesDocument Class<-)><+*>H_NOTESDOCUMENT_CLASS<-*>

@Crossref@<:#200,8486><+)>ParentDocumentUNID Property<-)><+*>H_PARENTDOCUMENTUNID_PROPERTY<-*>

<:#200,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>GetView Method<:X8,62;Index "GetView method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Finds a view or folder in a database, given its name or synonym.<-">

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesView <-"><+!> = <+"><-!>notesDatabase<-"><+!>.<-!><+!>GetView<-!><+!>(<-!><+"> viewName<-"><+">$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">viewName<-"><+">$<-">

@1st lev para@<:#400,8486>String. The name of a view or folder in a database. Use either the entire name of the view or folder (including backslashes for cascading views and folders) or the synonym.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">notesView<-">

@1st lev para@<:#200,8486>NotesView. The view or folder whose name or synonym matches <+">viewName<-"><+">$<-">.

@Chead@<:#200,8486>Usage

<:#200,8486>If the database is local, GetView can return NotesView objects representing private folders.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETVIEW_METHOD<-*>

@Crossref@<:#200,8486><+)>NotesView Class<-)><+*>H_NOTESVIEW_CLASS<-*>

@Crossref@<:#200,8486>Views Property

@Chead title@<:#200,8486>Examples: GetView Method

<:#200,8486>1. This script gets the Main View of the current database and prints its title.

@Mono@<:#1200,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim view As NotesView<**>Set db = session.CurrentDatabase<**>Set view = db.GetView( "Main View" )<**>Print view.Name

<:#400,8486>2. This script gets the By Projects\By Author view of the current database, but uses its synonym to access it. 
<+!><+">YY synonym not working in build 125.1<-"><-!>

@Mono@<:#1200,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim view As NotesView<**>Set db = session.CurrentDatabase<**>Set view = db.GetView( "Author" )<**>Print view.Name

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See more examples<-)><+*>H_EXAMPLES_NOTESVIEW_CLASS<-*>

<:#200,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>GrantAccess Method<:X8,63;Index "GrantAccess method" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Modifies a database Access Control List to provide the specified level of access to the a person, group, or server. If the appropriate name is not already in the ACL, it is added.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDatabase<-"><+!>.<-!><+!>GrantAccess<-!><+!>(<-!><+"> name$<+!><-">, 
<-!><+">level%<+!><-"> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">name<-"><+">$<-">

@1st lev para@<:#200,8486>String. The name of the person, group, or server whose access level you want to provide or change.

<:#200,8486><+">level%<-">

@1st lev para@<:#400,8486>Integer constant. The level of access you're granting. This parameter can be one of the following constants:

@Chead@<:t95>Usage

<:I0,0,0,0><:S+-1><:#432,8486>If the <+">name$ <-">already exists in the ACL, this method updates it with the access 
<+">level%<-"><+">. <-">Otherwise, the name is added to the ACL with 
<+">level%.<-">

<+@><:I0,0,0,0><:S+-1><:#422,8486>Although this method is called GrantAccess, you can, of course, use it to deny access to an individual by assigning ACLLEVEL_NOACCESS.

<+@><:I0,0,0,0><:S+-1><:#211,8486>This method sets ACL roles to their default values.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GRANTACCESS_METHOD<-*>

@Crossref@<:#200,8486>QueryAccess method

@Crossref@<:#200,8486>RevokeAccess method

@Crossref@<:#200,8486>ACL property

@Chead title@<+@><:I0,0,0,0><:S+-1><:#221,8486>Examples: GrantAccess Method

<+@><:I0,0,0,0><:S+-1><:#211,8486>1. This code gives Author access to the profits database for everyone in the group Sales Supervisors.

@Mono@<:#400,8486>Dim db As New NotesDatabase( "Sydney", "profits.nsf" )<**>Call db.GrantAccess( "Sales Supervisors", ACLLEVEL_AUTHOR)

<:I0,0,0,0><:S+-1><:#422,8486>2. This code provides designer access for all servers in the local domain and reader access for all servers from other domains.

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Sydney", "profits.nsf" )<**>Call db.GrantAccess( "LocalDomainServers", ACLLEVEL_DESIGNER )<**>Call db.GrantAccess( "OtherDomainServers", ACLLEVEL_READER )

<:I0,0,0,0><:S+-1><:#633,8486>3. This code prevents Will Kates from accessing the database at all. If the default for the database is No Access, it simply revokes Will's access by making him a member of the default group. Otherwise (if the default is Reader, for example), it specificall
y provides No Access to Will.

@Mono@<:#1200,8486>Dim db As New NotesDatabase( "Sydney", "profits.nsf" )<**>If ( db.QueryAccess( "-Default-") = ACLLEVEL_NOACCESS ) Then<**>  Call db.RevokeAccess( "Will Kates" )<**>Else<**>  Call db.GrantAccess( "Will Kates", ACLLEVEL_NOACCESS )<**>End If

@Bhead title@<:#220,8486>Open Method<:X8,64;Index "Open method" #>

<:#200,8486>Opens the database. A database must be open in order for a script to access its properties and methods.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486><+!>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486><+">flag%<+!><-"> = <-!><+">notesDatabase<-"><+!>.Open( <-!><+">server$<-"><+!>,<-!> 
<+">dbfile$<-"><+!> )<-!><-!>

@Chead@<:#200,8486><+!>Parameters<-!>

<:#200,8486><+">server$<-">

@1st lev para@<:#400,8486>String. The name of the server on which the database resides. Use an empty string ("") to indicate a local database, or for a NotesDatabase that's already assigned to a database.

<:#200,8486><+">dbfile$<-">

@1st lev para@<:#400,8486>String. The file name of the database to open. Use an empty string for a NotesDatabase that's already assigned to a database.

@Chead@Return Value<:t96>

@Chead@<:#200,8486>Usage

<:#200,8486>There are two ways to use the Open method:

@Bullet@<:#200,8486>With a NotesDatabase that's already been assigned to an existing database.

@Bullet@<:#200,8486>With a NotesDatabase that's been created, but not yet assigned to an existing database.

<:#400,8486>When you call Open with an object that's already been assigned to an existing database, both parameters must be empty strings:

@Indnt mono@<:#200,8486>db.Open( "", "" )

<:#200,8486>The script returns an error if you try to reassign its server or file name using Open.

<:#600,8486>When you call Open with an empty NotesDatabase object, you must specify a server and a file name. In this case, the 
<+">server$<-"> parameter can be an empty string (to indicate a local database), but the file name cannot be empty:

@Chead@<:#200,8486>Access Level to a Database

<:#400,8486>A script needs at least Reader access to a database in order to call Open. An error is returned if the script does not have access.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_OPEN_METHOD<-*>

@Chead title@<:#200,8486>Examples: Open Method

<:#400,8486>1.  This script opens a NotesDatabase that's already been assigned to the first database on the server Taipei.

@Mono@<:#800,8486>Dim directory As New NotesDbDirectory( "Taipei" )<**>Dim db As NotesDatabase<**>Set db = directory.GetFirstDatabase( DATABASE )<**>Call db.Open( "", "" )

<:#200,8486>2. This script opens a database on the server HongKong.

@Mono@<:#400,8486>Dim db As New NotesDatabase( "", "" )<**>Call db.Open( "HongKong", "sales.nsf" )

<:#800,8486>3. This script uses the Open method to test for the existence of a specific database. Suppose you have a script that archives documents from one database to an archive database. If the archive database doesn't exist, the script should create it; otherwise, 
it should simply open it: <+!><+">YY same example is in doc.CopyToDatabase<-"><-!>

@Mono@<:#1400,8486>Dim archiveDb As New NotesDatabase( "", "" )<**>Dim originalDb As New NotesDatabase( originalServer$, originalFile$ )<**>If ( Not ( archiveDb.Open( archiveServer$, archiveFile$ ) ) ) Then<**>  Set archiveDb = originalDb.CreateArchiveDb( archiveServer$, arch
iveFile$ )<**>  Call archiveDb.GrantAccess( "Aisha Jones", ACL_MANAGER )<**>End If<**>'...now begin archiving documents

<:#200,8486>

@Bhead title@<:#220,8486>OpenIfModified Method<:X8,65;Index "OpenIfModified method" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Given a date, opens the specified database if it has been modified since that date. A database must be open in order for a script to access its properties and methods.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>Syntax

<+@><:#200,8486><+">flag%<+!><-"> = <+"><-!>notesDatabase<-"><+!>.OpenIfModified(<-!><+"> server$<-"><+!>,<-!> 
<+">dbfile$<-"><+!>,<-!> <+">notesDateTime <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">server$

@1st lev para@<:#200,8486>String. The name of the server on which the database resides.

<:#200,8486><+">dbfile$

@1st lev para@<:#200,8486>String. The file name of the database.

<:#200,8486><+">notesDateTime<-">

@1st lev para@<:#400,8486>NotesDateTime. A cutoff date. If the database has been modified since this date, it is opened.  If it hasn't been modified since this date, it is not opened. 

@Chead@<:#200,8486>Return Value

@See also hlp@<:I0,0,0,0><:S+-1><:t104>

@See also hlp@<:#270,8486>

@Crossref@<:S+-1><:#211,8486><+)>Open Method<-)>

@Crossref@<:S+-1><:#211,8486><+)>NotesDateTime <-)><+)>Class<-)>

@Crossref@<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>OpenMail Method<:X8,66;Index "OpenMail method" #>

<:I0,0,0,0><:S+-1><:#422,8486>Assigns a database to the user's default mail database and opens it. The default mail database is found by looking up the user in the default Name & Address Book.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Syntax

<:I0,0,0,0><:S+-1><:#221,8486><+!>CALL <+"><-!>notesDatabase<-"><+!>.OpenMail

@Chead@<:I0,0,0,0><:S+-1><:#221,8486><+!>Usage

<:#200,8486>If you use OpenMail in a script running on a server that's not your mail server, it returns an error.

<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>QueryAccess Method<:X8,66;Index "QueryAccess method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Returns a person's or group's current access level in a database.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+">level%<+!><-"> = <+"><-!>notesDatabase<-"><+!>.<-!><+!>QueryAccess<-!><+!>(<-!><+"> name$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">name<-"><+">$<-">

@1st lev para@<:#200,8486>String. The name of the person or group.

@Chead@<:#200,8486>Return Values

@Table Text@<:#200,8486><+">level%<-">

@1st lev para@Integer constant. Indicates the current access level. May be one of the following:<+"><:t97>

@Chead@<:#200,8486>Usage

<+@><:I0,0,0,0><:S+-1><:#422,8486>If the name you specify is not listed explicitly in the ACL, QueryAccess does the following: 
<+!><+">YY build 125.1 doesn't work this way.<-!><-"><-">

@Bullet@<:#400,8486>If the name is a member of a group defined in the Name & Address Book and that group name is listed in the ACL, QueryAccess returns the access level of the group name.

@Bullet@<:#400,8486>If the name is a member of several groups listed in the ACL, QueryAccess returns the highest access level granted to any of the groups.

@Bullet@<:#200,8486>If the name is not a member of any groups, QueryAccess returns the default access level.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>GrantAccess method<-)>

@Crossref@<:S+-1><:#211,8486><+)>RevokeAcces method<-)>

@Crossref@<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:#220,8486>Remove Method<:X8,67;Index "Remove method" # "in NotesDatabase">

<:#200,8486>Deletes a database from disk.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDatabase<-"><+!>.Remove<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Replicate Method<:X8,67;Index "Replicate method" #>

<:#200,8486>Replicates a database with its replica(s) on a given server.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+">flag%<+!><-"> = <-!><+">notesDatabase<+!><-">.Replicate( <+"><-!>serverName$ 
<+!><-">)<-!><-">

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">serverName$<+!><-">

@1st lev para@<:#400,8486>String. The name of the server with which you want to replicate.  Any replicas of the current database that exist on 
<+">serverName$ <-">will replicate.

@Chead@<:#200,8486>Return Value

<:t105>

@Chead@<:#200,8486>Usage

<:#200,8486>If the server does not contain a replica of the database, an error is raised.

<:#200,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>RevokeAccess Method<:X8,68;Index "RevokeAccess method" #>

<:I0,0,0,0><:#400,8486>Removes the given name from a database Access Control List. This resets the access level for that name to the default for the database.

@Chead@<:I0,0,0,0><:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDatabase<-"><+!>.<-!><+!>RevokeAccess<-!><+!>(<-!><+"> name$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">name<-"><+">$<-">

@1st lev para@<:#200,8486>String. The name of the individual or group whose access you want to revoke.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>GrantAccess method<-)>

@Crossref@<:#200,8486><+)>QueryAccess method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>Search Method<:X8,68;Index "Search method" #>

<+@><:#200,8486>Given selection criteria for a document, returns all documents in a database that meet the criteria.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocumentCollection <-"><+!>= <+"><-!>notesDatabase<-"><+!>.<-!><+!>Search<-!><+!>(<-!><+"> formula<-"><+">$<-"><+!>,<-!><+"> 
<-"><+">notesDateTime<-"><+!>,<-!><+!> <-!><+">maxDocs%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">formula<-"><+">$<-">

@1st lev para@<:#200,8486>String. A Notes @function formula that defines the selection criteria.

<:#200,8486><+">notesDateTime<-">

@1st lev para@<:#400,8486>NotesDateTime. A cutoff date. The method searches only documents created or modified since the cutoff date.

<:#200,8486><+">maxDocs<-">%

@1st lev para@<:#400,8486>Integer. The maximum number of documents you want returned. Set to 0 to receive all matching documents.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocumentCollection<-">

@1st lev para@<:#200,8486>A collection of documents that match the selection criteria.

@Chead@<:#200,8486>Usage

<:#400,8486>Use this method to define a collection of documents you want to examine or change. The smaller the collection, the more efficient your script.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_SEARCH_METHOD<-*>

@Crossref@<:#200,8486>NotesDocumentCollection Class

@Crossref@<:#200,8486>NotesDateTime Class

@Chead title@<:#200,8486>Examples: Search Method

<:#400,8486>1. This example uses @IsResponseDoc to select all the response documents in a database that were created or modified after December 1, 1994.

@Mono@<:#800,8486>Dim db As New NotesDatabase( "", "testingn.nsf" )<**>Dim collection As NotesDocumentCollection<**>Dim dateTime As New NotesDateTime( "12/01/94" )<**>Set collection = db.Search( "@IsResponseDoc", dateTime, 0 )

<:I0,0,0,0><:S+-1><:#1055,8486>2. This script reminds project participants of their due date by mailing them the Project document from the database. The ReminderDate field on each document is used to indicate when a reminder should be sent. The Search method gets all Project documents wh
ose ReminderDate field is set to today, mails the document, and updates the ReminderDate field to one week later. You could use this script in an agent that runs once a day.

@Mono@<:I0,0,0,0><:S+-1><:#4224,8486>Sub INITIALIZE<**>  Dim db As New NotesDatabase( "", "reminder.nsf" )<**>  Dim collection As NotesDocumentCollection<**>  Dim doc As NotesDocument<**>  Dim dateTime As New NotesDateTime( "12/01/94" )<**>  Dim nextDateTime As NotesDateTime     
<**>  searchFormula$ = "Form = ""Project"" & ReminderDate = @Today"<**>  Set collection = db.Search( searchFormula$, dateTime, 0 )     
<**>  ' Create a date that's one week from today. <**>  ' That's when the project participants get their next reminder.<**>  Set nextDateTime = New NotesDateTime( "Today" )<**>  Call nextDateTime.AdjustDay( 7 )<**>  ' For each document with reminder date to
day, send document to project<**>  ' participants.<**>  ' Then update the ReminderDate field with a date one week from today.<**>  For i = 1 To collection.Count<**>    Set doc = collection.GetNthDocument( i )<**>    Call doc.Send( True )<**>    Call doc.Rep
laceItemValue( "ReminderDate", nextDateTime.LSLocalTime )<**>    Call doc.Save( True, False )<**>  Next<**>End Sub

<:I0,0,0,0><:S+-1><:#211,8486>3.<+!> <+">YY Search with DATES<-!><-"><+!><+">:<-!><-">

<:#200,8486><+"><+!>          ExpRunDate = doc.getitemvalue("NextExpRun")   <-!><-">

<:#200,8486><+"><+!>          FormattedDate = Format$(exprundate(0), "mm/dd/yy")<-!><-"><-!>

<:#200,8486><+"><+!>          searchform$ = "Form = ""Status Report"" & period = <[>" + FormattedDate + "]"<-!><-">

<:#200,8486><+"><+!>          Set Reports = dbase.search(searchform$, cutoff, 0)<-"><-!>

@Bhead title@<:#220,8486>UnprocessedFTSearch Method<:X8,70;Index "UnprocessedFTSearch method" #><:X8,70;Index "UnprocessedFTSearch method" #>

<:#400,8486>Conducts a full-text search on the database, searching only those documents not yet processed by the current agent.

<:#400,8486>You can access this property only from within an agent script. The NotesDatabase object must represent the database that the agent resides in.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocumentCollection <-"><+!> = <+"><-!>notesDatabase<-"><+!>.UnprocessedFTSearch<-!><+!>(<-!><+"> query<-"><+">$<-"><+!>,<-!><+"> maxDocs<-"><+">%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">query<-"><+">$<-">

@1st lev para@<:#200,8486>String. The full text query.

<:#200,8486><+">maxDocs<-"><+">%<-">

@1st lev para@<:#400,8486>Integer. The maximum number of documents you want returned from the query.  Set this parameter to 0 to receive all matching documents.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">notesDocumentCollection<-">

@1st lev para@<:#400,8486>NotesDocumentCollection. A collection of documents that match the full-text query and have not yet been processed by the agent, sorted by relevance with highest relevance first.

@Chead@<:#200,8486>Usage

<:#800,8486>When an agent runs a script, the script itself must select the documents to act upon. The UnprocessedFTSearch property lets an agent script select a collection of documents that the agent hasn't processed yet, and perform a full-text search on them. This is
 similar to the behavior of canned agents that act on "All new and modified documents since last run." 

<:#200,8486>Beware of the following conditions:

@Bullet@<:#400,8486>If a script that is not an agent script attempts to access this property, it returns an empty NotesDocumentCollection.

@Bullet@<:#400,8486>If an agent script attempts to access this property on a database other than the agent's current database, Notes raises an error.

<:#400,8486>If the database is not full-text indexed, this method returns an error. To test for an index, use the IsFTIndexed property. To create an index on a local database, use the UpdateFTIndex method.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDocumentCollection class

@Crossref@<:#200,8486>IsFTIndexed property

@Crossref@<:#200,8486>UpdateFTIndex method

<:#200,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>UnprocessedSearch Method<:X8,70;Index "UnprocessedSearch method" #><:X8,70;Index "UnprocessedSearch method" #>

<+@><:#200,8486>Given selection criteria for a document, returns all documents in a database that:

@Bullet@<+@><:#200,8486>Meet the criteria.

@Bullet@<+@><:#200,8486>Have not yet been processed by the current agent.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#400,8486><+!>SET <-!><+">notesDocumentCollection<-"><+"> <-"><+!>= <+"><-!>notesDatabase<-"><+!>.<-!><+!>UnprocessedSearch<-!><+!>(<-!><+"> formula<-"><+">$<-"><+!>,<-!><+"> notesDateTime<-"><+!>, 
<-!><+">maxDocs%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">formula<-"><+">$<-">

@1st lev para@<:#200,8486>String. A Notes @function formula that defines the selection criteria.

<:#200,8486><+">notesDateTime<-">

@1st lev para@<:#400,8486>NotesDateTime. Optional. A cutoff date. The method searches only documents created or modified since the cutoff date.

<:#200,8486><+">maxDocs<-">%

@1st lev para@<:#400,8486>Integer. The maximum number of documents you want returned. Set this parameter to 0 to receive all matching documents.

@Chead@<:#200,8486>Return Value

<:S+-1><:#216,8486><+">notesDocumentCollection<-">

@1st lev para@<:S+-1><:#422,8486>NotesDocumentCollection. A collection of documents that match the selection criteria and have not yet been processed by the agent, sorted by relevance with highest relevance first.

@Chead@<:S+-1><:#221,8486>Usage

<:#800,8486>When an agent runs a script, the script itself must select the documents to act upon. The UnprocessedSearch property lets an agent script select a collection of documents that the agent hasn't processed yet, and perform a search on them. This is similar to 
the behavior of canned agents that act on "All new and modified documents since last run." 

<:#200,8486>Beware of the following conditions:

@Bullet@<:#400,8486>If a script that is not an agent script attempts to access this property, it returns an empty NotesDocumentCollection.

@Bullet@<:#400,8486>If an agent script attempts to access this property on a database other than the agent's current database, Notes raises an error.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>Search Method

@Crossref@<:#200,8486>NotesDocumentCollection Class

@Crossref@<:#200,8486>NotesDateTime Class

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>UpdateFTIndex Method<:X8,71;Index "UpdateFTIndex method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Updates the database's full text index.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDatabase<-"><+!>.<-!><+!>UpdateFTIndex<-!><+!>(<-!><+"> create<-"><+">Flag%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">createFlag<-">%

@1st lev para@<:#200,8486>Boolean. TRUE if you want to create an index if none exists. Valid for local databases only.

@Chead@<:#200,8486>Usage

Notes returns an error if you attempt to create a full text index on a database on a server.<:p<* >>

@Ahead@<:#240,8486>NotesDateTime Class<:X8,73;Index "NotesDateTime class" #>

<:#200,8486>Provides a means of translating between LotusScript time-date format and the Notes format.

@Chead@<:#200,8486>Properties

@Chead@<:t93>

@Chead@<:#200,8486>Methods

@Chead@<:t94>

@Chead@<:#200,8486>Creation

<:#200,8486>You create a new NotesDateTime object with a string that represents the date and time you want.

@Chead@<:#200,8486>Syntax

<:#200,8486><+!><-">DIM <-!><+">variableName<+!><-"> As New NotesDateTime(<-!><+"> 
<-"><+">time$<-"><+"> <+!><-">)<-!><-"> or

<:#200,8486><+!>SET <-!><+">notesDateTime<-"><+"> <-"><+!>= <-!><+!>New NotesDateTime<-!><+!>(<+"><-!> 
<-"><+">time$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">time$<-">

@1st lev para@<:#400,8486>String. The new object is initialized to this time. If you use an empty string (""), the time-date will match any time-date value. Notes time expressions such as "today" and "yesterday" are supported.

@Chead@<:#200,8486>Usage

<+@><:I0,0,0,0><:S+-1><:#422,8486>LotusScript dates do not support the full resolution of NotesDateTime objects. You lose hundredths of a second and there is no support for time zones.

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:#220,8486><-#><+!>GMTTime Property<:X8,73;Index "GMTTime property" #>

<+@><:#200,8486>Read-only. A formatted string converted to Greenwich Mean Time (timezone 0).

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesDateTime

@Chead@<+@><:#200,8486>Data Type

<+@><:#200,8486>String

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+">gmt$<+!><-"> = <-!><+">notesDateTime<+!><-">.GMTTime<-!>

<+@><:#200,8486>

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!><:f200,,>LSGMTTime Property<:X8,73;Index "LSGMTTime property" #>

<+@><:I0,0,0,0><:#200,8486>Read-only. A LotusScript date-time value converted to Greenwich Mean Time (timezone 0).

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:#200,8486>NotesDateTime

@Chead@<+@><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>Variant of type DATE

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Syntax

<+@><:I0,0,0,0><:#200,8486>To get: <+">gmtV<+!><-"> = <-!><+">notesDateTime<+!><-">.LSGMTTime<-!>

<+@><:I0,0,0,0><:#200,8486><+!>

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>TimeZone Property<:X8,74;Index "TimeZone property" #>

<:#600,8486>Read-only. A signed integer representing the number of hours which must be added or subtracted to the time to get Greenwich Mean Time (-11 to +11). 
<+!><+">YY usually -11 to +11, but some unusual time zones have different values. 
<-!><-">

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:#200,8486>NotesDateTime

@Chead@<+@><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>Integer

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486>To get: <+">zone%<+!><-"> = <-!><+">notesDateTime<+!><-">.TimeZone<-!>

@Bhead title@<+@><:I0,0,0,0><:#220,8486><-#><+!>

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>LocalTime Property<:X8,74;Index "LocalTime property" #>

<+@><:I0,0,0,0><:#200,8486>Read-Write. The date-time value converted to the local time zone.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:#200,8486>NotesDateTime

@Chead@<+@><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>String

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+">time$<+!><-"> = <-!><+">notesDateTime<+!><-">.LocalTime<-!>

<+@><:#200,8486>To set: <+">notesDateTime<+!><-">.LocalTime = <-!><+">time$<-">

<+@><:#200,8486>

@Bhead title@<+@><:#220,8486>LSLocalTime Property<:X8,74;Index "LSLocalTime property" #>

<+@><:#200,8486>Read-Write. A LotusScript date value converted to the local time zone.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesDateTime

@Chead@<+@><:#200,8486>Data Type

<+@><:#200,8486>Variant of type DATE

@Chead@<+@><:#200,8486>Syntax

<+@><:#200,8486>To get: <+">timeV<+!><-"><-"> = <-!><+">notesDateTime<+!><-">.LSLocalTime<-!>

<+@><:#200,8486>To set: <+">notesDateTime<+!><-">.LSLocalTime = <-!><+">timeV<-">

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>AdjustDay Method<:X8,75;Index "AdjustDay method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Changes an object's date-time by the specified number of days.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:#200,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>AdjustDay<-!><+!>(<-!><+"> n%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#200,8486>Integer. The number of days by which to adjust the time. Can be positive or negative.

@Chead@<:#200,8486>Usage

<:I0,0,0,0><:S+-1><:#211,8486>This method is ignored if you have invoked the SetNow method.

<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>AdjustHour Method<:X8,75;Index "AdjustHour method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Changes an object's date-time by the specified number of hours. 

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>AdjustHour<-!><+!>(<-!><+"> n%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#200,8486>Integer. The number of hours by which to adjust the time. Can be positive or negative.

@Chead@<:#200,8486>Usage

<:I0,0,0,0><:S+-1><:#211,8486>This method is ignored if you have invoked the SetNow method.

<:#200,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>AdjustMinute Method<:X8,75;Index "AdjustMinute method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Changes an object's date-time by the specified number of minutes. 

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>AdjustMinute<-!><+!>(<-!><+"> n%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#200,8486>Integer. The number of minutes by which to adjust the time. Can be positive or negative.

@Chead@<:#200,8486>Usage

<:I0,0,0,0><:S+-1><:#211,8486>This method is ignored if you have invoked the SetNow method.

<:#200,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>AdjustMonth Method<:X8,76;Index "AdjustMonth method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Changes an object's date-time by the specified number of days. 

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>AdjustMonth<-!><+!>(<-!><+"> n%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#200,8486>Integer. The number of months by which to adjust the time. Can be positive or negative.

@Chead@<:#200,8486>Usage

<:I0,0,0,0><:S+-1><:#211,8486>This method is ignored if you have invoked the SetNow method.

<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>AdjustSecond Method<:X8,76;Index "AdjustSecond method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Changes an object's date-time by the specified number of seconds. 

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>AdjustSecond<-!><+!>(<-!><+"> n%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#200,8486>Integer. The number of seconds by which to adjust the time. Can be positive or negative.

@Chead@<:#200,8486>Usage

<:I0,0,0,0><:S+-1><:#211,8486>This method is ignored if you have invoked the SetNow method.

<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>AdjustYear Method<:X8,76;Index "AdjustYear method" #>

<:I0,0,0,0><:S+-1><:#211,8486>Changes an object's date-time by the specified number of years. 

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>AdjustYear<-!><+!>(<-!><+"> n%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#200,8486>Integer. The number of years by which to adjust the time. Can be positive or negative.

@Chead@<:#200,8486>Usage

<:I0,0,0,0><:S+-1><:#211,8486>This method is ignored if you have invoked the SetNow method.

@Crossref@<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>SetAnyDate Method<:X8,77;Index "SetAnyDate method" #>

<:I0,0,0,0><:S+-1><:#422,8486>Initializes an object's date to the wildcard value, meaning it will match any date. The time value is unaffected.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>SetAnyDate<-!>

@Chead@<:#200,8486>Usage

<:I0,0,0,0><:S+-1><:#211,8486>This method is useful when passing the object as an argument to other methods.

<:I0,0,0,0><:S+-1><:#211,8486>A date-time object for which you have invoked this method may not be convertible to string format. 

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>SetAnyTime method<-)>

@Crossref@<:#200,8486><+)>SetNow method<-)>

<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>SetAnyTime Method<:X8,77;Index "SetAnyTime method" #>

<:I0,0,0,0><:S+-1><:#422,8486>Initializes an object's time to the wildcard value, meaning it will match any time. The date value is unaffected.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>SetAnyTime<-!>

@Chead@<:#200,8486>Usage

<:I0,0,0,0><:S+-1><:#211,8486>This method is useful when passing the object as an argument to other methods.

<:I0,0,0,0><:S+-1><:#211,8486>A date-time object for which you have invoked this method may not be convertible to string format. 

@Chead@<:#200,8486>Related Topics

@Crossref@<:#200,8486><+)>SetAnyDate method<-)>

@Crossref@<:#200,8486><+)>SetNow method<-)>

<:#200,8486><+)>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>SetNow Method<:X8,77;Index "SetNow method" #>

<:#200,8486>Sets the value of a time-date to now (today's date and current time). 

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDateTime<-"><+!>.<-!><+!>SetNow<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>Takes a snapshot of the time and date at the moment the method is executed.

@Chead@<:#200,8486>Related Topics

@Crossref@<:#200,8486><+)>SetAnyTime method

@Crossref@<:#200,8486><+)>SetAnyDate method<-)>

<:#200,8486><-#><-#><-#><-#>

@Bhead title@<:I0,0,0,0><:S+-1><:#240,8486>TimeDifference Method<:X8,78;Index "TimeDifference method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>The difference in seconds between one object's date-time and another's.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesDateTime

@Chead@<:#200,8486>Syntax

<:#200,8486><+">difference&<+!><-"> = <+"><-!>notesDateTime<-"><+!>.<-!><+!>TimeDifference<-!><+!>(<-!><+"> 
<-"><+">notesDateTime <-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notes<-"><+">DateTime<-">

@1st lev para@<:#200,8486>Any date-time value.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">difference&<-">

@1st lev para@<:#200,8486>The current date-time minus the specified <+">notesDateTime<-">, in seconds.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_TIMEDIFFERENCE_METHOD<-*>

@Chead title@<:#200,8486>Examples: TimeDifference Method

<:#200,8486><+!><+">YY <-!><+!>this is a duplicate from doc.Authors<-"><-!>

<:#400,8486>1. This code checks to see if a document has been modified within the last seven days. If it hasn't, it mails a reminder memo to the document's authors.

@Mono@<:#2200,8486>Dim cutDate As New NotesDateTime( "Today" )<**>Dim lastChange As New NotesDateTime( "" )<**>Dim reminder As NotesDocument<**>Call cutDate.AdjustDay( -7 )<**>lastChange.LSLocalTime = doc.LastModified<**>If cutDate.TimeDifference( lastChange ) <;> 0  Then<**>
  Set reminder = New NotesDocument( db )<**>  reminder.Form = "Memo"<**>  reminder.Subject = "Reminder: please update your project plan!"<**>  Call reminder.SendTo( doc.Authors, False )<**>End If

<:p<* >>

@Ahead@<:#240,8486>NotesDbDirectory Class<:X8,79;Index "NotesDbDirectory class" #>

<:#200,8486>Represents all the Notes databases on a specific server or local machine.

@Chead@<:#200,8486>Property

<:t90>

@Chead@<:#200,8486>Methods

<:t91>

@Chead@<:#200,8486>Creation

<:#200,8486>You create a new NotesDbDirectory object using the name of the server you want to access.

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Dim <-!><+">variableName <-"> <+!>as New NotesDbDirectory( <-!><+">serverName$<-"> 
<+!>)<-!> or

<:#200,8486><+!>Set <+"><-!>notesDbDirectory<+!><-"> = New NotesDbDirectory( <-!><+">serverName$<+!><-"> )<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">serverName$<-">

@1st lev para@<:#400,8486>String. The name of the server whose database files you want to navigate.  Use an empty string ("") to indicate the local machine.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESDBDIRECTORY_CLASS<-*>

@Crossref@<:#200,8486>NotesDatabase class

@Chead title@<:#200,8486>Examples: NotesDbDirectory Class

<:#400,8486><++>1. <-+>This code declares a NotesDbDirectory object and initializes it by assigning it the directory of the local machine.

@Mono@<:#200,8486><++>Dim <-+>local As New NotesDbDirectory( "" )

<:#400,8486>2. This code declares a NotesDbDirectory object and initializes it by assigning it the directory of server "Lima."

@Mono@<:#200,8486><++>Dim <-+>srv As New NotesDbDirectory( "Lima" )

@Bhead title@<:#220,8486>Name Property<:X8,79;Index "Name property" # "in NotesDbDirectory">

<:#400,8486>Read-only. The name of the server whose database directory you are searching. This property is set when you create a database directory using New.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDbDirectory

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">machineName$ = notesDbDirectory<+!><-">.Name<-!>

<:#200,8486>

@Bhead title@<:#220,8486>GetFirstDatabase Method<:X8,80;Index "GetFirstDatabase method" #>

<:#200,8486>Returns the first database on a server (or local machine), using the file type you specify.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDbDirectory

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <+"><-!>notesDatabase <-"><+!>= <+"><-!>notesDbDirectory<+!><-">.GetFirstDatabase( 
<-!><+"> fileType% <+!><-">)<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">fileType%<-">

@1st lev para@<:#400,8486>Integer constant.  Indicates the kind of database file you want to retrieve from the server.  May be one of the following:

@1st lev para@<:t92>

@Chead@<+@><:#200,8486>Return Value

<:#200,8486><+">notesDatabase<-">

@1st lev para@<:#200,8486>The first database file, of the specified <+">fileType%, <-"> located on the server.

@Chead@<:#200,8486>Usage

<:#600,8486>Each time you call this method, the database directory is reset and a new search is conducted. If you've been searching for template files, for example, a new call to GetFirstDatabase with the parameter DATABASE will start searching the directory from the b
eginning, this time for database files.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETFIRSTDATABASE_METHOD<-*>

@Crossref@<:#200,8486>GetNextDatabase method

@Crossref@<:#200,8486>NotesDatabase class

@Chead title@<:#200,8486>Examples: GetFirstDatabase Method

<:#200,8486>1. The first Notes database on the server Shanghai is assigned to the variable 
<:f,QCourier New,>db<:f>.

@Mono@<:#600,8486>Dim srv As New NotesDbDirectory( "Shanghai" )<**>Dim db As NotesDatabase<**>Set db = srv.FirstDatabase( DATABASE )

@Bhead title@<:#220,8486>GetNextDatabase Method<:X8,80;Index "GetNextDatabase method" #>

<:#200,8486>Returns the next database in a directory, using the file type specified in the GetFirstDatabase method.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDbDirectory

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDatabase <-"><+!>= <+"><-!>notesDbDirectory<+!><-">.GetNextDatabase<-!>

@Chead@<:#200,8486><+!>Return Value

<:#200,8486><+">notesDatabase<-">

@1st lev para@<:#200,8486>The next database located on the server. Once you have exhausted the directory, returns Nothing.

@Chead@<:#200,8486>Usage

<:#400,8486>Unlike other methods that get the next object from a class (such as GetNextDocument in NotesView), GetNextDatabase does not require a parameter.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETNEXTDATABASE_METHOD<-*>

@Crossref@<:#200,8486>NotesDatabase class

@Crossref@<:#200,8486>GetFirstDatabase method

@Chead title@<:#200,8486>Examples: GetNextDatabase Method

<:#200,8486>1. This code iterates through every database on the server Shanghai.

@Mono@<:#200,8486><++>Dim <-+>srv As New NotesDbDirectory( "Shanghai" )

@Mono@<:#200,8486><++>Dim <-+>db As NotesDatabase

@Mono@<:#200,8486><++>Set <-+>db = srv.FirstDatabase( DATABASE )

@Mono@<:#200,8486><++>While Not<-+>(db <++>Is <-+>Nothing)

@Mono@<:#200,8486>	'...code to execute on every database...

@Mono@<:#200,8486>	Set db = srv.NextDatabase

@Mono@<:#200,8486><++>Wend<-+>

<+)><:p<* >>

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>

@Ahead@<:#240,8486>NotesDocument Class<:X8,82;Index "NotesDocument class" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Represents a document in a database. 

@Chead@<:#200,8486>Containment

<:#200,8486>Contained by: NotesDatabase, NotesDocumentCollection, NotesView

<:#200,8486>Contains: NotesEmbeddedObject, NotesItem

@Chead@<:#200,8486>Properties

@Chead@<:t86>Methods

@Chead@<:t85>

@Chead@<:#200,8486>Creation

<:#600,8486>To create a new NotesDocument object, use New. Given a database, New creates a document in the database and returns a NotesDocument object that represents the document. You must call Save if you want the new document to be saved to disk.

@Chead@<:#200,8486>Syntax

<:#200,8486><-"><+!>Dim<-!> <+">variableName<-"><+!><+"> <-">As New NotesDocument(<-!><+"> notesDatabase<+!><-"> )<-!> or<-"><-">

<:#200,8486><+!>Set <-!><+">notesDocument <-"><+!>= <-!><+!>New NotesDocument(<-!><+"> notesDatabase 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDatabase<-">

@1st lev para@<:#200,8486>The database in which to create a new document.

@Chead@<:#200,8486>Access

<:#200,8486>There are several ways to access an existing document:

@Bullet@<:#200,8486>To get a document based on its position in a view, use a NotesView.

@Bullet@<:#200,8486>To get a document based on its position in a response hierarchy, use a NotesView.  

@Bullet@<:#400,8486>To get a document based on its NoteID or UNID, use GetDocumentByID or GetDocumentByUNID in NotesDatabase.

@Bullet@<:#200,8486>To get all the documents in a database, use AllDocuments in NotesDatabase.

@Bullet@<:#400,8486>To get all the documents that match a full text search query of a view or a database, use FTSearch in NotesView or NotesDatabase.

@Bullet@<:#400,8486>To get all the documents in a database that meet search criteria, where the criteria are defined using the Notes formula language, use Search in NotesDatabase.

@Bullet@<:#400,8486>To get documents in a database that have not been processed by the current agent, use UnprocessedDocuments, UnprocessedFTSearch, or UnprocessedSearch in NotesDatabase.

<:#200,8486>Once you have a view, you can navigate to a specific document using methods in the NotesView class.

<:#400,8486>Once you have a collection of documents, you can navigate to a specific document using methods in the NotesDocumentCollection class.

@Chead@<:#200,8486>Saving Changes

<:#200,8486>After you create, modify, or delete a document, you must save the changes by calling the Save method. 

@Caution@<:#400,8486><+">If you don't call Save before the script finishes, none of your changes to a NotesDocument are saved to disk. Call Save every time you want to keep your changes!<-">

@Chead@<:#200,8486>Additional Properties

<:#400,8486>In addition to the properties listed, you can also treat an item name as a property of a NotesDocument object. 
<+!><+">YY more<-"><-!>

@Chead@<:#200,8486>Encryption

<:#400,8486>A script attempts to decrypt an encrypted document the first time it accesses one of the NotesDocument properties or methods. If decryption fails, an error is raised.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESDOCUMENT_CLASS<-*>

@Crossref@<:#200,8486>NotesDatabase Class

@Crossref@<:#200,8486>NotesView Class

@Crossref@<:#200,8486>NotesDocumentCollection Class

@Crossref@<:#200,8486>NotesItem Class

@Chead title@<:#200,8486>Examples: NotesDocument Class

<:#400,8486>1. This script creates a new document using the default form in the current database, sets its Subject, and saves it.

@Mono@<:#1400,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim doc As NotesDocument<**>Set db = session.CurrentDatabase<**>Set doc = New NotesDocument ( db )<**>doc.Subject = "New building"<**>Call doc.Save( True, False )

<:#400,8486>2. This script creates a new document using the "Other" form in the current database, sets its Body, and saves it.

@Mono@<:#1600,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim doc As NotesDocument<**>Set db = session.CurrentDatabase<**>Set doc = New NotesDocument ( db )<**>doc.Form = "Other"<**>doc.Body = "Client meeting postponed."<**>Call doc.Save( True, False )

<:#600,8486>3. This script creates and mails (but doesn't save) a new document from the current database. It sets the Form to "Memo" so that its recipient can read it as a mail memo. The document is encrypted for Susanna Coil.

@Mono@<:#1800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>Dim doc As New NotesDocument( db )<**>doc.Form = "Memo"<**>doc.Subject = "Reminder!"<**>doc.EncryptOnSend = True<**>doc.Body = "A document awaits your approval
 in " + db.Title<**>Call doc.SendTo( "Susanna Coil", False )

@Bhead title@<:#220,8486>Authors Property<:X8,84;Index "Authors property" #>

<:#200,8486>Read-only. The name or names of the people who have saved a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of strings

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">author<-"><+">Array<-"><+"> <-"><+">= notesDocument<-"><+!>.Authors<-!>

@Chead@<:#200,8486>Usage

<:#600,8486>This property does not return the names of people who have permission to edit a document (as found in an item of type Author Names). Therefore, the people returned by the Authors property and the people listed in an Author Names item may differ.

<:#400,8486>If the document was created with an anonymous form, this property returns an empty string (""). 
<+!><+">YY I made this up<-!><-"><+!><+">, but it has to handle anonymous forms 
<-!><-"><+!><+">somehow.<-"><-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_AUTHORS_PROPERTY<-*>

@Crossref@<:#200,8486><+)>IsAuthors Property<-)><+*>H_ISAUTHORS_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: Authors Property

<:#200,8486>1. This code prints the name of each author of a document.

@Mono@<:#600,8486>Forall a In doc.Authors<**>  Print a<**>End Forall

<:#600,8486>2. This code checks to see if a document has been modified within the last seven days. If it hasn't, it mails a reminder memo to the document's authors. The script sends the value of doc.Authors directly to the Send method, since it accepts an array of stri
ngs as its first parameter.

@Mono@<:#2800,8486>Dim db As New NotesDatabase( "Brussels", "projects.nsf" )<**>Dim currentDoc As NotesDocument<**>' ... code to assign a document to currentDoc...<**>Dim weekDateTime As New NotesDateTime( "Today" )<**>Dim modifiedDateTime As New NotesDateTime( "" )<**>Dim ne
wDoc As NotesDocument<**>Call weekDateTime.AdjustDay( -7 )' set to one week ago<**>modifiedDateTime.LSLocalTime = currentDoc.LastModified<**>If weekDateTime.TimeDifference( modifiedDateTime ) <;> 0  Then<**>  Set newDoc = New NotesDocument( db )<**>  newDoc
.Form = "Memo"<**>  newDoc.Subject = "Reminder: please update your project plan!"<**>  Call newDoc.SendTo( currentDoc.Authors, False )<**>End If

<:#1000,8486>3. You're adding a new role called TeamLeaders to a database and creating a compose access list so that only TeamLeaders can compose Project documents. You want to make sure that everyone who's been able to create and edit Project documents in the past cont
inues to be able to do so, so you write a script to enable the TeamLeader role for all authors of existing Project documents. 
<+!><+">YY <-!><+!>second sub is duplicate of entry.EnableRole<-"><-!>

@Mono@<:#2800,8486>Sub CLICK(SOURCE As BUTTON)<**>  Dim db As New NotesDatabase( "Brussels", "authors.nsf" )<**>  Dim acl As NotesACL<**>  Dim entry As NotesACLEntry<**>  roleName$ = "TeamLeader"<**>  Dim projects As NotesDocumentCollection<**>  Dim cutTime As New NotesDateTi
me( "12/01/95" )<**>  Set projects = db.Search( "Form = ""Project Plan""", cutTime, 0 )<**>  Set acl = db.ACL<**>  For i = 1 To projects.Count<**>    Set doc = projects.GetNthDocument( i )<**>    Call enablePeople( acl, roleName$, doc.Authors )<**>  Next<**>
End Sub

@Mono@<:#2400,8486>Sub enablePeople( acl As NotesACL, role As String, names As Variant )<**>  Dim person As NotesACLEntry<**>  Forall n In names<**>    Set person = acl.GetEntry( n )<**>    If ( person.Level = ACLLEVEL_NOACCESS ) Then<**>      Set person = New NotesACLEntry( 
acl, n, ACLLEVEL_AUTHOR )<**>      Call acl.Save<**>    End If<**>    Call person.EnableRole( role )<**>  End Forall<**>  Call acl.Save<**>End Sub

@Bhead title@<:#220,8486>ColumnValues Property<:X8,85;Index "ColumnValues property" #>

<:#1000,8486>Read-only. An array of computed values, each of which corresponds to a column in the document's parent view. The first value in the array is the value that appears in the view's first column for the current document, the second value is the one that appears
 in the second column, and so on. The value of each element of the array is the result of the corresponding column's formula and the fields on the current document. Some elements might have no value.

<:#200,8486>If you did not access the document through a view, this property returns null.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of variants

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">valueArray <-">= <+">notesDocument<+!><-">.ColumnValues<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_COLUMNVALUES_PROPERTY<-*>

@Crossref@<:#200,8486>NotesViewColumn Class

@Crossref@<:#200,8486>NotesView Class

@Crossref@<:#200,8486>NotesView.Columns Property

@Chead title@<:#200,8486>Examples: ColumnValues Property

<:#600,8486>1. Suppose we retrieve a document called <:f,QCourier New,>currentDoc<:f,BArial,> 
<:f>from a view that has two columns: the first shows the due date of a project (its column formula is simply the field 
<:f,QCourier New,>DueDate<:f>). The second describes the project (its formula is 
<:f,QCourier New,>"New Project: " + Description<:f,BArial,>).

<:#400,8486><:f,BArial,>On <:f><:f,BArial,>the <:f,QCourier New,>currentDoc<:f,BArial,>, the 
<:f><:f,QCourier New,>DueDate<:f,BArial,> field <:f><:f,BArial,>contains "10/16/95" and the 
<:f><:f,QCourier New,>Description<:f,BArial,> field <:f><:f,BArial,>contains "Ad Campaign for Acme"<:f><:f,BArial,>. Therefore,<:f>

<:#400,8486><:f,QCourier New,>currentDoc.ColumnValues( 0 )<:f,BArial,> equals "10/16/95."<:f><**><:f,QCourier New,>currentDoc.ColumnValues( 1 )<:f><:f,BArial,> 
<:f><:f,BArial,>equals "New Project: Ad Campaign for Acme."<:f><:f,BArial,> 
<:f>

<:#800,8486>2. This example looks up a column of values in a view. Suppose we have set Inventory database and we want to look up all the products in the Products view. The code below finds the view and then visits each document in the view to retrieve its first column 
value (which holds the product name). This is equivalent to performing an @DbColumn.

@Mono@<:#4000,8486>server$ = "Tilburg"<**>dbfile$ = "inventor.nsf"<**>counter% = 1<**>Dim db As New NotesDatabase( server$, dbfile$ )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Dim productList( 1 To 100 ) As Variant<**>Dim currentProduct As Variant<**>Set view = 
db.GetView( "Products" )<**>Set doc = view.GetFirstDocument   <**>While Not ( doc Is Nothing )         
<**>  ' Get the value on the current document that shows up in view's first column<**>  ' Append this value to our productList array<**>  currentProduct = doc.ColumnValues( 0 )<**>  productList( counter% ) = currentProduct<**>  Set doc = view.GetNextDocumen
t( doc )<**>  counter% = counter% + 1<**>Wend   <**>' There are now counter% - 1 items in the productList     

@Bhead title@<:#220,8486>Created Property<:X8,87;Index "Created property" # "in NotesDocument">

<:#200,8486>Read-only. The date a document was created.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">dateV <-"><+">= notesDocument<-"><+!>.Created<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>This property is useful when you're writing a script to archive documents. You can compare the date that a document was created with a cutoff date: if the document was created before the date, you archive it.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_CREATED_PROPERTY<-*>

@Crossref@<:#200,8486>LastModified Property

@Crossref@<:#200,8486>LastAccessed Property

@Chead title@<:#200,8486>Examples: Created Property

<:#400,8486>1. If the last document in the Main View of the current database was created on February 7, 1995 at 10:17:16 AM, this code prints "2/7/95 10:17:16 AM".

@Mono@<:#1600,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Set db = session.CurrentDatabase<**>Set view = db.GetView( "Main View" )<**>Set doc = view.GetLastDocument<**>Print doc.Created

<:#600,8486>2. This code uses the Created property to see if a document was created before January 1, 1996. If so, the document is copied to another database and removed from the current database. 
<+!><+">YY same as in doc.CopyToDatabase.<-"><-!>

@Mono@<:#1200,8486>Dim cutoffDate As Variant<**>cutoffDate = Datenumber( 1996, 1, 1 )<**>If doc.Created << cutoffDate Then<**>  Call doc.CopyToDatabase( archiveDb )<**>  Call doc.Remove( False )<**>End If

@Bhead title@<:#220,8486>EmbeddedObjects Property<:X8,88;Index "EmbeddedObjects property" # "in NotesDocument">

<:#200,8486>Read-only. All the objects embedded in a document, including file attachments.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of NotesEmbeddedObjects

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">notesEmbeddedObjectArray <-"><+">= notesDocument<-"><+!>.EmbeddedObjects<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_EMBEDDEDOBJECTS_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: EmbeddedObjects Property

<:#600,8486>1. This code copies each file attachment on a document to disk, and then removes the attachment from the document. Since EmbeddedObjects returns both objects and attachments, the code tests each NotesEmbeddedObject to see if it's an attachment. 
<+!><+">YYbuild 125.1 -- doesn't work properly<-"><-!>

@Mono@<:#1800,8486>myObjects = doc.EmbeddedObjects<**>temp = myObjects<**>Forall o In temp<**>  If ( o.Type = EMBED_ATTACHMENT ) Then<**>    Call o.ExtractFile( "c:\samples" )<**>    Call o.Remove<**>    Call doc.Save( False, True )<**>  End If<**>End Forall

@Bhead title@<:#220,8486>EncryptionKeys Property<:X8,88;Index "EncryptionKeys property" #>

<:#400,8486>Read-Write. The key(s) used to encrypt a document. The Encrypt method uses these key(s) when it encrypts the document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of strings

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">stringArray<-"><+"> <-"><+">= notesDocument<-"><+!>.EncryptionKeys<-!>

<:#200,8486>To set: <+">notesDocument<+!><-">.<-!><+!>EncryptionKeys <-!><+!>= 
<-!><+">stringArray<-">

@Chead@<:#200,8486>Usage

<:#600,8486>Each element in the EncryptionKeys array contains the name of a private key you want to use to encrypt the document, or the special name "PUBLIC_KEY" if you want the document encrypted with your public key.

<:#600,8486>You must call the Encrypt and Save methods to actually encrypt the document in the database. Since encryption works differently when a document is mailed, the EncryptionKeys property has no effect when a document is encrypted when mailed.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EncryptOnSend Property<-)>

@Crossref@<:#200,8486><+)>SignOnSend Property<-)>

@Crossref@<:#200,8486><+)>Encrypt Method<-)>

@Crossref@<:#200,8486><+)>Sign Method<-)>

@Crossref@<:#200,8486><+)>Save Method<-)>

<:#200,8486><+#>

@Bhead title@<:#220,8486>EncryptOnSend Property<:X8,89;Index "EncryptOnSend property" #>

<:#200,8486>Read-Write. Indicates if a document is encrypted when mailed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesDocument<-"><+!>.EncryptOnSend<-!>

<:#200,8486>To set: <+">notesDocument<+!><-">.EncryptOnSend = <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

@Bhead@<:t82>

@Chead@<:#200,8486>Usage

<:#600,8486>To encrypt a document when mailed, Notes looks for the public key of each recipient in the Name & Address book. If it cannot find a recipient's public key, it sends an un-encrypted copy of the document to that recipient. All other recipients receive an encr
ypted copy of the document.

<:#200,8486>This property has no effect on whether or not a document is encrypted when saved to a database.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ENCRYPTONSEND_PROPERTY<-*>

@Crossref@<:#200,8486><+)>SignOnSend Property<-)><+*>H_SIGNONSEND_PROPERTY<-*>

@Crossref@<:#200,8486>SaveMessageOnSend Property

@Crossref@<:#200,8486>EncryptionKeys Property

@Crossref@<:#200,8486>Encrypt Method

@Crossref@<:#200,8486>Sign Method

@Chead title@<:#200,8486>Examples: EncryptOnSend Property

<:#200,8486>1. This example sets the EncryptOnSend property for the <:f,QCourier New,>doc 
<:f>object to True:

@Mono@<:#200,8486>doc.EncryptOnSend = True

<:#200,8486>2. This script creates and sends a mail memo. When sent, the memo is encrypted for each recipient.

@Mono@<:#2200,8486>Dim db As New notesDatabase( "Brussels", "review.nsf" )<**>Dim memo As New NotesDocument( db )<**>Dim recipients (1 To 2) As String<**>memo.Form = "Memo"<**>memo.Subject = "Design review"<**>memo.Body = "Last week's design review is posted in " + db.Title<**>
memo.EncryptOnSend = True<**>recipients(1) = "Edith Sprout"<**>recipients(2) = "Mariko Ikebuchi"<**>temp = recipients<**>Call memo.SendTo( temp, False )

@Bhead title@<:#220,8486>HasEmbedded Property<:X8,90;Index "HasEmbedded property" #>

<:#200,8486>Read-only. Indicates if a document contains one or more embedded objects or file attachments.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesDocument<-"><+!>.HasEmbedded<-!>

@Chead@<:#200,8486><+!>Legal <-!><+!>Values<-!>

<:t81>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EmbeddedObjects Property<-)>

@Crossref@<:#200,8486><+)>FindEmbedded Method<-)>

@Crossref@<:#200,8486><+)>EmbeddedObject Class<-)>

@Chead title@<:#200,8486>Examples: HasEmbedded Property

<:#200,8486>1. This example uses the HasEmbedded property to print a message.

@Mono@<:#1200,8486>If doc.HasEmbedded Then<**>  Messagebox( "This document contains an object or file attachment" )<**>Else<**>  Messagebox( "This document does not contain an object or file attachment" )<**>End If

@Bhead title@<:#220,8486>IsNewNote Property<:X8,91;Index "IsNewNote property" #>

<:#200,8486>Read-only. Indicates if a document is new. A document is new if it hasn't been saved.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag<-"><+">%<-"><+"> <-"><+">= notesDocument<-"><+!>.IsNewNote<-!>

@Chead@<:#200,8486>Legal Values

<:t77>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ISNEWNOTE_PROPERTY<-*>

@Crossref@<:#200,8486>Save Method

@Chead title@<:#200,8486>Examples: IsNewNote Property

<:#200,8486>1. This example uses the IsNewNote property to print a message.

@Mono@<:#1000,8486>If doc.IsNewNote Then<**>  Messagebox( "This document has not been saved. It's new!" )<**>Else<**>  Messagebox( "This document has already been saved. It's not new." )<**>End If

@Bhead title@<:#220,8486>IsResponse Property<:X8,91;Index "IsResponse property" # "in NotesDocument">

<:#200,8486>Read-only. Indicates if a document is a response to another document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesDocument<-"><+!>.IsResponse<-!>

@Chead@<+!>Legal <-!><+!>Values<:t87>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ISRESPONSE_PROPERTY<-*>

@Crossref@<:#200,8486><+)>MakeResponse Method<-)>

@Crossref@<:#200,8486><+)>ParentDocumentUNID Property<-)>

@Chead title@<:#200,8486>Examples: IsResponse Property

<:#200,8486>1. This example uses the IsResponse property to print a message.

@Mono@<:#1000,8486>If doc.IsResponse Then<**>  Messagebox( "This document is a response." )<**>Else<**>  Messagebox( "This document is not a response." )<**>End If

@Bhead title@<:#220,8486>IsSigned Property<:X8,92;Index "IsSigned property" # "in NotesDocument">

<:#200,8486>Read-only. Indicates if a document contains a signature.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesDocument<-"><+!>.IsSigned<-!>

<+!>Legal <-!><+!>Values<-!><+#><:t88>

@Chead@<:#200,8486>Usage

<:#200,8486>To access the signatures, you must find the items of type SIGNATURE in the document.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ISSIGNED_PROPERTY<-*>

@Crossref@<:#200,8486><+)>NotesItem Class<-)>

@Crossref@<:#200,8486><+)>NotesItem.Type Property<-)>

@Crossref@<:#200,8486><+)>Signer Property<-)>

@Crossref@<:#200,8486><+)>Verifier Property<-)>

@Crossref@<:#200,8486><+)>Sign Method<-)>

@Chead title@<:#200,8486>Examples: IsSigned Property

<:#200,8486>1.  This example uses the IsSigned property to print a message.

@Mono@<:#1000,8486>If doc.IsSigned Then<**>  Messagebox( "This document is signed." )<**>Else<**>  Messagebox( "This document is not signed." )<**>End If

@Bhead title@<:#220,8486>Items Property<:X8,93;Index "Items property" #>

<:#200,8486>Read-only. All the items belonging to a document. An item is any piece of data stored on a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of NotesItems

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">notesItemArray <-"><+">= notesDocument<-"><+!>.Items<-!>

@Chead@<:#200,8486><+!>Usage

<:#400,8486>The array elements are in the same order as the items are stored in the document. The lower bound, or LBOUND, of the array is always 1. 
<+!><+">YY but it's zero for a lot of other things in the class library...<-"><-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ITEMS_PROPERTY<-*>

@Crossref@<:#200,8486><+)>NotesItem Class<-)>

@Chead title@<:#200,8486>Examples: Items Property

<:#400,8486>1. This example uses the Items property to print the name of every item on a document. 
<+!><+">YY build 126.4 crashes Notes<-"><-!>

@Mono@<:#600,8486>Forall i In doc.Items<**>  Messagebox( Cstr( i.Name ) )<**>End Forall

<:#400,8486>2. This script uses the Items property to find an Author Names item on a document. 
<+!><+">YY build 126.4 crashes Notes<-"><-!>

@Mono@<:#1200,8486>Dim authorItem As NotesItem<**>Forall item In doc.Items<**>  If ( item.IsAuthors ) Then<**>    Set authorItem = item<**>  End If<**>End Forall

@Bhead title@<:#220,8486>LastAccessed Property<:X8,93;Index "LastAccessed property" #>

<:#200,8486>Read-only. The date a document was last modified or read.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">dateV <-"><+">= notesDocument<-"><+!>.LastAccessed<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>Created Property<-)>

@Crossref@<:#200,8486><+)>LastModified Property<-)>

<:#200,8486>

@Bhead title@<:#220,8486>LastModified Property<:X8,94;Index "LastModified property" # "in NotesDocument">

<:#200,8486>Read-only. The date a document was last modified.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">dateV <-"><+">= notesDocument<-"><+!>.LastModified<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>Created Property<-)>

@Crossref@<:#200,8486><+)>LastAccessed Property<-)>

<:#200,8486><+#>

@Bhead title@<:#220,8486>NoteID Property<:X8,94;Index "NoteID property" #>

<:#200,8486>Read-only. The Note ID of a document. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">noteid$<-"><+"> = notesDocument<-"><+!>.NoteID<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>UniversalID <-)><+)>Property<-)>

@Crossref@<:#200,8486><+)>ParentDocumentUNID <-)><+)>Property<-)>

@Crossref@<:#200,8486><+#>

@Bhead title@<:#220,8486>ParentDatabase Property<:X8,94;Index "ParentDatabase property" #>

<:#200,8486>Read-only. The database that contains a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDatabase

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+!>Set<-!> <+">notesDatabase <-"><+">= notesDocument<-"><+!>.ParentDatabase<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_PARENTDATABASE_PROPERTY<-*>

@Crossref@<:#200,8486><+)>NotesDatabase Class<-)>

@Crossref@<:#200,8486><+)>ParentView <-)><+)>Property<-)>

@Chead title@<:#200,8486>Examples: ParentDatabase Property

<:#200,8486>1. This example uses the ParentDatabase property to set the value of 
<:f,QCourier New,>parentDb<:f>.

@Mono@<:#400,8486><**>Dim parentDb As NotesDatabase<**>Set parentDb = doc.ParentDatabase

<:#600,8486>2. This script prints the title of the NotesDatabase object from which a document was retrieved (<:f,QCourier New,>db<:f>), and title of the NotesDatabase object returned by the ParentDatabase property (<:f,QCourier New,>parentDb<:f>). The titles are the sa
me, because <:f180,QCourier New,0,0,0>db <:f>and <:f180,QCourier New,0,0,0>parentDb 
<:f>represent the same database, somedocs.nsf.

@Mono@<:#1800,8486>Dim db As New NotesDatabase( "", "somedocs.nsf" )<**>Dim parentDb As NotesDatabase<**>Dim collection As NotesDocumentCollection<**>Dim doc As NotesDocument<**>Set collection = db.AllDocuments<**>Set doc = collection.GetFirstDocument<**>Set parentDb = doc.Pa
rentDatabase<**>Messagebox( db.Title )<**>Messagebox( parentDb.Title )

<:#800,8486>3. This example shows a function that takes a document and returns its parent document (or Nothing if the document has no parent). The function uses the ParentDatabase property to get 
<:f,QCourier New,>db<:f>, a NotesDatabase object representing the database that 
<:f,QCourier New,>doc <:f>is in. Once the script has <:f,QCourier New,>db<:f>, it can call GetDocumentByUNID to find 
<:f,QCourier New,>doc<:f>'s parent.

@Mono@<:#1800,8486>Function GetParentDocument( doc As NotesDocument )<**>  Dim db As NotesDatabase<**>  Dim parentDoc As NotesDocument<**>  Set db = doc.ParentDatabase<**>  If doc.IsResponse Then<**>    Set parentDoc = db.GetDocumentByUNID( doc.ParentDocumentUNID )<**>  End I
f<**>  Set GetParentDocument = parentDoc<**>End Function

@Bhead title@<:#220,8486>ParentDocumentUNID Property<:X8,95;Index "ParentDocumentUNID property" #>

<:#400,8486>Read-only. The Universal Note ID of a document's parent, if the document is a response. Returns an empty string ("") if a document doesn't have a parent.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">parentUnid<-"><+">$<-"><+"> <-"><+">= notesDocument<-"><+!>.ParentDocumentUNID<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>When used in conjunction with the GetDocumentByUNID method in NotesDatabase, the ParentDocumentUNID property allows you to find any document's parent.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_PARENTDOCUMENTUNID_PROPERTY<-*>

@Crossref@<:#200,8486><+)>GetDocumentByUNID Method<-)><+*>H_GETDOCUMENTBYUNID_METHOD<-*>

@Crossref@<:#200,8486><+)>ParentView Property<-)><+*>H_PARENTVIEW_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: ParentDocumentUNID Property

<:#200,8486>1. This example uses the ParentDocumentUNID property to display a message.

@Mono@<:#1400,8486>Dim parentUnid As String<**>parentUnid = doc.ParentDocumentUNID<**>If ( parentUnid = "" ) Then<**>  Messagebox( "This document has no parent." )<**>Else<**>  Messagebox( "The parent's UNID is " + parentUNID )<**>End If

<:#400,8486>2. This example uses ParentDocumentUNID and the GetDocumentByUNID method in NotesDatabase to find the parent document of 
<:f,QCourier New,>doc<:f>. <+!><+">YY excerpt from ParentDatabase example<-"><-!>

@Mono@<:#1000,8486>Dim parentDoc As NotesDocument<**>Set db = doc.ParentDatabase<**>If doc.IsResponse Then<**>  Set parentDoc = db.GetDocumentByUNID( doc.ParentDocumentUNID )<**>End If

@Bhead title@<:#220,8486>ParentView Property<:X8,96;Index "ParentView property" #>

<:#400,8486>Read-only. The view from which a document was retrieved, if any. If the document was retrieved directly from the database or a document collection, returns Nothing.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesView

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+!>SET <-!><+">notesView <-"><+">= notesDocument<-"><+!>.ParentView<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_PARENTVIEW_PROPERTY<-*>

@Crossref@<:#200,8486><+)>NotesView Class<-)><+*>H_NOTESVIEW_CLASS<-*>

@Crossref@<:#200,8486><+)>ParentDatabase Property<-)><+*>H_PARENTDATABASE_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: ParentView Property

<:#200,8486>1. This example uses the ParentDatabase property to set the value of 
<:f,QCourier New,>parentView<:f>. 

@Mono@<:#400,8486>Dim parentView As NotesView<**>Set parentView = doc.ParentView

<:#600,8486>2. This script prints the title of the NotesView object from which a document was retrieved (<:f,QCourier New,>view<:f>), and title of the NotesView object returned by the ParentView property (<:f,QCourier New,>parentView<:f>). The titles are the same, beca
use <:f180,QCourier New,0,0,0>view <:f>and <:f180,QCourier New,0,0,0>parentView 
<:f>represent the same view, the Main View in somedocs.nsf.

@Mono@<:#1800,8486>Dim db As New NotesDatabase( "", "somedocs.nsf" )<**>Dim view As NotesView<**>Dim parentView As NotesView<**>Dim doc As NotesDocument<**>Set view = db.GetView( "Main View" )<**>Set doc = view.GetFirstDocument<**>Set parentView = doc.ParentView<**>Messagebox
( view.Name )<**>Messagebox( parentView.Name )

@Bhead title@<:#220,8486>FTSearchScore Property<:X8,97;Index "FTSearchScore property" #>

<:#600,8486>Read-only. The full text search score of a document, if it was retrieved as part of a full text search. The score is related to the number of target words that were found in the document. If the document was not retrieved as part of a full-text search, retu
rns 0.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Integer

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">score<-"><+">%<-"><+"> <-"><+">= notesDocument<-"><+!>.FTSearchScore<-!>

<:#200,8486>

@Bhead title@<:#220,8486>SaveMessageOnSend Property<:X8,97;Index "SaveMessageOnSend property" #>

<:#400,8486>Read-Write. Indicates if a document is saved to a database when mailed. Only applies to new documents that have not yet been saved.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesDocument<-"><+!>.SaveMessageOnSend<-!>

<:#200,8486>To set: <+">notesDocument<+!><-">.<-!><+!>SaveMessageOnSend <-!><+!>= 
<-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

@Bhead@<:t78>

@Chead@<:#200,8486>Usage

<:#200,8486>When SaveMessageOnSend is True, the document is saved just after being mailed.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_SAVEMESSAGEONSEND_PROPERTY<-*>

@Crossref@<:#200,8486><+)>EncryptOnSend Property<-)><+*>H_ENCRYPTONSEND_PROPERTY<-*>

@Crossref@<:#200,8486><+)>SignOnSend Property<-)><+*>H_SIGNONSEND_PROPERTY<-*>

@Crossref@<:#200,8486>EncryptionKeys Property

@Crossref@<:#200,8486>Encrypt Method

@Crossref@<:#200,8486>Sign Method

@Chead title@<:#200,8486>Examples: SaveMessageOnSend Property

<:#200,8486>1. This example sets the SaveMessageOnSend property for NotesDatabase object 
<:f,QCourier New,>doc <:f>to True:

@Mono@<:#200,8486><**>doc.SaveMessageOnSend = True

<:#600,8486>2. This example creates, mails, and saves a new document in the current database. The document's Form is set to Main Topic so that it will display properly in the database; likewise, the form is mailed along with the document so that it will display nicely 
in the recipient's mail database. <+!><+">YY untested<-"><-!>

@Mono@<:#1800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim doc As NotesDocument<**>Set db = session.CurrentDatabase<**>Set doc = New NotesDocument( db )<**>doc.SaveMessageOnSend = True<**>doc.Form = "Main Topic"<**>doc.Subject = "Here's a new documen
t that's going to be saved and mailed."<**>Call doc.Send( True, "Carl Pycha" )

@Bhead title@<:#220,8486>SentByAgent Property<:X8,98;Index "SentByAgent property" #>

<:#200,8486>Read-only. Indicates if a document was mailed by an agent.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesDocument<-"><+!>.SentByAgent<-!>

@Chead@<:#200,8486>Legal Values

@Bhead@<:t80>

@Chead@<:#200,8486>Usage

<:#400,8486>In agents that reply to mail messages, you can use this property to make sure that the agent is not responding to mail that was sent by another agent.

<:#200,8486>Documents sent by an agent have an item called $AssistMail whose value is set to 1.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>Send Method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>Signer Property<:X8,98;Index "Signer property" #>

<:#200,8486>Read-only. The name of the person who created the signature, if a document is signed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">signer$<-"><+"> <-"><+">= notesDocument<-"><+!>.Signer<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>IsSigned Property<-)>

@Crossref@<:#200,8486><+)>Verifier Property<-)>

@Crossref@<:#200,8486><+)>Sign Method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>SignOnSend Property<:X8,99;Index "SignOnSend property" #>

<:#200,8486>Read-Write. Indicates if a document is signed when mailed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesDocument<-"><+!>.SignOnSend<-!>

<:#200,8486>To set: <+">notesDocument<+!><-">.SignOnSend <-!><+!>= <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<+#><:t79>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_SIGNONSEND_PROPERTY<-*>

@Crossref@<:#200,8486><+)>EncryptOnSend Property<-)><+*>H_ENCRYPTONSEND_PROPERTY<-*>

@Crossref@<:#200,8486><+)>SaveMessageOnSend Property<-)><+*>H_SAVEMESSAGEONSEND_PROPERTY<-*>

@Crossref@<:#200,8486>EncryptionKeys Property

@Crossref@<:#200,8486>Encrypt Method

@Crossref@<:#200,8486>Sign Method

@Chead title@<:#200,8486>Examples: SignOnSend Property

<:#200,8486>1. This example sets the SaveMessageOnSend property for the NotesDatabase object 
<:f,QCourier New,>doc <:f>to True:

@Mono@<:#200,8486><**>doc.SignOnSend = True

<:#200,8486>2. This example creates, mails, and signs a new memo. <+!><+">YY untested<-"><-!>

@Mono@<:#1800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim doc As NotesDocument<**>Set db = session.CurrentDatabase<**>Set doc = New NotesDocument( db )<**>doc.SignOnSend = True<**>doc.Form = "Memo"<**>doc.Subject = "Here's a signed mail memo."<**>Ca
ll doc.Send( False, "Carl Pycha" )

@Bhead title@<:#220,8486>Verifier Property<:X8,100;Index "Verifier property" #>

<:#200,8486>Read-only. The name of the person who verified the signature, if a document is signed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">verifier<-"><+">$<-"><+"> <-"><+">= notesDocument<-"><+!>.Verifier<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>IsSigned Property<-)>

@Crossref@<:#200,8486><+)>Signer Property<-)>

@Crossref@<:#200,8486><+)>Sign Method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>UniversalID Property<:X8,100;Index "UniversalID property" # "in NotesDocument">

<:#600,8486>Read-only. The Universal ID of a document, which is a 32-character combination of letters and numbers that uniquely identifies a document across all replicas of a databases. If two documents share the same Universal ID, they are replicas of each other.

<:#200,8486>The Universal ID is also known as the unique ID or UNID.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">un<-"><+">id$<-"><+"> = notesDocument<-"><+!>.UniversalID<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>A typical universal ID looks something like this:

<:#200,8486>FF863D8ACB6E2210852561BD005867C7

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_UNIVERSALID_PROPERTY<-*>

@Crossref@<:#200,8486><+)>NoteID Property<-)>

@Crossref@<:#200,8486><+)>ParentDocumentUNID Property<-)>

@Chead title@<:#200,8486>Examples: UniversalID Property

<:#200,8486>1. This example gets the universal ID of the NotesDocument object 
<:f,QCourier New,>doc<:f>.

@Mono@<:#400,8486>Dim unid As String<**>unid = doc.UniversalID

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>AbstractToItem Method<:X8,101;Index "AbstractToItem method" #>

<+@><:I0,0,0,0><:#200,8486>Creates a plain text representation of a document and places it into an item.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesDocument

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486><+">size&<+!><-"> = <-!><+">notesDocument<+!><-">.AbstractToItem( 
<-!><+">notesItem<+!><-">, <-!><+">maxSize&<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Parameters

<+@><:I0,0,0,0><:#200,8486><+">notesItem<-">

@1st lev para@<+@><:#200,8486>The destination for the plain text.

<+@><:#200,8486><+">maxSize&<-">

@1st lev para@<+@><:#200,8486>The maximum size, in bytes, of the resulting plain text.

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Return Value

<+@><:I0,0,0,0><:#200,8486><+">size&<-">

@1st lev para@<+@><:#200,8486>The size, in bytes, of the plain text. Will never exceed <+">maxSize&<-">.

@See also hlp@<+@><:#270,8486>

@Crossref@<+@><:#200,8486><+)>NotesItem Class<-)>

@Crossref@<+@><:#200,8486><+)>RenderToRTItem Method<-)>

<+@><:#200,8486>

@Bhead title@<:#220,8486>AppendItemValue Method<:X8,101;Index "AppendItemValue method" #><:X8,101;Index "Extended class syntax" #>

<:#400,8486>Creates a new item on a document and sets its value. To keep the changes, you must call Save after calling AppendItemValue.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesItem <-"><+!>= <+"><-!>notesDocument<-"><+!>.AppendItemValue<-!><+!>(<-!><+"> i<-"><+">temName$<-"><+!>, 
<-!><+">v<-"><+">alue <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">itemName$<-">

@1st lev para@<:#200,8486>String. The name of the new item.

<:#200,8486><+">v<-"><+">alue<-">

@1st lev para@<:#400,8486>The value of the new item. The data type of the new item depends upon the data type of the 
<+">value<-"> that you place in it.

@1st lev para@<:t89>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesItem<-">

@1st lev para@<:#200,8486>NotesItem. The new item.

@Chead@<:#200,8486>Usage

<:#400,8486>If the document already has an item called <+">itemName$, <-">AppendItemValue does not replace it. Instead, it creates another item of the same name, and gives it the value you specify.

<:#400,8486>When you create a new field using AppendItemValue, the contents of the field are displayed only if the form used to display the document also contains a field called 
<+">itemName$<-">.

@Chead@<:#200,8486>"Extended Class" Syntax

<:#400,8486>You can also create an item on a document using the NotesDocument "extended class" syntax, which eliminates the need for AppendItemValue. For example, suppose you had the following lines of script:

@Indnt mono@<:#600,8486>Dim item As NotesItem<**>Set item = doc.AppendItemValue( "Subject", "Update on stock options" )<**>Call doc.Save( False, True )

<:#200,8486>You could achieve the same result by doing the following:

@Indnt mono@<:#400,8486>doc.Subject = "Update on stock options"<**>Call doc.Save( False, True )

<:#800,8486>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
 AppendItemValue, but note these differences in behavior:

@Bullet@<:#400,8486>If an item of the specified name already exists, AppendItemValue creates a new item with the same name. The extended class syntax, however, replaces the existing item with the new value.

@Bullet@<:#200,8486>AppendItemValue returns a NotesItem object representing the item you just created.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_APPENDITEMVALUE_METHOD<-*>

@Crossref@<:#200,8486>NotesItem Class

@Crossref@<:#200,8486><+)>ReplaceItem Method<-)><+*>H_REPLACEITEM_METHOD<-*>

@Crossref@<:#200,8486>GetItemValue Method

@Crossref@<:#200,8486>HasItem Method

@Chead title@<:#200,8486>Examples: AppendItemValue Method

<:#400,8486>1. This script adds two new items to a document: a number item called EstimatedCost with the value 89, and a text item called Region with the value "Pacific Rim".

@Mono@<:#1000,8486>Dim itemA As NotesItem<**>Dim itemB As NotesItem<**>Set itemA = doc.AppendItemValue( "EstimatedCost", 89 )<**>Set itemB = doc.AppendItemValue( "Region", "Pacific Rim" )<**>Call doc.Save( False, True )

<:#600,8486>1a. This script achieves the same result, but uses the item names EstimatedCost and Region as if they were properties of NotesDocument. If an item with one of these names already exists on the document, its value is replaced by the new value.

@Mono@<:#600,8486>doc.EstimatedCost = 89<**>doc.Region = "Pacific Rim"<**>Call doc.Save( False, True )

<:#200,8486>2. This script creates a new text item called Contacts on a document, and adds three new values to it.

@Mono@<:#1200,8486>Dim stringArray ( 1 To 3 ) As String<**>stringArray( 1 ) = "Chrissa Ehrhardt"<**>stringArray( 2 ) = "Allegra Pisarro"<**>stringArray( 3 ) = "Esteban Garcia"<**>Call doc.AppendItemValue( "Contacts", stringArray )<**>Call doc.Save( False, True )

<:#600,8486>2a. This script achieves the same result, but uses the item name Contacts as if it were a property of NotesDocument. If an item with the name Contacts already exists on the document, its value is replaced with the values Chrissa Ehrhardt, Allegra Pisarro, a
nd Esteban Garcia.

@Mono@<:#1200,8486>Dim stringArray ( 1 To 3 ) As String<**>stringArray ( 1 ) = "Chrissa Ehrhardt"<**>stringArray ( 2 ) = "Allegra Pisarro"<**>stringArray ( 3 ) = "Esteban Garcia"<**>doc.Contacts = stringArray<**>Call doc.Save( False, True )

<:#400,8486>3. This script creates a new time-date item called DueDate on a document. It has the value 11/08/95 12:00:00 AM.

@Mono@<:#400,8486>Call doc.AppendItemValue( "DueDate", Datenumber( 1995, 11, 8 ) )<**>Call doc.Save( False, True )

<:#600,8486>3a. This script achieves the same result, but uses the item name DateDue as if it were a property of NotesDocument. If an item with the name DueDate already exists on the document, its value is replaced with 11/08/95 12:00:00 AM.

@Mono@<:#400,8486>doc.DateDue = Datenumber( 1995, 11, 8 )<**>Call doc.Save( False, True )

@Bhead title@<:#220,8486>ComputeWithForm Method<:X8,103;Index "ComputeWithForm method" #>

<:#400,8486>Validates a document by executing the default value, translation, and validation formulas, if any are defined in the document's form.

@Chead@<:#200,8486>Syntax

<:#200,8486><+">flag%<-"><+!> = <-!><+">notesDocument<+!><-">.ComputeWithForm<-!><+!>( 
<-!><+">doDataTypes%<+!><-"> , <-!><+">raiseError%<+!><-"> )<-!>

@Chead@<:#200,8486><+!>Parameters

<:#200,8486><+">doDataTypes<-"><+!><-">%

@1st lev para@<:#400,8486>Boolean. If TRUE, the method also checks Names fields for canonical format, checks that field values are the correct data type, and validates keyword fields.

<:#200,8486><+">raiseError%<-">

@1st lev para@<:#400,8486>Boolean. If TRUE, an error is raised if the validation fails. If FALSE, no error is raised; instead, the method simply returns FALSE.

@Chead@<:#200,8486>Return Value

@Bhead title@<:t73>

@Bhead title@<:#220,8486>CopyAllItems Method<:X8,104;Index "CopyAllItems method" #>

<:#400,8486>Given a destination document, copies all of the items on the current document onto the destination document. The item names are unchanged.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesDocument<+!><-">.CopyAllItems( <-!><+">notesDocument<+!><-"> )<-!>

@Chead@<:#200,8486><+!>Parameters

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>The destination document.

@Bhead title@<:#220,8486>CopyItem Method<:X8,104;Index "CopyItem method" #>

<:#200,8486>Given an item, copies it into the current document and assigns the copied item a new name.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesItem <-"><+!>= <+"><-!>notesDocument<-"><+!>.CopyItem<-!><+!>(<-!><+"> notesItem<-"><+!>, 
<-!><+">newName$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">notesItem<-">

@1st lev para@<:#200,8486>The item, usually from another document, that you want to copy.

<:#200,8486><+">newName$<-">

@1st lev para@<:#200,8486>String. The name to assign to the copied item.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesItem<-">

@1st lev para@<:#200,8486>A copy of the specified <+">notesItem<-"> parameter, identical except for its 
<+">newName$<-"><+">.<-">

@Chead@<:#200,8486>Usage

<:#400,8486><+!><+">YY <-!><+!>are there any uses here in conjunction with MakeResponse and inheritance of fields from the parent document to the child?<-"><-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_COPYITEM_METHOD<-*>

@Crossref@<:#200,8486>NotesItem Class

@Crossref@<:#200,8486>GetFirstItem Method

@Crossref@<:#200,8486>GetNextItem Method

@Crossref@<:#200,8486>RemoveItem Method

@Crossref@<:#200,8486>HasItem Method

@Chead title@<:#200,8486>Examples: CopyItem Method

<:#600,8486>1. This code creates a new mail memo and uses CopyItem to copy the body field from the original document to the memo.  Here, 
<:f,QCourier New,>doc<:f> is a NotesDocument whose Body item contains a project review and 
<:f,QCourier New,>db<:f> is a NotesDatabase.  <+"><+!>YY what if there are multiple "Body" items<-!><-">

@Mono@<:#1400,8486>Dim body As NotesItem<**>Set body = doc.GetFirstItem( "Body" )<**>Dim memo As New NotesDocument( db )<**>memo.Form = "Memo"<**>memo.Subject = "Here's a copy of the review."<**>Call memo.CopyItem( body, "Body" )<**>Call memo.SendTo( "Michael Giordan", False 
)

@Bhead title@<:#220,8486>CopyToDatabase Method<:X8,105;Index "CopyToDatabase method" #>

<:#200,8486>Copies a document into the specified database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesDocument<-"><+!>.CopyToDatabase<-!><+!>(<-!><+"> notesDatabase<-"><+"> 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDatabase

@1st lev para@<:#200,8486>The database in which you want a copy of the document.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument

@1st lev para@<:#200,8486>The new document in the specified <+">notesDatabase<-">.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_COPYTODATABASE_METHOD<-*>

@Crossref@<:#200,8486>NotesDatabase.CreateCopy Method

@Chead title@<:#200,8486>Examples: CopyToDatabase Method

<:#200,8486>1. This code copies uses CopyToDatabase to copy a document to the 
<:f,QCourier New,>archiveDb<:f>.

@Mono@<:#600,8486>Dim archiveDb As New NotesDatabase( "Archive_Server", "agendas.nsf" )<**>Dim newDoc As NotesDocument<**>Set newDoc = doc.CopyToDatabase( archiveDb )

@Bhead title@<:#220,8486>CreateReplyMessage Method<:X8,105;Index "CreateReplyMessage method" #>

<:#400,8486>Creates a new document which is formatted as a reply to the current document. The new document is created using the default mail form.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesDocument<-"><+!>.CreateReplyMessage<-!><+!>(<-!><+"> all%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">all<-">%

@1st lev para@<:#400,8486>Boolean. If True, the new document recipient list contains all the recipients of the original. If False, the new document recipient list contains only the sender of the original.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>A reply to the current document.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>Send Method<-)>

<:#200,8486><+)>

@Bhead title@<:#220,8486>Encrypt Method<:X8,106;Index "Encrypt method" #>

<:#400,8486>Encrypts a document in a database. The encrypted document is not written to disk until you call the Save method.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDocument<-"><+!>.Encrypt<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>If the script is running on a server, it must have permission to use Encrypt.

<:#400,8486>If the EncryptionKeys property is set with one or more named keys, those keys are used. Otherwise, the document is encrypted with the user's public key. 

<:#400,8486>Since mail encryption works differently, don't use this method if you want to mail an encrypted document. Instead, set the EncryptOnSend property to TRUE, and use the Send method.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EncryptOnSend Property<-)>

@Crossref@<:#200,8486><+)>Send Method<-)>

@Crossref@<:#200,8486><+)>Save Method<-)>

<:#200,8486><+)>

@Bhead title@<:#220,8486>FindEmbedded Method<:X8,106;Index "FindEmbedded method" #>

<:#200,8486>Finds the specified embedded object by name. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">embeddedObject<-"><+!> = <+"><-!>notesDocument<-"><+!>.FindEmbedded<-!><+!>(<-!><+"> embdObjectName$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">embdObjectName$<-">

@1st lev para@<:#200,8486>The name of the embedded object you want to find.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">embeddedObject<-">

@1st lev para@<:#200,8486>The embedded object in the document that matches <+">embdObjectName$<-"><+">.<-">

@Chead@<:#200,8486>Usage

<:#400,8486>To locate an embedded object that does not have a name, or whose name you don't know, use the EmbeddedObjects property.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EmbeddedObject Class<-)>

<:#200,8486><+)>

@Bhead title@<:#220,8486>GetFirstItem Method<:X8,107;Index "GetFirstItem method" #>

<:#400,8486>Given a name, returns the first item of the specified name belonging to the document. A document may contain more than one item of the same name. Returns Nothing if there are no items of that name.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesItem<-"><+!> = <+"><-!>notesDocument<-"><+!>.GetFirstItem<-!><+!>(<-!><+"> name$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">name$<-">

@1st lev para@<:#200,8486>String. The name of the item you want to find.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesItem<-">

@1st lev para@<:#400,8486>NotesItem. The first item with <+">name$<-">.  Returns Nothing if the document does not contain an item with 
<+">name$<-">.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETFIRSTITEM_METHOD<-*>

@Crossref@<:#200,8486>NotesItem Class

@Crossref@<:#200,8486>GetNextItem Method

@Crossref@<:#200,8486>CopyItem Method

@Crossref@<:#200,8486>RemoveItem Method

@Crossref@<:#200,8486>HasItem Method

@Chead title@<:#200,8486>Examples: GetFirstItem Method

<:#200,8486>1. This uses the GetFirstItem method to print a message about the Subject item on a document.

@Mono@Dim item As NotesItem<**>Set item = doc.GetFirstItem( "Subject" )<**>If ( item Is Nothing ) Then<**>  Messagebox( "There is no Subject item on the document." )<**>Else<**>  Messagebox( "The Subject item on the document has the value: " + item.Text )<**>End 
If<:p<* >>

@Bhead title@<:#220,8486>GetItemValue Method<:X8,109;Index "GetItemValue method" #><:X8,109;Index "Extended class syntax" #>

<:#200,8486>Given the name of a field, returns the value of that field on a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+">valueArray<+!><-"> = <+"><-!>notesDocument<-"><+!>.GetItemValue<-!><+!>(<-!><+"> itemName$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">itemName$<-">

@1st lev para@<:#200,8486>String. The name of a field.

@Chead@<:#200,8486>Return Value

@Table Text@<:#200,8486><+">value<-">

@1st lev para@<:#400,8486>The value or values contained in the field <+">itemName$<-">. The data type of the 
<+">value<-"> depends on the data type of the field.

@1st lev para@<:t75>

@1st lev para@<+@><:#400,8486>When GetItemValue returns an array, each element in the array corresponds to a value in the field. If the field contains a single value, the array has just one element.

@Chead@<+@><:#200,8486>Usage

<:#200,8486>Learn these three things now and save yourself heartache later:

@Bullet@<:#400,8486>For text, number, and time-date fields, <+">GetItemValue always returns an array, 
<-">even when there is only a single value in the field. 

@Bullet@<:#400,8486>If you know the field contains only a single value, access the first element in the array, which is at index 0.

@Bullet@<:#400,8486>If you know the field contains multiple values, but you don't know how many, iterate over the array elements using the Forall statement.

@Chead@<:#200,8486>"Extended Class" Syntax

<:#400,8486>You can also access the contents of a field directly, without using GetItemValue. The following two statements are equivalent:

@Indnt mono@<:#400,8486>t = lastDoc.GetItemValue( "Topic" )<**>t = lastDoc.Topic

<:#600,8486>This syntax lets you access and modify fields the same way you access and modify other NotesDocument properties. The return value is the same: that is, an array of values for text, number, or time date fields, and plain text for rich text fields.

<:#200,8486>You can set the value of a field with this syntax, too:

@Indnt mono@<:#400,8486>mailMemo.Subject = "Update on stock options"<**>Call mailMemo.Save( False, True )

<:#200,8486>See the AppendItemValue ReplaceItemValue method for more information on setting a field's value.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETITEMVALUE_METHOD<-*>

@Crossref@<:#200,8486>ReplaceItemValue Method

@Crossref@<:#200,8486>NotesItem.Values Property

@Chead title@<:#200,8486>Examples: GetItemValue Method

<:#600,8486>1. This code gets the contents of the Subject field on a mail memo and prints it. In this case, GetItemValue returns an array of one element, so the code uses 
<:f,QCourier New,>myArray( 0 )<:f> to access the first element.

@Mono@<:#400,8486>myArray = mailMemo.GetItemValue( "Subject" )<**>Print myArray( 0 )

<:#600,8486>2. This code finds the first document in the "Evaluations" category of a mail database. It then uses GetItemValue to retrieve all of the categories to which the document belongs and a Forall statement to iterate over every element in the array.

@Mono@<:#2000,8486>keyArray ( 0 ) = "Evaluations"<**>keyVariant = keyArray ()<**>Set mainView = mailDb.FindView( "All by Category" )<**>Set mailMemo = mainView.FindDocumentByKey( keyVariant )<**>If Not ( mailMemo Is Nothing ) Then<**>  categories = mailMemo.GetItemValue( "Cat
egories" )<**>  Forall c In categories<**>    Print c<**>  End Forall<**>End If

<:#200,8486>3. This code gets the contents of a rich text field, which is returned as a single string.

@Mono@myVariant = mailMemo.GetItemValue( "Body" )<**>Print myVariant<:p<* >>

@Bhead title@<:#220,8486>GetNextItem Method<:X8,111;Index "GetNextItem method" #>

<:#200,8486>Given an item, returns the next item of the same name belonging to a document, if there is one.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesItem<-"><+!> = <+"><-!>notesDocument<-"><+!>.GetNextItem<-!><+!>(<-!><+"> notesItem 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesItem<-">

@1st lev para@<:#200,8486>NotesItem. Any item in the database.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesItem<-">

@1st lev para@<:#400,8486>NotesItem. The next item with the same name as the specified <+">notesItem<-"> parameter. Returns Nothing if there are no more items of that name.

@Chead@<:#200,8486>Usage

<:#1000,8486>The purpose of this method is to allow you access to multiple items with the same name. When rich text on a document exceeds 64 kilobytes, Notes breaks the rich text into multiple chunks, each smaller than 64 kilobytes and each stored as an item with the sa
me name. Therefore it's possible, for example, to have three Body items on a document (which the user interface displays as a single rich text field called Body).

<:#600,8486>In many cases, you won't need this method because only one item of a given name exists on a document--GetFirstItem suffices for these situations. 
<+!><+">YY can I just tell them NOT to use GetNextItem UNLESS they're working with rich text?<-"><-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETNEXTITEM_METHOD<-*>

@Crossref@<:#200,8486>NotesItem Class

@Crossref@<:#200,8486>GetFirstItem Method

@Crossref@<:#200,8486>CopyItem Method

@Crossref@<:#200,8486>RemoveItem Method

@Crossref@<:#200,8486>HasItem Method

@Chead title@<:#200,8486>Examples: GetNextItem Method

<:#600,8486>1. In this code, we have a NotesDocument called projectDoc. The <:f,QCourier New,>projectDoc 
<:f>has multiple rich text fields called AdditionalInfo, and the script uses GetFirstItem and GetNextItem to copy them to the Body of a new mail memo. 
<+!><+">YY<-!><+!> <-!><+!>broken<-"><-!>

@Mono@Dim body As NotesItem<**>Dim info As NotesItem<**>Set info = projectDoc.GetFirstItem( "AdditionalInfo" )<**>Dim memo As New NotesDocument( db )<**>memo.Form = "Memo"<**>memo.Subject = "Here's a big mail memo."<**>While Not ( info Is Nothing )   
<**>  Set body = memo.CopyItem( info, "Body" ) <**>  Set info = projectDoc.GetNextItem( info )<**>Wend<**>Call memo.SendTo( "Clary Pycha", False )<:p<* >>

@Bhead title@<:#220,8486>HasItem Method<:X8,112;Index "HasItem method" #>

<:#200,8486>Given the name of an item, indicates if that item exists on the document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+">flag%<+!><-"> = <+"><-!>notesDocument<-"><+!>.HasItem<-!><+!>(<-!><+"> itemN<-"><+">ame$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">itemName$<-">

@1st lev para@<:#200,8486>String. The name of an field.

@Chead@<:#200,8486>Return Value

<:t76>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_HASITEM_METHOD<-*>

@Crossref@<:#200,8486>NotesItem Class

@Crossref@<:#200,8486>AppendItemValue Method

@Crossref@<:#200,8486>CopyItem Method

@Crossref@<:#200,8486>GetFirstItem Method

@Crossref@<:#200,8486>GetNextItem Method

@Crossref@<:#200,8486>RemoveItem Method

@Chead title@<:#200,8486>Examples: HasItem Method

<:#200,8486>1. This example uses the HasItem method to display a message about a document.

@Mono@<:#1000,8486>If doc.HasItem( "Subject" ) Then<**>  Messagebox( "There is a Subject item on this document." )<**>Else<**>  Messagebox( "There is no Subject item on this document." )<**>End If

<:#800,8486>2. This example shows how you can use HasItem and AppendItemValue together. Suppose you have a discussion database with Main Topics and Responses. After users have created and saved several documents, you decide that the Responses should store the original 
Subject from the Main Topic, as well as their own Subject.

<:#1200,8486>You create an OriginalSubject field on the Response form that inherits its value from the Subject field of the Main Topic. This works nicely, but you still have several Response documents with no value for Original Subject. You write this script to remedy t
he situation (there are more efficient ways to write this script). It uses HasItem to check every Response in the main view of the current database for an item called OriginalSubject. If HasItem returns False, it uses AppendItemValue to create an item calle
d OriginalSubject.

@Mono@<:#5600,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim view As NotesView<**>Dim mainDoc As NotesDocument<**>Dim responseDoc As NotesDocument<**>Set db = session.CurrentDatabase<**>Set view = db.GetView( "Main View" )<**>' get the first document i
n the view, which is a Main Topic<**>Set mainDoc = view.GetFirstDocument<**>' visit every Main Topic in the view<**>While Not ( mainDoc Is Nothing )<**>  ' get the first response to the Main Topic<**>  Set responseDoc = view.GetChild( mainDoc )<**>  ' visit
 every response to the Main Topic<**>  While Not ( responseDoc Is Nothing )<**>    If Not ( responseDoc.HasItem( "OriginalSubject" ) ) Then<**>      ' copy the Main Topic's Subject item into the Response's OriginalSubject item<**>      Call responseDoc.Appe
ndItemValue( "OriginalSubject", mainDoc.GetItemValue( "Subject" ) )<**>      Call responseDoc.Save( True, False )<**>    End If<**>    ' get the next response to the Main Topic<**>    Set responseDoc = view.GetNextSibling( responseDoc )<**>  Wend<**>  ' get
 the next Main Topic<**>  Set mainDoc = view.GetNextSibling( mainDoc )<**>Wend

@Bhead title@<:#220,8486>MakeResponse Method<:X8,113;Index "MakeResponse method" #>

<:#400,8486>Makes one document a response to another document. The two documents must be in the same database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDocument<-"><+!>.MakeResponse<-!><+!>(<-!><+"> notesDocument<-"><+"> 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDocument

@1st lev para@<:#200,8486>The document to which the current document becomes a response.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_MAKERESPONSE_METHOD<-*>

@Crossref@<:#200,8486>IsResponse Property

@Crossref@<:#200,8486>ParentDocumentUNID Property

@Chead title@<:#200,8486>Examples: MakeResponse Method

<:#200,8486>1. This code makes documentB a response to documentA.<+!><+">YY crashes Notes in 126.x<-"><-!>

@Mono@<:#600,8486>Set documentA = view.GetFirstDocument<**>Set documentB = view.GetNextDocument( documentA )<**>Call documentB.MakeResponse( documentA )

@Bhead title@<:#220,8486>PutInFolder Method<:X8,114;Index "PutInFolder method" #>

<:#200,8486>Adds a document to the specified folder. If the folder does not exist, it is created.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDocument<-"><+!>.PutInFolder<-!><+!>(<-!><+"> folderName$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">folderName$<-">

@1st lev para@<:#600,8486>Name of the folder in which to place the document. The folder may be public or private. If the folder is within another folder, specify a path to it, separating folder names with backward slashes, for example: 
<:f,QCourier New,>"Vehicles\Bikes"<:f>.

@Chead@<:#200,8486>Usage

<:#200,8486>If the document is already inside the folder you specify, PutInFolder does nothing.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_PUTINFOLDER_METHOD<-*>

@Crossref@<:#200,8486><+)>RemoveFromFolder Method<-)><+*>H_REMOVEFROMFOLDER_METHOD<-*>

@Chead title@<:#200,8486>Examples: PutInFolder Method

<:#400,8486>1. This example uses PutInFolder to put a document in the folder Jambalaya. If the folder does not exist, PutInFolder creates it.

@Mono@<:#200,8486>Call doc.PutInFolder( "Jambalaya" )

<:#400,8486>2. This example uses PutInFolder to put a document in the folder Spicy, which is located inside the folder Recipes. If neither folder exists, PutInFolder creates them both, placing Spicy inside of Recipes.

@Mono@<:#200,8486>Call doc.PutInFolder( "Recipes\Spicy" )

<:#400,8486>3. This example uses PutInFolder to put a document in the private folder called Greens. Note that you do not need to place brackets around the name of a private folder.

@Mono@<:#200,8486>Call doc.PutInFolder( "Greens" )

<:#400,8486>4. This script performs a full text search in the current database and places all matching documents in a folder called Spicy.

@Mono@<:#2000,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim doc As NotesDocument<**>Dim collection As NotesDocumentCollection<**>Set db = session.CurrentDatabase<**>Set collection = db.FTSearch( "cayenne", 20 )<**>For i = 1 To collection.Count<**>  Se
t doc = collection.GetNthDocument( i )<**>  Call doc.PutInFolder( "Recipes\Spicy" )<**>Next

@Bhead title@<:#220,8486>Remove Method<:X8,115;Index "Remove method" # "in NotesDocument">

<:#200,8486>Permanently deletes a document from a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+">flag%<+!><-"> = <+"><-!>notesDocument<-"><+!>.Remove<-!><+!>(<-!><+"> force%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">force<-">%

@1st lev para@<:#400,8486>Boolean. If True, the document will be deleted even if another user has modified the document since the script opened it. If False, the document will not be deleted if it has been modified by another user.

@Chead@<:#200,8486>Return Value

<:t84>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_REMOVE_METHOD<-*>

@Chead title@<:#200,8486>Examples: Remove Method

<:#200,8486>1. This example removes a document from a database, unless another user has modified it.

@Mono@<:#1200,8486>If ( doc.Remove( False ) = True ) Then<**>  Messagebox( "The document was deleted from the database." )<**>Else<**>  Messagebox( "The document was not deleted, because another user modified it." )<**>End If

<:#400,8486>2. This example removes a document from a database, regardless of whether another user has modified it. It does not use the Remove method's return value.

@Mono@<:#200,8486>Call doc.Remove( True )

@Bhead title@<:#220,8486>RemoveFromFolder Method<:X8,115;Index "RemoveFromFolder method" #>

<:#200,8486>Removes a document from the specified folder.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesDocument<-"><+!>.RemoveFromFolder<-!><+!>(<-!><+"> folderName$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">folderName$<-">

@1st lev para@<:#600,8486>Name of the folder from which to remove the document. The folder may be public or private. If the folder is within another folder, specify a path to it, separating folder names with backward slashes, for example: 
<:f,QCourier New,>"Vehicles\Bikes"<:f>.

@Chead@<:#200,8486>Usage

<:#200,8486>The method does nothing if:

@Bullet@<:#200,8486>The document is not in the folder you specify.

@Bullet@<:#200,8486>The folder you specify does not exist.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_REMOVEFROMFOLDER_METHOD<-*>

@Crossref@<:#200,8486><+)>PutInFolder Method<-)><+*>H_PUTINFOLDER_METHOD<-*>

@Chead title@<:#200,8486>Examples: RemoveFromFolder Method

<:#200,8486>1. This example uses RemoveFromFolder to remove a document from the folder Jambalaya.

@Mono@<:#200,8486>Call doc.RemoveFromFolder( "Jambalaya" )

<:#400,8486>2. This example uses RemoveFromFolder to remove a document from the folder Spicy, which is located inside the folder Recipes.

@Mono@<:#200,8486>Call doc.RemoveFromFolder( "Recipes\Spicy" )

@Bhead title@<:#220,8486>RemoveItem Method<:X8,116;Index "RemoveItem method" #>

<:#200,8486>Given the name of an item, deletes the item from a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDocument<-"><+!>.RemoveItem<-!><+!>(<-!><+"> itemN<-"><+">ame$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">itemName$<-">

@1st lev para@<:#400,8486>String. The name of the item to delete from the document. If more than one item has 
<+">itemName$<-">, all items with this name are deleted. If there is no item with 
<+">itemName$, <-">the method does nothing.

@Chead@<:#200,8486>Usage

<:#200,8486>You can achieve the same result with the Remove method in the NotesItem class.

<:#200,8486>Remember to call Save to save your changes to a document.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_REMOVEITEM_METHOD<-*>

@Crossref@<:#200,8486>NotesItem Class

@Crossref@<:#200,8486>NotesItem.Remove Method

@Crossref@<:#200,8486>GetFirstItem Method

@Crossref@<:#200,8486>GetNextItem Method

@Crossref@<:#200,8486>CopyItem Method

@Crossref@<:#200,8486>HasItem Method

@Chead title@<:#200,8486>Examples: RemoveItem Method

<:#200,8486>1. This example uses RemoveItem to remove the DocNumber item from a document.

@Mono@<:#400,8486>Call mainDoc.RemoveItem( "DocNumber" )<**>Call mainDoc.Save( True, False ) 

<:#400,8486>2. This example uses RemoveItem to remove all file attachments and embedded objects from a document.

@Mono@<:#400,8486>Call doc.RemoveItem( "$FILE" )<**>Call doc.Save( True, False )

<:#600,8486>3. This sub lets you change the name of any item on a document. First it uses ReplaceItemValue to put the contents of the item with the old name into a new item with the new name. Then it uses RemoveItem to remove the item with the old name.

@Mono@<:#1600,8486>Sub changeField( doc As NotesDocument, oldName As String, newName As String )<**>  If doc.HasItem( oldName ) Then<**>    Call doc.ReplaceItemValue( newName, doc.GetItemValue( oldName ) )<**>    Call doc.RemoveItem( oldName )<**>    Call doc.Save( False, Tru
e )<**>  End If<**>End Sub

<:#1000,8486>4. This sub takes a collection of documents and removes the stored form from each document. It uses RemoveItem to delete the four fields that make up a stored form on a document: $TITLE, $INFO, $WINDOWTITLE, and $BODY. The sub checks each document for a $TI
TLE using HasItem, but you could remove this condition and require that the 
<:f,QCourier New,>collection <:f>parameter include only documents that contain a $TITLE.

@Mono@<:#3000,8486>Sub removeStoredForm( collection As NotesDocumentCollection )<**>  Dim doc As NotesDocument<**>  For i = 1 To collection.Count<**>    Set doc = collection.GetNthDocument( i )<**>    If doc.HasItem( "$TITLE" ) Then<**>      formName = doc.GetItemValue( "$TIT
LE" )<**>      Call doc.ReplaceItemValue( "Form", formName )<**>      Call doc.RemoveItem( "$TITLE" )<**>      Call doc.RemoveItem( "$INFO" )<**>      Call doc.RemoveItem( "$WINDOWTITLE" )<**>      Call doc.RemoveItem( "$BODY" )<**>      Call doc.Save( True
, False )<**>    End If<**>  Next<**>End Sub

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>RenderToRTItem Method<:X8,117;Index "RenderToRTItem method" #>

<+@><:I0,0,0,0><:#400,8486>Creates a picture of a document and places it into a rich text item you specify. Since you're placing new information in a field, the input validation and translation formulas for the field are executed.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesDocument

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486><+">flag%<+!><-"> = <-!><+">notesDocument<+!><-">.RenderToRTItem( 
<-!><+">notesRichTextItem<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:#200,8486><+!>Parameter

<+@><:I0,0,0,0><:#200,8486><+">notesRichTextItem<+!><-">

@1st lev para@<+@><:#200,8486>The destination for the picture.

@Chead@<+@><:#200,8486>Return Value

<+@><:#200,8486><+">flag%<-">

@1st lev para@<+@><:#400,8486>Boolean. If TRUE, the method was successful. If FALSE, the method was not successful and the rich text item remains unchanged. This can happen if the input validation formula fails.

@See also hlp@<+@><:#270,8486>

@Crossref@<+@><:#200,8486><+)>NotesRichTextItem Class<-)>

@Crossref@<+@><:#200,8486><+)>AbstractToItem Method<-)>

<:#200,8486><+!>

@Bhead title@<:#220,8486>ReplaceItemValue Method<:X8,118;Index "ReplaceItemValue method" #><:X8,118;Index "Extended class syntax" #>

<:#600,8486>Replaces all items of the specified name with one new item, which is assigned the specified value. If the document does not contain an item with the specified name, the method creates a new item and adds it to the document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Set <-!><+">notesItem <-"><+!>= <+"><-!>notesDocument<-"><+!>.ReplaceItemValue<-!><+!>(<-!><+"> itemName$<-"><+!>, 
<-!><+">value <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">itemName$<-">

@1st lev para@<:#200,8486>String. The name of the item(s) you want to replace.

<:#200,8486><+">value<-">

@1st lev para@<:#400,8486>The value of the new item. The data type of the item depends upon the data type of 
<+">value<-">, and does not need to match the data type of the old item.

@1st lev para@<:t74>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesItem<-">

@1st lev para@<:#400,8486>The new item, which replaces all previous items that had <+">itemName$<-">. The new item has a new 
<+">value, <-"> which may be of a different data type than the old item.

@Chead@<:#200,8486>"Extended Class" Syntax

<:#400,8486>You can also change an item's value using the NotesDocument "extended class" syntax, which eliminates the need for ReplaceItemValue. For example, suppose you had the following lines of script:

@Indnt mono@<:#600,8486>Dim item As NotesItem<**>Set item = doc.ReplaceItemValue( "Subject", "Update on stock options" )<**>Call doc.Save( False, True )

<:#200,8486>You could achieve the same result by doing the following:

@Indnt mono@<:#400,8486>doc.Subject = "Update on stock options"<**>Call doc.Save( False, True )

<:#800,8486>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.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_REPLACEITEMVALUE_METHOD<-*>

@Crossref@<:#200,8486><+)>NotesItem Class<-)><+*>H_NOTESITEM_CLASS<-*>

@Crossref@<:#200,8486><+)>AppendItemValue Method<-)><+*>H_APPENDITEMVALUE_METHOD<-*>

@Crossref@<:#200,8486>GetItemValue Method

@Chead title@<:#200,8486>Examples: ReplaceItemValue Method

<:#400,8486>1. This script uses ReplaceItemValue to change the value of the EstimatedCost item to 122. The new item is assigned to 
<:f,QCourier New,>item<:f>.

@Mono@<:#600,8486>Dim item As NotesItem<**>Set item = doc.ReplaceItemValue( "EstimatedCost", 122 )<**>Call doc.Save( False, True )

<:#200,8486>1a. This script uses the extended class syntax to change the value of the EstimatedCost item to 122.

@Mono@<:#400,8486>doc.EstimatedCost = 122<**>Call doc.Save( False, True )

<:#400,8486>1b. This script changes uses ReplaceItemValue to change the value of the EstimatedCost item to "Too much", which also changes the type of the item from Number to Text.

@Mono@<:#400,8486>Set item = doc.ReplaceItemValue( "EstimatedCost", "Too much" )<**>Call doc.Save( False, True )

@Bhead title@<:#220,8486>Send Method<:X8,119;Index "Send method" # "in NotesDocument">

<:#200,8486>Mails a document to the recipients you specify.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <+"><-!>notesDocument<-"><+!>.Send<-!><+!>(<-!><+"> attachForm%<+!><-"> 
<-!><[><+!>,<-!> <+">recipients<-"> ]<+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">attachForm<-">%

@1st lev para@<:#200,8486>Boolean. If True, the form is stored and sent along with the document. If False, it isn't. 

<:#200,8486><+">recipients<-">

@1st lev para@<:#400,8486>String or array of strings. The recipients of the document, which may include people, groups, or mail-in databases.

@Indnt bullet@<:#400,8486>Ignored if the document contains a SendTo item, in which case the document is mailed to recipients listed in SendTo.

@Indnt bullet@<:#200,8486>Required if the document does not contain a SendTo item.

@Chead@<:#200,8486>Usage

<:#200,8486>There are two kinds of fields that can affect the mailing of the document when you use Send:

@Bullet@<:#400,8486>If the document contains additional recipient items, such as CopyTo or BlindCopyTo, Notes mails the documents to these recipients, too.

@Bullet@<:#400,8486>If the document contains items to control the routing of mail, such as DeliveryPriority, DeliveryReport, or ReturnReceipt, Notes uses these when sending the document.

<:#600,8486>The SaveMessageOnSend property controls whether the sent document is saved in the database. If SaveMessageOnSend is True and you attach the form to the document, the form is saved with the document.

<:#400,8486>Sending the form increases the size of the document, but insures that the recipient can see all of the items on the document.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_SEND_METHOD<-*>

@Crossref@<:#200,8486>SaveMessageOnSend Property

@Chead title@<:#200,8486>Examples: Send Method

<:#400,8486>1. This example mails a document and its form. The document is mailed to the recipients contained in the SendTo item of the document.

@Mono@<:#200,8486>Call doc.Send( True )

<:#400,8486>2. This example sets the value of the SendTo item on a document. It then mails the document and its form. The document gets mailed to Carl Pycha.

@Mono@<:#600,8486>Call doc.ReplaceItemValue( "SendTo", "Carl Pycha" )<**>Call doc.Save( False, True )<**>Call doc.Send( True )

<:#200,8486>3. This example mails a document to Sally Bowles. The form is not mailed.

@Mono@<:#200,8486>Call doc.Send( False, "Sally Bowles" )

<:#200,8486>4. This example mails a document and its form to Jim Dinauer, Betty Dinauer, and Mary Sticka.

@Mono@<:#1000,8486>Dim recipients( 1 To 3 ) As String<**>recipients( 1 ) = "Jim Dinauer"<**>recipients( 2 ) = "Betty Dinauer"<**>recipients( 3 ) = "Mary Sticka"<**>Call doc.Send( True, recipients )

<:#200,8486>5. This example mails a document to anyone listed in its DocAuthor field.

@Mono@<:#200,8486>Call doc.Send( True, doc.DocAuthor )

<:#200,8486>6. This script creates a new document in the current database and mails it to Elissa Minty.

@Mono@<:#1800,8486>Dim session As New NotesSession<**>Dim db As New NotesDatabase<**>Dim doc As NotesDocument<**>Set db = session.CurrentDatabase<**>Set doc = New NotesDocument( db )<**>doc.Form = "Memo"<**>doc.SendTo = "Elissa Minty"<**>doc.Subject = "Here's the document you
 wanted!"<**>Call doc.Send( False )

@Bhead title@<:#220,8486>Sign Method<:X8,121;Index "Sign method" #>

<:#200,8486>Signs a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesDocument<-"><+!>.Sign<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>If you want the signature to be saved, you must call the Save method after signing the document.

<:#200,8486>If the script is running on a server, you must have permission to use the Sign method.

@Bhead title@<:#220,8486>Save Method<:X8,121;Index "Save method" # "in NotesDocument">

<:#200,8486>Saves any changes you have made to a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+">flag%<+!><-"> = <+"><-!>notesDocument<-"><+!>.Save<-!><+!>(<-!><+"> force%<+!><-">, 
<-!><+">createResponse%<+!><-"> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">force<-">%

@1st lev para@<:#400,8486>Boolean. If TRUE, the document is saved without regard to conflicts. If two users modify a document and then save it with the force option, the later version of the document is saved. 

@1st lev para@<:#400,8486>If FALSE, and there is a conflict at save time (for example, the document on disk has been modified since the script opened it), the 
<+">createResponse% <-">argument determines what will happen.

<:#200,8486><+">createResponse<-">%

@1st lev para@<:#400,8486>Boolean. If TRUE, the current document becomes a response to the modified document (this is what the replicator does when there's a replication conflict). If FALSE, the Save is cancelled.

@Chead@<:#200,8486>Return Value

@Bhead title@<:t83><:p<* >>

@Ahead@<:#240,8486>NotesDocumentCollection Class<:X8,122;Index "NotesDocumentCollection class" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Represents a collection of documents from a database, selected according to specific criteria.

@Chead@<+@><:I0,0,0,0><:S+-1>Properties<:t71>Methods

@Chead@<:t72>

@Chead@<:#200,8486>Access

<:#600,8486>A NotesDocumentCollection represents a subset of all the documents in a database. The documents in the subset are determined by the NotesDatabase method or property you use to search the database, which can be any of the following:

@Bullet@<:#200,8486>AllDocuments property

@Bullet@<:#200,8486>UnprocessedDocuments property

@Bullet@<:#200,8486>Search method

@Bullet@<:#200,8486>UnprocessedSearch method

@Bullet@<:#200,8486>FTSearch method

@Bullet@<:#200,8486>UnprocessedFTSearch method

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Usage

<+@><:I0,0,0,0><:S+-1><:#422,8486>Both NotesDocumentCollection and NotesView objects provide access to documents within a database. Use a NotesDocumentCollection object if:

@Bullet@<+@><:S+-1><:#211,8486>you want to act on a specific set of documents that meet certain criteria

@Bullet@<+@><:S+-1><:#211,8486>there is no view in the database that contains every document you need to search

@Bullet@<+@><:S+-1><:#211,8486>you do not need to navigate the documents' response hierarchies.

<+@><:I0,0,0,0><:S+-1><:#422,8486>Views are a more efficient means of accessing documents because they are already indexed by the database itself. However, they do not necessarily provide access to the documents that you want.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Ordering of documents

<+@><:I0,0,0,0><:S+-1><:#422,8486>The documents in a collection are ordered when the collection results from a full text search. Otherwise the documents are unordered.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESDOCUMENTCOLLECTION_CLASS<-*>

@Crossref@<:#200,8486>NotesDatabase class

@Crossref@<:#200,8486>AllDocuments Property

@Crossref@<:#200,8486>UnprocessedDocuments property

@Crossref@<:#200,8486>Search method

@Crossref@<:#200,8486>UnprocessedSearch method

@Crossref@<:#200,8486>FTSearch method

@Crossref@<:#200,8486>UnprocessedFTSearch method

@Chead title@<:#200,8486>Examples: NotesDocumentCollection Class

<:#400,8486>1. This example uses the AllDocuments property in NotesDatabase to get a NotesDocumentCollection object representing all of the documents in a database.

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Ankara", "project.nsf" )<**>Dim collection As NotesDocumentCollection<**>Set collection = db.AllDocuments

<:#400,8486>2. This example uses the Search method in NotesDatabase to get a NotesDocumentCollection object representing all of the documents created after March 4, 1995 whose Subject contains "lake."

@Mono@<:#1200,8486>Dim db As New NotesDatabase( "Ankara", "project.nsf" )<**>Dim datetime As New NotesDateTime( "03/04/95" )<**>Dim selection As String<**>Dim collection As NotesDocumentCollection<**>selection = "@Contains( Subject; ""lake"" )"<**>Set collection = db.Search( 
selection, dateTime, 0 )

@Bhead title@<:#220,8486>Count Property<:X8,123;Index "Count property" #>

<:#200,8486>Read-only. The number of documents in a collection.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Data Type

<:#200,8486>Long

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">numDocs&<+!><-"> = <-!><+">notesDocumentCollection<+!><-">.Count<-!>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_COUNT_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: Count Property

<:#200,8486>1. This example uses the Count property to print the total number of documents in the current database.

@Mono@<:#1200,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim collection As NotesDocumentCollection<**>Set db = session.CurrentDatabase<**>Set collection = db.AllDocuments<**>Print collection.Count

<:#800,8486>2. This example uses Count and GetNthDocument in a For loop to process every document in a collection. The collection consists of documents were created after January 1, 1994 and have Subject items but not Topic items. The body of the For loop copies the co
ntents of the Subject into Topic, and then deletes the Subject.

@Mono@<:#3200,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim collection As NotesDocumentCollection<**>Dim doc As NotesDocument<**>Dim dateTime As New NotesDateTime( "01/01/94" )<**>Set db = session.CurrentDatabase<**>Set collection = db.Search( "@IsUna
vailable( Topic ) & @IsAvailable( Subject )", dateTime, 0 )<**>Print collection.Count<**>For i = 1 To collection.Count<**>  Set doc = collection.GetNthDocument( i )<**>  oldSubject = doc.Subject<**>  doc.Topic = oldSubject( 0 )<**>  Call doc.RemoveItem( "Su
bject" )<**>  Call doc.Save( True, False )<**>Next

@Bhead title@<:#220,8486>IsSorted Property<:X8,124;Index "IsSorted property" # "in NotesDocumentCollection">

<:#400,8486>Read-only. Indicates if the documents in a collection are sorted. A collection is sorted only when it results from a full text search of a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag<-"><+">%<-"> <+!>=<-!> <+">notesDocumentCollection<-"><+!>.IsSorted<-!>

@Chead@<:#200,8486>Legal Values

<:t70>

@Chead@<:#200,8486>Usage

<:#800,8486>When a collection is sorted, the documents are sorted by relevance score with the most-relevant document appearing first. A relevance score is a number that Notes assigns to each document that matches a particular full text search query to indicate the numb
er of matches found in the document <+!><+">YYTRUE?<-"><-!>.

<:#200,8486>

@Bhead title@<:#220,8486>Parent Property<:X8,124;Index "Parent property" # "in NotesDocumentCollection">

<:#200,8486>Read-only. The database that contains a document collection.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!><++>Set <-+><+"><-!>notesDatabase <-"><+!>= <-!><+">notesDocumentCollection<+!><-">.Parent<-!>

<:#200,8486><+!>

@Bhead title@<:#220,8486><+!>Query Property<:X8,125;Index "Query property" # "in NotesDocumentCollection">

<:#400,8486>Read-only. The text of the query that produced a document collection, if the collection results from a full text or other search.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">query$<+!><-"> = <-!><+">notesDocumentCollection<+!><-">.Query<-!>

<:#200,8486><+!>

@Bhead title@<:#220,8486>GetFirstDocument Method<:X8,125;Index "GetFirstDocument method" # "in NotesDocumentCollection">

<:#200,8486>Gets the first document in a collection.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Syntax

<:#200,8486><+!><++>Set <-+><+"><-!>notesDocument <-"><+!> = <+"><-!>notesDocumentCollection<-"><+!>.GetFirstDocument<-!>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument <-">

@1st lev para@<:#200,8486>The first document in the collection.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETFIRSTDOCUMENT_METHOD<-*>

@Crossref@<:#200,8486><+)>NotesDocument class<-)>

@Crossref@<:#200,8486><+)>GetFirstDocument method<-)>

@Crossref@<:#200,8486><+)>GetLastDocument method<-)>

@Crossref@<:#200,8486><+)>GetNextDocument method<-)>

@Crossref@<:#200,8486><+)>GetPrevDocument method<-)>

@Crossref@<:#200,8486><+)>GetNthDocument method<-)>

@Chead title@<:#200,8486>Examples: GetFirstDocument Method

<:#200,8486>1. This example gets the first document in a collection and assigns it to 
<:f,QCourier New,>doc<:f>.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "Ankara", "project.nsf" )<**>Dim collection As NotesDocumentCollection<**>Dim doc As NotesDocument<**>Set collection = db.AllDocuments<**>Set doc = collection.GetFirstDocument

<:#200,8486>

@Bhead title@<:#220,8486>GetLastDocument Method<:X8,125;Index "GetLastDocument method" # "in NotesDocumentCollection">

<:#200,8486>Finds the last document in a collection.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <+"><-!>notesDocument  <-"><+!>= <-!><+">notesDocumentCollection<-"><+!>.GetLastDocument<-!>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument <-">

@1st lev para@<:#200,8486>The last document in the collection.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>NotesDocument class<-)>

@Crossref@<:#200,8486><+)>GetFirstDocument method<-)>

@Crossref@<:#200,8486><+)>GetNextDocument method<-)>

@Crossref@<:#200,8486><+)>GetPrevDocument method<-)>

@Crossref@<:#200,8486><+)>GetNthDocument method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>GetNextDocument Method<:X8,126;Index "GetNextDocument method" # "in NotesDocumentCollection">

<:#200,8486>Given a document, finds the document immediately following it in a collection.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesDocumentCollection<+!><-">.GetNextDocument<-!><+!><-">(<-!><+"> notesDocument 
<-"><+!>)<-!><-"><-">

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>Any document in the collection.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>The document following the <+">notesDocument <-">parameter in the collection.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETNEXTDOCUMENT_METHOD<-*>

@Crossref@<:#200,8486><+)>NotesDocument class<-)>

@Crossref@<:#200,8486><+)>GetFirstDocument method<-)>

@Crossref@<:#200,8486><+)>GetLastDocument method<-)>

@Crossref@<:#200,8486><+)>GetPrevDocument method<-)>

@Crossref@<:#200,8486><+)>GetNthDocument method<-)>

@Chead title@<:#200,8486>Examples: GetNextDocument Method

<:#400,8486>1. This example uses GetNextDocument to get the second document in a collection, and assigns it to 
<:f,QCourier New,>secondDoc<:f>.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "Ankara", "project.nsf" )<**>Dim collection As NotesDocumentCollection<**>Dim firstDoc As NotesDocument<**>Dim secondDoc As NotesDocument<**>Set collection = db.AllDocuments<**>Set firstDoc = collection.GetFirstDocument<**>Set s
econdDoc = collection.GetNextDocument( firstDoc )

@Bhead title@<:#220,8486>GetNthDocument Method<:X8,127;Index "GetNthDocument method" # "in NotesDocumentCollection">

<:#200,8486>Given an offset number, returns the document at the given offset number in a collection. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesDocumentCollection<+!><-">.GetNthDocument<-!><+!><-">(<-!><+"> n%<+!><-"> )<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#400,8486>Integer. A number indicating the document to return. Use 1 to indicate the first document in the view, 2 to indicate the second document, and so on.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument <-">

@1st lev para@<:#200,8486>The document in the <+">n<-">th position in the collection.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>NotesDocument class<-)>

@Crossref@<:#200,8486><+)>GetFirstDocument method<-)>

@Crossref@<:#200,8486><+)>GetLastDocument method<-)>

@Crossref@<:#200,8486><+)>GetNextDocument method<-)>

@Crossref@<:#200,8486><+)>GetPrevDocument method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>GetPrevDocument Method<:X8,127;Index "GetPrevDocument method" # "in NotesDocumentCollection">

<:#200,8486>Given a document, finds the document immediately preceding it in a collection.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDocumentCollection

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesDocumentCollection<+!><-">.GetPrevDocument<-!><+!><-">(<-!><+"> notesDocument 
<-"><+!>)<-!><-"><-">

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">notesDocument <-">

@1st lev para@<:#200,8486>Any document in the collection.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument <-">

@1st lev para@<:#200,8486>The document preceding the <+">notesDocument <-">parameter in the collection.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>NotesDocument class<-)>

@Crossref@<:#200,8486><+)>GetFirstDocument method<-)>

@Crossref@<:#200,8486><+)>GetLastDocument method<-)>

@Crossref@<:#200,8486><+)>GetNextDocument method<-)>

@Crossref@<:#200,8486><+)>GetNthDocument method<-)>

<:p<* >>

@Ahead@<:#240,8486>NotesEmbeddedObject Class<:X8,129;Index "NotesEmbeddedObject class" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Represents embedded objects, linked objects, and file attachments.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Containment

<+@><:I0,0,0,0><:S+-1><:#211,8486>Contained by: NotesDocument and NotesRichTextItem

@Chead@<:#200,8486>Properties

@Chead@<:t68>Methods

@Chead@<:t69>

<:#200,8486>

@Bhead title@<:#220,8486>Class Property<:X8,129;Index "Class property" #>

<:#400,8486>Read-only. The name of the application which created an object. Links and embedded objects always have a class name; file attachments may or may not.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">className$ <-"><+!>= <-!><+">notesEmbeddedObject<-"><+!>.<-!><+!>Class<-!>

<:#200,8486>

@Bhead title@<:#220,8486>FileSize Property<:X8,129;Index "FileSize property" #>

<:#200,8486>Read-only. The size of an object (attached file or embedded object).

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Data Type

<:#200,8486>Long

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">size<-"><+">& <-"><+!>= <-!><+">notesEmbeddedObject<-"><+!>.<-!><+!>FileSize<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Name Property<:X8,129;Index "Name property" # "in NotesEmbeddedObject">

<:#200,8486>Read-only. The name used to reference an object, if any.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">n<-"><+">ame$ <-"><+!>= <-!><+">notesEmbeddedObject<-"><+!>.<-!><+!>Name<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Object Property<:X8,130;Index "Object property" #>

<:#600,8486>Read-only. If an embedded object has been loaded into memory, returns the OLE handle (IUnknown or IDispatch handle). If the OLE object supports OLE Automation, you can invoke the methods and properties of the object using the handle.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">handleV <-"><+!>= <-!><+">notesEmbeddedObject<-"><+!>.<-!><+!>Object

<:#200,8486>

@Bhead title@<:#220,8486>Parent Property<:X8,130;Index "Parent property" # "in NotesEmbeddedObject">

<:#200,8486>Read-only. The rich text item that holds an object.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>SET <-!><+">notesRichTextItem<-"><+"> <-"><+!>= <-!><+">notesEmbeddedObject<-"><+!>.<-!><+!>Parent<-!>

@Chead@<:#200,8486>Related Topics

@Crossref@<:#200,8486><+)>RichTextItem class<-)>

<:#200,8486>

@Bhead title@<:#220,8486>Source Property<:X8,130;Index "Source property" #>

<:#600,8486>Read-only. The source document (for embedded objects and file attachments) or source document/item (for links) of an object. For file attachments, the source is a file path. For embedded and linked objects, the source conforms to OLE syntax.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">source<-"><+">$ <-"><+!>= <-!><+">notesEmbeddedObject<-"><+!>.<-!><+!>Source<-!>

@Bhead title@<:#220,8486>Type Property<:X8,131;Index "Type property" # "in NotesEmbeddedObject">

<:#400,8486>Read-only. Indicates if an embedded object is a link to an external object, a file attachment, or an embedded data object.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Data Type

<:#200,8486>Constant of type integer

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">type<-"><+">% <-"><+!>= <-!><+">notesEmbeddedObject<-"><+!>.<-!><+!>Type<-!>

@Chead@<:#200,8486><+!>Return Values

<+!><:t67>

<:#200,8486>

@Bhead title@<:#220,8486>Verbs Property<:X8,131;Index "Verbs property" #>

<:#200,8486>Read-only. The verbs that an object supports, if the object is an OLE/2 embedded object.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of strings

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">stringArray <-"><+"> <-"><+!>= <-!><+">notesEmbeddedObject<-"><+!>.<-!><+!>Verbs<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>To invoke a verb on an object, use the DoVerb method.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>DoVerb method

@Chead@<:#200,8486>

@Bhead title@<:#220,8486>Activate Method<:X8,131;Index "Activate method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Causes an embedded object to be loaded by OLE. 

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Syntax

<:#200,8486><+">handleV<+!><-"> = <+"><-!>notesEmbeddedObject<-"><+!>.Activate<-!>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">handleV<-">

@1st lev para@<:#200,8486>Variant. OLE handle to the object.

<:#200,8486>

@Bhead title@<:#220,8486>DoVerb Method<:X8,132;Index "DoVerb method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Given the name of a verb, executes the verb in an embedded object. 

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesEmbeddedObject<-"><+!>.DoVerb<-!><+!>(<-!><+"> verb<-"><+">$<-"><+!> )<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">verb<-"><+">$<+!><-">

@1st lev para@<:#200,8486>String. The name of one of the object's verbs.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>Verbs property

<:#200,8486>

@Bhead title@<:#220,8486>ExtractFile Method<:X8,132;Index "ExtractFile method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Copies a file attachment to disk.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesEmbeddedObject<-"><+!>.ExtractFile<-!><+!>(<-!><+"> path$<-"><+!> )<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">path$<+!><-">

@1st lev para@<:#400,8486>String. Path indicating the location on disk to store the extracted file. 
<+!><+">YY can you specify a drive, too?<-"><-!>

<:#200,8486>

@Bhead title@<:#220,8486>Remove Method<:X8,132;Index "Remove method" # "in NotesEmbeddedObject">

<+@><:I0,0,0,0><:S+-1><:#211,8486>Deletes an object from its document. The document is not updated until you call the Save method.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Defined In

<:#200,8486>NotesEmbeddedObject

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesEmbeddedObject<-"><+!>.Remove<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>NotesDocument.Save method

<:p<* >>

@Ahead@<:#240,8486>NotesItem Class<:X8,133;Index "NotesItem class" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Represents a piece of data on a document.

<+@><:I0,0,0,0><:S+-1><:#633,8486>In the user interface, Notes displays items on a document through fields on a form. When a field on a form and an item on a document have the same name, the field displays the item (for example, the Subject field displays the Subject item).

<+@><:I0,0,0,0><:S+-1><:#422,8486>All of the items on a document are accessible through LotusScript, whether or not they are displayed in fields on the current form.

@Chead@<:#200,8486>Derived Classes

<:#200,8486>RichTextItem inherits from NotesItem class.

@Chead@<:#200,8486>Containment

<:#200,8486>Contained by: NotesDocument

@Chead@<:#200,8486>Properties

@Chead@<:t66>Methods

@Chead@<:t65>

@Chead@<:#200,8486>Creation

<:#200,8486>There are two ways to create a new NotesItem object:

@Bullet@<:#200,8486>To create one from scratch, use New.

@Bullet@<:#400,8486>To create a new NotesItem object from one that already exists, use AppendItemValue, CopyItem, or ReplaceItem in NotesDocument.

<:#400,8486>Given a document, New creates an item on the document with a name and value that you specify. The data type of the item depends on the value you give it. 

<:#400,8486>You must call Save on the document if you want the modified document to be saved to disk. The document won't display the new item unless there is a field of the same name on the document's form.

@Chead@<:I0,0,0,0><:S+-1><:#221,8486>Syntax

<:#200,8486><+!>Dim <-!><+">variableName<+!><-"> As <-!><+!>New NotesItem(<+"><-!> notesDocument<-"><+!>, 
<-!><+">n<-"><+">ame$<+!><-">, <-!><+">valueV<+!><-">,<-!> <+!> <-!><[><+"> specialType%<-"> ]<+"> 
<-"><+!>)<-!> or

<:#200,8486><+!>Set<-!><+!> <+"><-!>notesItem<+!><-"> = <-!><+!>New NotesItem(<+"><-!> notesDocument<-"><+!>, 
<-!><+">n<-"><+">ame$<+!><-">, <-!><+">valueV<+!><-">,<-!> <+!> <-!><[><+"> specialType%<-"> ]<+"> 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>The document on which to create the item.

<:#200,8486><+">n<-"><+">ame$<-">

@1st lev para@<:#200,8486>String. The name of the new item.

<:#200,8486><+">value<-">

@1st lev para@<:#400,8486>The value to assign to the new item. The data type of <+">value<-"> determines the type of item that Notes creates:

@1st lev para@<:t54>

<:#200,8486><+">specialType%<-">

@1st lev para@<:#600,8486>Optional. Indicates if a text item should be a Names, Reader Names, or Author Names field. Can be one of the following constants: NAMES, READERS, or AUTHORS. To use 
<+">specialType%, <-">the <+">value<-"> parameter must be a string.

@Chead@<:#200,8486>Access

<+@><:I0,0,0,0><:S+-1><:#211,8486>There are several ways to access an existing NotesItem object:

@Bullet@<:#200,8486>To access an item when you know its name, use GetFirstItem in NotesDocument.

@Bullet@<:#600,8486>To access all the items of the same name on a document, use GetFirstItem and GetNextItem in NotesDocument. When an item exceeds a certain size, Notes breaks it into multiple items of the same name.

@Bullet@<:#200,8486>To access all the items on a document, use Items in NotesDocument.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Accessing items directly from a document

<+@><:I0,0,0,0><:S+-1><:#422,8486>For convenience, NotesDocument has methods you can use to access items without declaring a NotesItem object. All you need to know is the name of the item:

@Bullet@<:#200,8486>To get an item's value, use GetItemValue.

@Bullet@<:#200,8486>To set an item's value, use ReplaceItem.

@Bullet@<:#200,8486>To create a new item, use AppendItemValue.

@Bullet@<:#200,8486>To check for the existence of a particular item on a document, use HasItem.

@Bullet@<:#200,8486>To delete an item from a document, use RemoveItem.

@Chead@<:#200,8486>Rich text fields

<+@><:I0,0,0,0><:S+-1><:#422,8486>NotesRichTextItem, which inherits all the properties and methods of NotesItem, has additional properties and methods you can use to manipulate a rich text field.

@Chead@<:#200,8486>Saving Changes

<+@><:I0,0,0,0><:S+-1><:#422,8486>After you create or modify an item, you must save the changes by calling the parent document's Save method. 

@Caution@<:#400,8486>If you don't call Save before the script finishes, all of your changes to a NotesItem object are lost.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESITEM_CLASS<-*>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>NotesRichTextItem class

@Chead title@<:#200,8486>Examples: NotesItem Class

<:#200,8486>1. This code creates three new items on a document: a text item, a number item, and a time-date item.

@Mono@<:#1000,8486><**>Set doc = view.GetFirstDocument<**>Dim textItem As New NotesItem( doc, "Region", "South America" )<**>Dim numberItem As New NotesItem( doc, "Earnings", 98 )<**>Dim timeDateItem As New NotesItem( doc, "LastAccessed", Today )<**>Call doc.Save( False, True
 )

<:#400,8486>2. This code creates a new text item on a document and gives it multiple values. The values in the text list are Bicycle, Train, and Foot.

@Mono@<:#1600,8486>Set currentDoc = view.GetFirstDocument<**>Dim newValues( 2 ) As String<**>newValues( 0 ) = "Bicycle"<**>newValues( 1 ) = "Train"<**>newValues( 2 ) = "Foot"<**>myVariant = newValues<**>Dim textList As New NotesItem( currentDoc, "Choices", myVariant )<**>Call
 currentDoc.Save( False, True )

<:#400,8486>3. This code creates an Author Names item on a document. The values in the item are Mariko Nakamura and Pierre Singer.

@Mono@<:#1600,8486>Set currentDoc = view.GetFirstDocument<**>Dim newValues( 1 ) As String<**>newValues( 0 ) = "Mariko Nakamura"<**>newValues( 1 ) = "Pierre Singer"<**>myVariant = newValues<**>Dim authorsItem As New NotesItem( currentDoc, "docAuthors", myVariant, AUTHORS )<**>
Call currentDoc.Save( False, True )

<+@><:I0,0,0,0><:#200,8486><-#><+!><:f>

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>DateTimeValue Property<:X8,135;Index "DateTimeValue property" #>

<+@><:I0,0,0,0><:#400,8486>Read-Write. For items of type TIME, the date-time value of the item. For items of other types, returns Nothing.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesItem

@Chead@<+@><:I0,0,0,0><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>NotesDateTime

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486>To get: <+!>SET <-!><+">notesDateTime<+!><-"> = <-!><+">notesItem<+!><-">.DateTimeValue<-!>

<+@><:I0,0,0,0><:#200,8486>To set: <+">notesItem<+!><-">.DateTimeValue<-!><+!> = <-!><+">notesDateTime<-">

@Chead@<+@><:I0,0,0,0><:#200,8486>Usage

<+@><:#400,8486>The Notes date-time format is more precise than the LotusScript format. Use this property if you need precise times for database searches.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDateTime class

<+@><:#200,8486>

@Bhead title@<:#220,8486>IsAuthors Property<:X8,136;Index "IsAuthors property" #>

<:#400,8486>Read-Write. Indicates whether or not an item is of type Author Names. An Author Names item contains the names of people who have Author access to a particular document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <+"><-!>notesItem<+!><-">.IsAuthors<-!><-">

<:#200,8486>To set: <+">notesItem<+!><-">.IsAuthors = <-!><+">flag%<-"><-">

@Chead@<:#200,8486>Legal Values

<:t58>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>IsNames property

@Crossref@<:#200,8486>IsReaders property

@Crossref@<:#200,8486><+)>Authors Property<-)><+*>H_AUTHORS_PROPERTY<-*> in NotesDocument

<:#200,8486>

@Bhead title@<:#220,8486>IsEncrypted Property<:X8,136;Index "IsEncrypted property" #>

<:#400,8486>Read-Write. Indicates if an item is encrypted. The item is not actually encrypted until its parent document is encrypted.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag<-"><+">%<+!><-"> = <-!><+">notesItem<+!><-">.IsEncrypted<-!>

<:#200,8486>To set: <+">notesItem<+!><-">.IsEncrypted <-!><+!>= <-!><+">flag%<-">

@Chead@<:#200,8486><+!>Legal <-!><+!>Values<-!>

@Bhead@<:t62>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>Parent property

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>Encrypt method

<:#200,8486>

@Bhead title@<:#220,8486>IsNames Property<:X8,137;Index "IsNames property" #>

<:#200,8486>Read-Write. Indicates if an item is a Names item.  A Names item contains a list of Notes user names.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag% <+!><-">= <-!><+">notesItem<+!><-">.IsNames<-!>

<:#200,8486>To set: <+">notesItem<+!><-">.IsNames = <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t57>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>IsAuthors property

@Crossref@<:#200,8486>IsReaders property

<:#200,8486>

@Bhead title@<:#220,8486>IsProtected Property<:X8,137;Index "IsProtected property" #>

<:#200,8486>Read-Write. Indicates if a user needs Editor access to modify an item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag<-"><+">%<+!><-"> = <-!><+">notesItem<+!><-">.IsProtected<-!>

<:#200,8486>To set: <+">notesItem<+!><-">.IsProtected<-!><+!> <-!><+!>= <-!><+">flag%<-">

@Chead@<:#200,8486><+!>Legal <-!><+!>Values<-!>

<:t60>

<:#200,8486>

@Bhead title@<:#220,8486>IsReaders Property<:X8,138;Index "IsReaders property" #>

<:#400,8486>Read-Write. Indicates whether or not an item is of type Reader Names. A Reader Names item contains the names of people who have Reader access to a particular document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <+"><-!>notesItem<+!><-">.IsReaders<-!>

<:#200,8486>To set: <+">notesItem<+!><-">.IsReaders<-!><+!>= <-!><+">flag%<-"><-">

@Chead@<:#200,8486>Legal Values

@Bhead@<:t56>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>IsNames property

@Crossref@<:#200,8486>IsAuthors property

<:#200,8486>

@Bhead title@<:#220,8486>IsSigned Property<:X8,138;Index "IsSigned property" # "in NotesItem">

<:#200,8486>Read-Write. Indicates if an item contains a signature.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag<-"><+">%<+!><-"> = <-!><+">notesItem<+!><-">.IsSigned<-!>

<:#200,8486>To set: <+">notesItem<+!><-">.IsSigned = <-!><+">flag%<-">

@Chead@<:#200,8486><+!>Legal Values<-!>

@Bhead@<:t63>

<:#200,8486>

@Bhead title@<:#220,8486>IsSummary Property<:X8,138;Index "IsSummary property" #>

<:#200,8486>Read-Write. Indicates if an item can appear in a view or folder.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag<-"><+">%<+!><-"> = <-!><+">notesItem<+!><-">.IsSummary<-!>

<:#200,8486>To set: <+">notesItem<+!><-">.IsSummary <-!><+!>= <-!><+">flag%<-">

@Chead@<:#200,8486><+!>Legal <-!><+!>Values<-!>

@Bhead@<:t61>

@Chead@<:#200,8486>Usage

<:#200,8486>Rich text cannot appear in a view, so the IsSummary property for a RichTextItem returns FALSE.

<:#600,8486>Every field has a flag that indicates whether its data can appear in a view or not. To see these flags in Notes, look in the Document Properties box, under the Fields tab. Under the Field Flags section for each of the fields, you'll see the SUMMARY flag app
ears for some fields and not for others.

<:#200,8486>

@Bhead title@<:#220,8486>Name Property<:X8,139;Index "Name property" # "in NotesItem">

<:#200,8486>Read-only. The name of an item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">itemName$<+!><-"> = <-!><+">notesItem<+!><-">.Name<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>All file attachments have the name $FILE. A file attachment is considered an individual item, and it may constitute only a portion of the data stored in a rich text field.

<:#200,8486><+!>

@Bhead title@<:#220,8486>Parent Property<:X8,139;Index "Parent property" # "in NotesItem">

<:#200,8486>Read-only. The document that contains an item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>SET <+"><-!>notesDocument<-"><+!> = <-!><+">notesItem<+!><-">.Parent<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDocument class

<:#200,8486><+!>

@Bhead title@<:#220,8486>Text Property<:X8,140;Index "Text property" #>

<:#200,8486>Read-only. A plain text representation of an item's value.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">itemText<-"><+">$<+!><-"> = <-!><+">notesItem<+!><-">.Text<-!>

@Chead@<:#200,8486><+!>Usage

<:#400,8486>Multiple values in a list are separated by semicolons. If an item's value is large, the returned string may be truncated.

<:#200,8486>For rich text fields, this property skips non-text data such as bitmaps and file attachments.

<:#200,8486><+!>

@Bhead title@<:#220,8486>Type Property<:X8,140;Index "Type property" # "in NotesItem">

<:#200,8486>Read-only. The type of an item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Constant of type integer

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">itemType<-"><+">%<+!><-"> = <-!><+">notesItem<+!><-">.Type<-!>

@Chead@<+!>Legal <-!><+!>Values<-!><+!><:t64>

@Chead@<:#200,8486>Usage

<:#400,8486>Notes stores names, reader names, and author names items as TEXT. To determine if a text item is one of these types, use one of the following properties:

@Bullet@<:#200,8486>IsNames

@Bullet@<:#200,8486>IsReaders

@Bullet@<:#200,8486>IsAuthors

<:#200,8486>

@Bhead title@<:#220,8486>ValueLength Property<:X8,141;Index "ValueLength property" #>

<:#200,8486>Read-only. The size of an item's value in bytes.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Integer

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">size<-"><+">%<+!><-"> = <-!><+">notesItem<+!><-">.ValueLength<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Values Property<:X8,141;Index "Values property" #>

<:#200,8486>Read-Write. The value(s) that an item holds.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Data Type

<:#200,8486>The Values data type depends upon the type of the item.

<:t55>

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">valueArray<-"><+!> = <-!><+">notesItem<+!><-">.Values<-!>

<:#200,8486>To set: <+">notesItem<+!><-">.Values <-!><+!>= <-!><+">valueArray<-">

@Chead@<:#200,8486>Usage

<:#400,8486>To access each value, you loop through the returned array. The easiest way to loop through an array of unknown length is with the LotusScript Forall...End Forall statement:

@Mono@<:#200,8486>Forall v in myItem.Values

@Mono@<:#200,8486>   ' code to perform on each item

@Mono@<:#200,8486>End Forall

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_VALUES_PROPERTY<-*>

@Crossref@<:#200,8486>NotesDocument.GetItemValue method

@Crossref@<:#200,8486>NotesDocument.ReplaceItem method

@Crossref@<:#200,8486>Type property

@Chead title@<:#200,8486>Examples: Values Property

<:#200,8486>1. This code sets the value of the "SendTo" item (on a mail memo, for example) to "Esteban Garcia".

@Mono@<:#200,8486>myDoc.FindFirstItem( "SendTo" ).Values = "Esteban Garcia"

<:#800,8486>2. This sub takes any NotesItem object of type TEXT, and appends one or more text values to the item, without erasing the existing contents of the item. 
<+!><+">YY now that AppendToTextList method exists, this sub isn't necessary, but it could still be necessary if you wanted work with a NotesItem object of type Number, so it's included here.<-"><-!>

@Mono@<:#7800,8486>' -------------------------------------------------------<**>' Takes string value(s) and adds them to a field, without<**>' removing any values that already exist in the field.<**>' -------------------------------------------------------<**>Sub AppendValue(
 itm As NotesItem, v As Variant )<**>  ' itm is a field that already contains one or more values<**>  ' v is either a single string, or an array of strings<**>  Dim doc As NotesDocument   ' the document that contains the item<**>  Dim newValues () As String
 ' the array of all values, both old and appended <**>  oldValues = itm.Values     ' the values currently in the item   
<**><**>  ' Make sure the new array of values is the appropriate size<**>  If Isarray( v ) Then<**>    Redim newValues( Ubound( oldValues ) + Ubound( v ) + 1 )<**>  Else<**>    Redim newValues( Ubound( oldValues ) + 1 )<**>  End If<**><**>  ' Copy all exist
ing values into the new array of values<**>  For j = 0 To Ubound( oldValues ) 
<**>    newValues( j ) = oldValues( j )<**>  Next<**><**>  ' Now append new value(s) onto the end of the array,<**>  ' beginning one element past the last old value<**>  If Isarray( v ) Then<**>    For k = ( Ubound( oldValues ) + 1 )  To Ubound( newValues )
<**>      newValues( k ) = v( k - Ubound( oldValues ) - 1 )<**>    Next<**>  Else<**>    newValues( Ubound( oldValues ) + 1 ) = v<**>  End If<**><**>  ' Set the Values property using the new array, and save the document<**>  itm.Values = newValues<**>  Set 
doc = itm.Parent<**>  Call doc.Save( False, True )<**>End Sub

<:#200,8486>

@Bhead title@<:#220,8486>Abstract Method<:X8,143;Index "Abstract method" #>

<:#200,8486>Abbreviates the contents of a text item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+">abbreviation$<+!><-"> = <-!><+">notesItem<+!><-">.Abstract( <-!><+">maxAbstract&<+!><-">, 
<-!><+">dropVowels%<+!><-">, <+"><-!>useDictionary%<+!><-"> )<-!><-">

@Chead@<:#200,8486><+!>Parameters<-!>

<:#200,8486><+">maxAbstract&<-">

@1st lev para@<:#200,8486>Long. The maximum length of the <+">abbreviation$.<-">

<:#200,8486><+">dropVowels%<-">

@1st lev para@<:#400,8486>Boolean. Specify True if you want to drop vowels from the words in the item. Otherwise, specify False.

<:#200,8486><+">useDictionary%<-">

@1st lev para@<:#400,8486>Boolean. Specify True if you want to use the table of abbreviations in noteabbr.txt. Otherwise, specify False.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">abbreviation$<-">

@1st lev para@<:#400,8486>String. The contents of the item, with vowels dropped and abbreviations substituted (if specified), then truncated to fit to 
<+">maxSize&.<-">

<:#200,8486>

@Bhead title@<:#220,8486>AppendToTextList Method<:X8,144;Index "AppendToTextList method" #>

<:#200,8486>For an item that's a text list, adds a new value to the item without erasing any existing values.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesItem<+!><-">.AppendToTextList( <-!><+">newValue<-"><+!> )<-!>

@Chead@<:#200,8486><+!>Parameter<-!>

<:#200,8486><+">newValue<-">

@1st lev para@<:#200,8486>String or array of strings. The string(s) you want to add to the item.

<:#200,8486>

@Bhead title@<:#220,8486>Contains Method<:X8,144;Index "Contains method" #>

<:#200,8486>Checks an item to see if it contains a value.

@Bullet@<:#200,8486>Given a single value, checks if your value matches at least one of the item's values exactly.

@Bullet@<:#400,8486>Given an array of mutliple values, checks if each of your values matches at least one of the item's values.

<:#200,8486>This method <+">cannot<-"> search a text item to see if it contains a specific word!

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+">flag%<+!><-"> = <+"><-!>notesItem<+!><-">.<-!><+!>Contains<-!><+!>(<+"><-!> value 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">value<-">

@1st lev para@<:#400,8486>String or array of strings; number or array of numbers; variant of type DATE or array of variants of type DATE. Any value.

@Chead@<:#200,8486>Return Values

@Bhead@<:t59>

@Chead@<:#200,8486>Usage

<:#400,8486>If <+">value <-">is a distinguished name, and if the item contains names, the distinguished name matches the common version of the hierarchical name.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_CONTAINS_METHOD<-*>

@Chead title@<:#200,8486>Examples: Contains Method

<:#1000,8486>1. Your project on exotic orchids takes top priority next week, so you want to place all orchid-related mail in the folder "Next week." This code checks a mail memo to see if "Exotic Orchids" is one of its categories; if so, the memo is placed in the folder
. The memo may contain several values in its Categories item; as long as one of the values matches "Exotic Orchids", the Contains method returns True.

@Mono@<:#800,8486>Set category = memo.GetFirstItem( "Categories" )<**>If category.Contains( "Exotic Orchids" ) Then<**>  Call memo.PutInFolder( "Next week" )<**>End If

<:#600,8486>2. This code checks a mail memo to see if both "Exotic Orchids" and "Orchid Poaching" are in the Categories item. Again, the memo may contain several values in its Categories item; as long as one value matches "Exotic Orchids" and one matches "Orchid Poachi
ng," the memo gets put in the folder.

@Mono@<:#1600,8486>Dim flowers( 1 To 2 ) As String<**>flowers( 1 ) = "Exotic Orchids"<**>flowers( 2 ) = "Orchid Poaching"<**>myVariant = flowers<**>Set category = memo.GetFirstItem( "Categories" )<**>If category.Contains( myVariant ) Then<**>  Call memo.PutInFolder( "This wee
k" )<**>End If

<:#600,8486>3. This example shows a misunderstanding in the use of Contains. It categorizes a mail memo based on the contents of its Subject. Suppose that the memo's Subject item is "Here's my status report." The Contains method returns False because the values "Here's
 my status report" and "status" do not match.

@Mono@<:#1000,8486>Set subject = memo.GetFirstItem( "Subject" )<**>If subject.Contains( "status" ) Then<**>  memo.Categories = "Status reports"<**>  Call memo.Save( False, True )<**>End If

@Bhead title@<:#220,8486>CopyItemToDocument Method<:X8,145;Index "CopyItemToDocument method" #>

<:#200,8486>Copies an item to a specified document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesItem<-"><+!> = <+"><-!>notesItem<+!><-">.<-!><+!>CopyItemToDocument<-!><+!>(<+"><-!> notesDocument<-"><+!>,<-!><+"> 
<-"><[><+"> new<-"><+">Name$<-"> ]<+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>The document on which to create the item.

<:#200,8486><+">new<-"><+">Name$<-">

@1st lev para@<:#400,8486>Optional. The name of the new item. If you do not specify a <+">newName$<-">, the name of the original item is used.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesItem<-">

@1st lev para@<:#200,8486>The new item in the specified <+">notesDocument,<-"> with a <+">newName$<-">.

<:#200,8486>

@Bhead title@<:#220,8486>Remove Method<:X8,146;Index "Remove method" # "in NotesItem">

<:#200,8486>Deletes an item from its document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesItem<+!><-">.<-!><+!>Remove<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>The removal of the item is not written to disk until you call the Save method for the parent NotesDocument.

<:#200,8486>You can achieve the same result with the RemoveItem method in the NotesDocument class.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>NotesDocumen<-)><+)>t class<-)>

@Crossref@<:#200,8486><+)>NotesItem.RemoveItem method<-)>

@Crossref@<:#200,8486><+)>NotesItem.Save method

@Crossref@<:#200,8486><+)>Parent property<-)>

<:p<* >>

@Ahead@<:#240,8486>NotesLog Class<:X8,147;Index "NotesLog class" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Enables you to record actions and errors that take place during a script's execution. You can record actions and errors in:

@Bullet@<:#200,8486>A Notes database.

@Bullet@<:#200,8486>A mail memo.

@Bullet@<:#200,8486>A file (for scripts that run locally).

@Chead@<:#200,8486>Properties

@Bhead@<:t51>

@Chead@<:#200,8486>Methods

<:t50>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Creation

<+@><:I0,0,0,0><:S+-1><:#211,8486>To create a new log, use New.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<:#200,8486><+!>Dim <-!><+">variableName<+!><-"> As New<-!> <+!>NotesLog(<-!><+"> 
<-"><+">programName<-"><+">$<-"><+!> )<-!> or

<:#200,8486><+!>Set <-!><+">notesLog <+!><-">= <-!><+!>New NotesLog(<-!><+"> programName$<-"><+!> )<-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Parameter

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">programName$<-">

@1st lev para@<:S+-1><:#211,8486>String. A name that identifies the script whose actions and errors you want to log.

@Chead@<:S+-1><:#221,8486>Usage

<:S+-1><:#422,8486>Once you create a log using New, you use one of the following methods to open it before you begin logging:

@Bullet@<:S+-1><:#211,8486>To log to a database, use the OpenNotesLog method.

@Bullet@<:S+-1><:#211,8486>To log to a mail memo, use the OpenMailLog method.

@Bullet@<:S+-1><:#211,8486>To log to a file (only available to scripts running locally), use the OpenFileLog method.

<:S+-1><:#211,8486>You must explicitly log each action and error using the following methods:

@Bullet@<:S+-1><:#211,8486>To log an action, use LogAction.

@Bullet@<:S+-1><:#211,8486>To log an error, use LogError.

<:S+-1><:#211,8486>Notes does not automatically log actions or errors for you.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESLOG_CLASS<-*>

@Chead title@<:S+-1><:#221,8486>Examples: NotesLog Class

<:S+-1><:#211,8486>1. This code opens a mail message for logging and mails it to Jimmy Ho.

@Mono@<:S+-1><:#960,8486>Sub Initialize<**>  Dim currentLog As New NotesLog( "Checkup Agent" )<**>  Call currentLog.OpenMailLog( "Jimmy Ho", "Log for Checkup Agent" )<**>  Call currentLog.Close<**>End Sub

<:S+-1><:#211,8486>The mail message contains the following:

<:#200,8486>04/26/95 12:19:40 PM 	Checkup Agent starting

<:S+-1><:#422,8486>2. This script opens a mail message for logging. It then logs one action for each document found in the current database, and mails the message.

@Mono@<:#3600,8486>Sub Initialize<**>  Dim currentLog As New NotesLog( "Cleansing Agent" )<**>  Call currentLog.OpenMailLog( "Jimmy Ho", "Log for Cleansing Agent" )<**>  Dim session As New NotesSession<**>  Dim db As NotesDatabase<**>  Dim collection As NotesDocumentCollectio
n<**>  Dim doc As NotesDocument<**>  Set db = session.CurrentDatabase<**>  Set collection = db.AllDocuments<**>  Set doc = collection.GetFirstDocument<**>  count% = 0<**>  While Not ( doc Is Nothing )<**>    count% = count% + 1<**>    Call currentLog.LogAct
ion( "Processed document " + Cstr( count% ) )<**>    Set doc = collection.GetNextDocument( doc )<**>  Wend<**>  Call currentLog.Close<**>End Sub

<:S+-1><:#211,8486>If there are four documents in the database, Jimmy Ho receives a mail memo that contains the following:

<:#1000,8486>04/26/95 10:50:17 AM 	Cleansing Agent starting<**>04/26/95 10:50:17 AM 
	Processed document 1<**>04/26/95 10:50:17 AM 	Processed document 2<**>04/26/95 10:50:17 AM 
	Processed document 3<**>04/26/95 10:50:17 AM 	Processed document 4

<:#600,8486>3. This script opens a Notes database for logging. If it can't find the "All by Category" view in the current database, it logs an error. 
<+!><+">YY would like to modify so first parameter to OpenNotesLog = db.Server. This crashes 126.1.<-"><-!>

@Mono@<:#3200,8486>Sub Initialize<**>  viewName$ = "All by Category"<**>  Dim session As New NotesSession<**>  Dim db As NotesDatabase<**>  Dim view As NotesView<**>  Dim agent As NotesAgent<**>  Set db = session.CurrentDatabase<**>  Set agent = session.CurrentAgent<**>  Dim 
currentLog As New NotesLog( agent.Name + " Agent in " + db.Title + " on " + db.Server )<**>  Call currentLog.OpenNotesLog( "", "agentlog.nsf" )<**>  Set view = db.GetView( viewName$ )<**>  If view Is Nothing Then<**>    Call currentLog.LogError( 50, "Unable
 to find view " + viewName$ )<**>  End If<**>End Sub

<:#600,8486>One new document gets created in the agentlog.nsf database. It might look something like this 
<+!><+">YY if an agent log template ships with R4, this should show a screen shot of what a Log Entry would look like<-"><-!>:

<:#400,8486><+!>Cleansing<-!><+!> Agent in Sales Projects <-!><+!>on Sales_Server<-!><**>04/26/95 03:28:40 PM  Error    50  Unable to find view All by Category

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>LogActions Property<:X8,149;Index "LogActions property" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Read-Write. Indicates if action logging is enabled or not. This property is always True unless you set it to False.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Data Type

<+@><:I0,0,0,0><:S+-1><:#211,8486>Boolean

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486>To get: <+">flag<-"><+">% = <-"><+">notesLog<-"><+!>.LogActions<-!>

<+@><:I0,0,0,0><:S+-1><:#221,8486>To set: <+">notesLog<+!><-">.<-!><+!>LogActions <-!><+!>= <+"><-!>flag<-"><+">%<-"><-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Return Values

@Bhead@<+@><:I0,0,0,0><:S+-1><:t48>

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>LogErrors Property<:X8,149;Index "LogErrors property" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Read-Write. Indicates if error logging is enabled or not. This property is always True unless you set it to False.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Data Type

<+@><:I0,0,0,0><:S+-1><:#211,8486>Boolean

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486>To get: <+">flag<-"><+">% = <-"><+">notesLog<-"><+!>.LogErrors<-!>

<+@><:I0,0,0,0><:S+-1><:#221,8486>To set: <+">notesLog<+!><-">.LogErrors <-!><+!>= <+"><-!>flag<-"><+">%<-"><-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Return Values

<+@><:I0,0,0,0><:S+-1><:t49>

@1st lev para0@<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>NumActions Property<:X8,150;Index "NumActions property" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Read-only. The number of actions logged so far.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Data Type

<+@><:I0,0,0,0><:S+-1><:#211,8486>Integer

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486>To get: <+">actions<-"><+">% = <-"><+">notesLog<-"><+!>.NumActions<-!>

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>NumErrors Property<:X8,150;Index "NumErrors property" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Read-only. The number of errors logged so far.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Data Type

<+@><:I0,0,0,0><:S+-1><:#211,8486>Integer

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486>To get: <+">errors<-"><+">% = <-"><+">notesLog<-"><+!>.NumErrors<-!>

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>OverwriteFile Property<:X8,150;Index "OverwriteFile property" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Read-Write. For a log that that records to a file, indicates if the log should overwrite the existing file or append to it. This property has no effect on logs that record to a mail message or database.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Data Type

<+@><:I0,0,0,0><:S+-1><:#211,8486>Boolean

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486>To get: <+">flag%<+!><-"> = <-!><+">notesLog<+!><-">.OverwriteFile<-!>

<+@><:I0,0,0,0><:S+-1><:#221,8486>To set: <+">notesLog<+!><-">.OverwriteFile = <-!><+">flag%<-">

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Legal Values

<+@><:I0,0,0,0><:S+-1><:t52>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>OpenFileLog method

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>ProgramName Property<:X8,151;Index "ProgramName property" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Read-Write. The name that identifies the script whose actions and errors you're logging. This is the same as the name specified with New.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Data Type

<+@><:I0,0,0,0><:S+-1><:#211,8486>String

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486>To get: <+">flag%<+!><-"> = <-!><+">notesLog<+!><-">.ProgramName<-!>

<+@><:I0,0,0,0><:S+-1><:#221,8486>To set: <+">notesLog<+!><-">.ProgramName = <-!><+">flag%<-">

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesLog Class

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>Close Method<:X8,151;Index "Close method" # "in NotesLog">

<+@><:I0,0,0,0><:S+-1><:#211,8486>Closes a log.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>CALL <+"><-!>notesLog<+!><-">.Close<-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>Usage

<+@><:I0,0,0,0><:S+-1><:#211,8486>If you are logging to a mail message, Close sends the mail message to its recipient(s).

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>OpenMailLog method

<+@><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>LogAction Method<:X8,151;Index "LogAction method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Records an action in a log.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>CALL <+"><-!>notesLog<+!><-">.<-!><-"><+!>LogAction<-!><+!>(<-!><+"> description<-"><+">$<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Parameters

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">description$<-">

@1st lev para@<+@><:S+-1><:#211,8486>String. A description of the action that the script performed, as you want it to appear in the log.

@1st lev para0@<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>LogError Method<:X8,152;Index "LogError method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Records an error in a log.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>CALL <+"><-!>notesLog<+!><-">.<-!><-"><+!>LogError<-!><+!>(<-!><+"> code%<+!><-">, 
<+"><-!>description<-"><+">$<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Parameters

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">code%<-">

@1st lev para@<+@><:S+-1><:#211,8486>Integer. A number indicating which error occurred.

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">description$<-">

@1st lev para@<+@><:S+-1><:#211,8486>String. A description of the error that occurred, as you want it to appear in the log.

@Chead@<+@><:S+-1><:#221,8486>Usage

@1st lev para0@<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>LogEvent Method<:X8,152;Index "LogEvent method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Sends a Notes event out to the network. Only scripts running on a server can use this method. 

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>CALL <+"><-!>notesLog<+!><-">.<-!><-"><+!>LogEvent<-!><+!>(<-!><+"> message<-"><+">$<-"><+!>,<-!><+"> queuename$<-"><+!>,<-!><+"> type%<-"><+!>,<-!><+"> severity<-"><+">%<-"><+!> )<-!><-"><-">

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Parameters

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">message<-"><+">$<-">

@1st lev para@<+@><:S+-1><:#211,8486>String. The message to send to the network.

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">queuename<-"><+">$<-">

@1st lev para@<+@><:S+-1><:#211,8486>String. The name of the queue. Notes picks a queue if you send an empty string ("").

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">type%<-">

@1st lev para@<:#200,8486>Constant.  Indicates the kind of event being logged.  May be any of the following:

@1st lev para@<:#200,8486>EVT_COMM

@1st lev para@<:#200,8486>EVT_SECURITY

@1st lev para@<:#200,8486>EVT_MAIL

@1st lev para@<:#200,8486>EVT_MISC

@1st lev para@<:#200,8486>EVT_SERVER

@1st lev para@<:#200,8486>EVT_ALARM

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">severity%<-">

@1st lev para@<+@><:S+-1><:#211,8486>Constant. Indicates the severity of the event being logged. May be any of the following:

@1st lev para@<:#200,8486>SEV_FATAL

@1st lev para@<:#200,8486>SEV_FAILURE

@1st lev para@<:#200,8486>SEV_WARNING

@1st lev para@<:#200,8486>SEV_NORMAL

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Usage

<+@><:I0,0,0,0><:S+-1><:#422,8486>This method does not affect any other open logs (database, file, or mail). Using the LogAction or LogError methods as no effect on event logging.

@1st lev para0@<:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>OpenFileLog Method<:X8,153;Index "OpenFileLog method" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Starts logging to a specified disk file. This method returns an error if you invoke it on a server.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>CALL <+"><-!>notesLog<+!><-">.<-!><-"><+!>OpenFileLog<-!><+!>(<-!><+"> path<-"><+">$<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Parameter

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">path<-"><+">$<-">

@1st lev para@<+@><:S+-1><:#211,8486>String. The path and file name of the log file.

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>OpenMailLog Method<:X8,153;Index "OpenMailLog method" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Opens a new mail message for logging. The message is mailed when the log's Close method is invoked, or when the object is deleted.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>CALL <+"><-!>notesLog<+!><-">.<-!><-"><+!>OpenFileLog<-!><+!>(<-!><+"> recipientsV<+!><-">, 
<-!><[><+"> subject<-"><+">$<+!><-"> <-!>]<+!> )<-!><-">

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Parameters

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">recipients<-"><+">V<-">

@1st lev para@<+@><:S+-1><:#422,8486>String or array of strings. The recipeints of the mail memo.  Can be a string containing the name of a single user or an array of strings containing the names of several users.

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">subject$<-">

@1st lev para@<+@><:S+-1><:#211,8486>String. Optional. The subject of the mail memo.

<+@><:I0,0,0,0><:S+-1><:#211,8486>

@Bhead title@<+@><:I0,0,0,0><:S+-1><:#240,8486>OpenNotesLog Method<:X8,154;Index "OpenNotesLog method" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Opens a specified Notes database for logging. <+!><+">YY awaiting news of a template that will display stuff logged to a db this way.<-"><-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesLog

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>CALL <+"><-!>notesLog<+!><-">.<-!><-"><+!>OpenNotesLog<-!><+!>(<-!><+"> server<-"><+">$<+!><-">, 
<-!><+">dbfile<-"><+">$<+!><-"> )<-!>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Parameters

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">server$<-">

@1st lev para@<+@><:S+-1><:#211,8486>String. The server on which the database log resides.

<+@><:I0,0,0,0><:S+-1><:#216,8486><+">dbfile$<-">

@1st lev para@<+@><:S+-1><:#211,8486>String. The file name of the database log.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Usage

<+@><:I0,0,0,0><:S+-1><:#422,8486>One document is created in the database for each error or action that you log. Each document has a Form equal to "Log Entry" and contains the following items: 

<+@><:I0,0,0,0><:S+-1><:t53><:p<* >>

@Ahead@<:#240,8486>NotesNewsletter Class<:X8,155;Index "NotesNewsletter class" #>

<+@><:I0,0,0,0><:S+-1><:#422,8486>Represents a summary document that contains information from, or doclinks to, several other documents.

@Chead@<+@><:I0,0,0,0><:S+-1>Properties<:t46>Methods<:t45>

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Creation

<+@><:I0,0,0,0><:S+-1><:#211,8486>You create a new NotesNewsletter using a NotesDocumentCollection and New.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Syntax

<:#200,8486><+!>DIM <-!><+">variableName<+!><-"> As <-!><+!>New NotesNewsletter<-!><+!><-">(<-!><+"> notesDocumentCollection 
<-"><+!>)<-!><-"><-"> or

<:#200,8486><+!>SET <+"><-!>notesNewsletter<+!><-"> = <-!><-"><+!>New NotesNewsletter<-!><+!><-">(<-!><+"> notesDocumentCollection 
<-"><+!>)<-!><-"><-">

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">notesDocumentCollection <-">

@1st lev para@<:#200,8486>The newsletter is formatted to include each document in this <+">notesDocumentCollection<-">.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>DocumentCollection class

<:#200,8486>

@Bhead title@<:#220,8486>DoScore Property<:X8,155;Index "DoScore property" #>

<:#200,8486>Read-Write. Indicates if a newsletter includes each document's relevance score. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesNewsletter

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag<-"><+">% <-"><+!>= <-!><+">notesNewsletter<-"><+!>.<-!><+!>DoScore<-!>

<:#200,8486>To set: <+">notesNewsletter<+!><-">.DoScore <-!><+!>= <-!><+">flag<-"><+">%<-">

@Chead@<:#200,8486>Legal Values

@Bhead title@<:t47>

<:#200,8486>

@Bhead title@<:#220,8486>DoSubject Property<:X8,156;Index "DoSubject property" #>

<:#200,8486>Read-Write. Indicates if a newsletter includes each document's subject.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesNewsletter

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag<-"><+">% <-"><+!>= <-!><+">notesNewsletter<-"><+!>.<-!><+!>DoSubject<-!>

<:#200,8486>To set: <+">notesNewsletter<+!><-">.DoSubject = <-!><+">flag<-"><+">%<-">

@Chead@<:#200,8486>Legal Values

<:t44>

<:#200,8486>

@Bhead title@<:#220,8486>SubjectItemName Property<:X8,156;Index "SubjectItemName property" #>

<:#400,8486>Read-Write. The name of the field in a newsletter's documents which contains the text to use as the subject.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesNewsletter

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">name<-"><+">$ <-"><+!>= <-!><+">notesNewsletter<-"><+!>.<-!><+!>SubjectItemName<-!>

<:#200,8486>To set: <+">notesNewsletter<+!><-">.<-!><+!>SubjectItemName<-!><+!> = 
<-!><+">name<-"><+">$<-">

@Chead@<:#200,8486>Usage

<:#200,8486>You must set this property if the DoSubject property is TRUE.

<:#200,8486>

@Bhead title@<:#220,8486>FormatDocument Method<:X8,156;Index "FormatDocument method" #>

<:#400,8486>Creates a newsletter document in the given database, containing a rendering (or picture) of a specified document. This is similar to forwarding a document, which displays a picture of the forwarded document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesNewsletter

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <+"><-!>notesDocument <-"><+!>= <+"><-!>notesNewsletter<+!><-">.FormatDocument<-!><+!>(<-!><+"> notesDatabase<-"><+!>, 
<-!><+">n%<-"><+!> )<-!><-"><-">

@Chead@<:#200,8486><+!>Parameters

<:#200,8486><+">notesDatabase<-">

@1st lev para@<:#400,8486>The database in which to create the newsletter document.  If you do not specify a 
<+">notesDatabase,<-"><+"> <-"> the document is created in the user's default mail database.

<:#200,8486><+">n%<-">

@1st lev para@<:#400,8486>Integer. A number indicating the document to render. Use 1 to indicate the first document in the collection, 2 to indicate the second document, and so on.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#400,8486>A formatted document in <+">notesDatabase, <-">containing a rendering of the 
<+">n<-">th document in the collection.<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDatabase class

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>NotesDocumentCollection class

<:#200,8486>

@Bhead title@<:#220,8486>FormatMsgWithDoclinks Method<:X8,157;Index "FormatMsgWithDoclinks method" #>

<:#400,8486>Creates a newsletter document in the given database. Each document in the collection is represented by a doclink to that document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesNewsletter

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesNewsletter<+!><-">.FormatMsgWithDoclinks<-!><+!>(<-!><+"> notesDatabase 
<-"><+!>)<-!><-"><-">

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">notesDatabase<-">

@1st lev para@<:#400,8486>The database in which to create the newsletter document.  If you do not specify a 
<+">notesD<-"><+">atabase,<-"><+"> <-"> the document is created in the user's default mail database.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#600,8486>A document formatted with doclinks to each document in the newsletter's document collection; also contains the name of 
<+">notesDatabase<-"> and the text of the original query that produced the collection, if any.<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>The document collection used to instantiate the newsletter (with the New method) is used to format the newsletter.

<:#400,8486>If the DoSubject property is TRUE, the subject (or header) for each document will appear next to the doclink.

<:#400,8486>If the DoScore property is TRUE and the document collection is sorted, each document's relevance score appears next to its doclink.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDatabase class

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>NotesDocumentCollection class

@Crossref@<:#200,8486>DoSubject property

@Crossref@<:#200,8486>DoScore property

@Crossref@<:#200,8486>New method

<:#200,8486>

<:p<* >>

@Ahead@<:#240,8486>NotesRichTextItem Class<:X8,159;Index "NotesRichTextItem class" #>

<:#200,8486>Represents rich text items.

@Chead@<:#200,8486>Base Class

<:#200,8486>Inherits from: NotesItem

@Chead@<:#200,8486>Containment

<:#200,8486>Contains: NotesEmbeddedObject

@Chead@Property<:t43>

@Chead@<:#200,8486>Methods

@Chead@<:t42>

@Chead@<:#200,8486>Creation and Access

<:#200,8486>You can create a new NotesRichTextItem object or access an existing one.

<:#200,8486>To create a new one, use a NotesDocument and a string indicating the name of the new item.

@Chead@<:#200,8486>Syntax

<:#200,8486><+!><-">DIM <-!><+">variableName<+!><-"> As<-!><-"> <+!>New NotesRichTextItem(<-!><+"> notesDocument<-"><+!>,<-!><+"> n<-"><+">ame$<+!><-"> )<-!> or

<:#200,8486><+!>SET <+"><-!>notesRichTextItem<+!><-"> = <-!><+!>New NotesRichTextItem(<-!><+"> notesDocument<-"><+!>,<-!><+"> n<-"><+">ame$<+!><-"> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>The document on which to create a new rich text item.

<:#200,8486><+">n<-"><+">ame$<-">

@1st lev para@<:#200,8486>The name of the new rich text item.

@Chead@<:#200,8486>Usage

<:#600,8486>Since items are contained within documents, all NotesRichTextItem objects belong to a particular NotesDocument object. You can use the NotesDocument class to find a particular item on a document, get an item's value, remove or replace an item.

@Note@<:#400,8486>When you change the value of a NotesRichTextItem object, the change is not written to disk until you call the Save method for the parent NotesDocument.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>NotesDocument class<-)>

@Crossref@<:#200,8486><+)>NotesDocument.Save <-)><+)>method<-)>

@Crossref@<:#200,8486><+)>NotesItem class<-)>

@Crossref@<:#200,8486><+)>NotesEmbeddedObject class

<:#200,8486><+)>

@Bhead title@<:#220,8486>EmbeddedObjects Property<:X8,159;Index "EmbeddedObjects property" # "in NotesRichTextItem">

<:#200,8486>Read-Write. All the embedded objects and file attachments contained in a rich text field.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of NotesEmbeddedObjects

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">embeddedObjectArray<+!><-"> = <-!><+">notesRichTextItem<-"><+!>.<-!><+!>EmbeddedObjects<-!>

<:#200,8486>To set: <+">notesRichTextItem<+!><-">.EmbeddedObjects = <-!><+">embeddedObjectArray<-">

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EmbeddedObject class<-)>

<:#200,8486>

@Bhead title@<:#220,8486>AddNewLine Method<:X8,160;Index "AddNewLine method" #>

<:#200,8486>Appends one or more new lines to an item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesRichTextItem<+!><-">.<-!><+!>AddNewLine<-!><+!>(<-!><+"> n<-"><+">%<+!><-"> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#200,8486>Integer. The number of new lines to append.

<:#200,8486>

@Bhead title@<:#220,8486>AddTab Method<:X8,160;Index "AddTab method" #>

<:#200,8486>Appends one or more tabs to an item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>AddTab<-!><+!>(<-!><+"> n<-"><+">%<+!><-"> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#200,8486>Integer. The number of tabs to append.

<:#200,8486>

@Bhead title@<:#220,8486>AppendDocLink Method<:X8,160;Index "AppendDocLink method" #>

<:#200,8486>Given a document to link to, adds a doclink to the end of a rich text item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>AppendDocLink<-!><+!>(<-!><+"> notesDocument<-"><+!>, 
<-!><+">comment<-"><+">$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>The document to which you want to create a doclink.

<:#200,8486><+">comment$<-">

@1st lev para@<:#200,8486>String. Text that appears when a user presses and holds the mouse over the doclink.

<:#200,8486>

@Bhead title@<:#220,8486>AppendRTFile Method<:X8,161;Index "AppendRTFile method" #>

<:#200,8486>Incorporates the contents of a rich text file (composed of compound document records) into an item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>AppendRTFile<-!><+!>(<-!><+"> path$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">path$<-">

@1st lev para@<:#200,8486>String. The path and name of the file that contains the CD records.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>AppendRTItem method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>AppendRTItem Method<:X8,161;Index "AppendRTItem method" #>

<+@><:#200,8486>Incorporates a rich text item into the current item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>AppendRTItem<-!><+!>(<-!><+"> notesRichTextItem<-"><+"> 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesRichTextItem<-">

@1st lev para@<:#200,8486>The item to be incorporated into the current item.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>AppendRTFile method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>AppendText Method<:X8,161;Index "AppendText method" #>

<:#200,8486>Appends text to an item. The text is rendered with the current style of the item.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>Append<-!><+!>Text<-!><+!>(<-!><+"> text$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">text$<-">

@1st lev para@<:#200,8486>String. The text to append to the item.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>GetFormattedText method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>EmbedFromHandle Method<:X8,162;Index "EmbedFromHandle method" #>

<:#200,8486>Given a LotusScript handle to an object, embeds, links, or attaches it.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <+"><-!>embeddedObject <-"><+!>= <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>EmbedFromHandle<-!><+!>(<-!><+"> type%<+!><-">, 
<+"><-!>handleV<-"><+!>,<-!><+"> <-"><[> <+">name$<-"> ]<+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">type<-">%

@1st lev para@<:#400,8486>Constant. Specifies whether the object is a link to an external object, a file attachment, or an embedded data object.  
<+">type<-"> is one of the following:

@1st lev para@<:#200,8486>EMBED_OBJECTLINK

@1st lev para@<:#200,8486>EMBED_ATTACHMENT

@1st lev para@<:#200,8486>EMBED_OBJECT

<:#200,8486><+">handleV<-">

@1st lev para@<:#200,8486>Variant. A handle to the object you want to embed, link, or attach.

<:#200,8486><+">name$

@1st lev para@<:#200,8486>String. Optional. Name by which you can reference the embedded object later.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">embeddedObject<-">

@1st lev para@<:#200,8486>The newly embedded object.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EmbeddedObject class<-)>

@Crossref@<:#200,8486><+)>EmbedObject method<-)>

@Crossref@<:#200,8486><+)>FindEmbeddedObject method<-)>

@Crossref@<:#200,8486><+)>NotesDocument.FindEmbedded method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>EmbedObject Method<:X8,162;Index "EmbedObject method" #>

<:#200,8486>Embeds or attachs an object (such as a file) to a rich text item. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <+"><-!>embeddedObject <-"><+!>= <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>EmbedObject<-!><+!>(<-!><+"> type%<+!><-">, 
<+"><-!>class<-"><+">$<-"><+!>, <-!><+">source$<+!><-">, <-!><[> <+">name$<-"> ]<+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">type<-">%

@1st lev para@<:#400,8486>Constant. Specifies whether the object is a link to an external object, a file attachment, or an embedded data object.  May be any of the following:

@1st lev para@<:#200,8486>OBJECT_LINK

@1st lev para@<:#200,8486>OBJECT_ATTACH

@1st lev para@<:#200,8486>OBJECT_EMBED

<:#200,8486><+">class$<-">

@1st lev para@<:#400,8486>String. The name of the application which owns the object. Required only for objects of 
<+">type%<-"> OBJECT_LINK or OBJECT_EMBED.

<:#200,8486><+">source$

@1st lev para@<:#200,8486>String. Name of the source document (if embedded or attached) or the document/item (if linked).

<:#200,8486><+">name$

@1st lev para@<:#200,8486>String. Optional. Name by which you can reference the embedded object later.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">embeddedObject<-">

@1st lev para@<:#200,8486>The newly embedded object.

@Chead@<:#200,8486>Usage

<:#400,8486>Files can be attached on any Notes platform, but links can only be embedded on platforms supporting OLE. 

<:#600,8486>Files can be embedded as OLE/2 objects only on platforms supporting OLE, but they can be embedded as OLE/1 objects on any Notes platform (if the file is of a supported type, such as a Lotus application data file).

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EmbeddedObject class<-)>

@Crossref@<:#200,8486><+)>EmbedFromHandle method<-)>

@Crossref@<:#200,8486><+)>FindEmbeddedObject method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>FindEmbeddedObject Method<:X8,163;Index "FindEmbeddedObject method" #>

<:#400,8486>Given the name of an object that's embedded, linked, or attached, returns an EmbeddedObject handle to the object. Returns NOTHING if not found.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <+"><-!>embeddedObject <-"><+!>= <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>FindEmbeddedObject<-!><+!>(<-!><+"> name$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">name$

@1st lev para@<:#200,8486>String. The name of the object to find.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">embeddedObject<-">

@1st lev para@<:#200,8486>The object, if found.  Otherwise, returns Nothing.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EmbeddedObject class<-)>

@Crossref@<:#200,8486><+)>EmbedObject method<-)>

@Crossref@<:#200,8486><+)>EmbedFromHandle method<-)>

<:#200,8486>

@Bhead title@<:#220,8486>GetFormattedText Method<:X8,164;Index "GetFormattedText method" #>

<:#200,8486>Formats the rich text contents of an item as plain text.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesRichTextItem

@Chead@<:#200,8486>Syntax

<:#200,8486><+">plainText$<+!><-"> = <+"><-!>notesRichTextItem<-"><+!>.<-!><+!>GetFormattedText<-!><+!>(<-!><+"> tabstrip%<+!><-">, 
<-!><+">lineLength<-"><+">%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">tabstrip<-">%

@1st lev para@<:#400,8486>Boolean.  If TRUE, tabs are stripped out of the resulting plain text. If FALSE, tabs are not stripped out.

<:#200,8486><+">lineLength%<-">

@1st lev para@<:#200,8486>Integer. Optional. Number of characters at which to wrap lines of text. Set to 0 for the default.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">plainText$<-">

@1st lev para@<:#200,8486>String. The contents of the rich text item, formatted as plain text.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>AppendText method<-)>

<:#200,8486>

<:p<* >>

<+@><:I0,0,0,0><:S+-1><:#221,8486><+!>

@Ahead@<:#240,8486>NotesSession Class<:X8,165;Index "NotesSession class" #>

<+@><:I0,0,0,0><:S+-1><:#633,8486>Represents the Notes environment of the current script, providing access to environment variables, Name & Address books, information about the current user, and information about the current Notes platform and version.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Containment

<:#200,8486>Can contain: NotesDatabase and NotesAgent

@Chead@<:#200,8486>Properties

<:t3>

@Chead@<:#200,8486>Methods

@Chead@<:t2>

@Chead@<:#200,8486>Creation and Access

<:#200,8486>To access the current session, use New.

@Chead@<:#200,8486>Syntax

<:#200,8486><-"><+!>Dim <-!><+">variableName<+!><-"> As <-!><-"><+!>New NotesSession<-!> or<-">

<:#200,8486><-"><+!>Set<-!><+!> <+"><-!>notesSession<+!><-"> = <-!><+!><-">New NotesSession<-!>

<:#200,8486>To access the current session from a NotesDatabase object, use the Parent property in NotesDatabase.

@Chead@<:#200,8486>Usage

<:#400,8486>Since there can only be one session per script, the New method will always return the same object each time you call it.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESSESSION_CLASS<-*>

@Crossref@<:#200,8486><+)>Parent Property<-)><+*>H_PARENT_PROPERTY<-*>

@Crossref@<:#200,8486><+)>NotesAgent Class<-)><+*>H_NOTESAGENT_CLASS<-*>

@Crossref@<:#200,8486><+)>NotesDatabase Class<-)><+*>H_NOTESDATABASE_CLASS<-*>

@Chead title@<:#200,8486>Examples: NotesSession Class

<:#400,8486>1. This script creates a new NotesSession and uses it to access the current database (the database in which the script is running). This technique avoids hard-coding the file names of databases into scripts.

@Mono@<:#1800,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Set db = session.CurrentDatabase<**>If ( db.IsOpen ) Then<**>  Print db.Title<**>Else<**>  Call db.Open( "", "" )<**>  Print db.Title<**>End If

@Bhead title@<:#220,8486>AddressBooks Property<:X8,166;Index "AddressBooks property" #>

<:#200,8486>Read-only. The Name & Address Books, both public and private, that are known to the current script.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of NotesDatabases.

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">notesDatabaseArray <-"><+">= <-"><+">notesSession<-"><+!>.AddressBooks<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>To find out if an address book is public or private, use the IsPublicAddressBook and IsPrivateAddressBook properties of a database.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDatabase class

@Crossref@<:#200,8486>NotesDatabase.IsPublicAddressBook method

@Crossref@<:#200,8486>NotesDatabase.IsPrivateAddressBook method

<:#200,8486><+)>

@Bhead title@<:#220,8486>CurrentAgent Property<:X8,166;Index "CurrentAgent property" #>

<:#200,8486>Read-only. The agent that's currently running.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesAgent

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>SET <+"><-!>notesAgent <-"><+">= <-"><+">notesSession<-"><+!>.CurrentAgent<-!>

<:#200,8486><+)>

@Bhead title@<:#220,8486>CurrentDatabase Property<:X8,166;Index "CurrentDatabase property" #>

<:#200,8486>Read-only. The database in which the current script resides. This database may or may not be open.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDatabase

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>SET <+"><-!>notesDatabase <-"><+">= <-"><+">notesSession<-"><+!>.CurrentDatabase<-!>

<:#200,8486>

@Bhead title@<:#220,8486>EffectiveUserName Property<:X8,167;Index "EffectiveUserName property" #>

<:#200,8486>Read-only. The name of the person who created the current script. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">name$<-"><+"> <-"><+">= <-"><+">notesSession<-"><+!>.EffectiveUserName<-!>

@Chead@<:#200,8486><+!>Usage<-!>

<:#400,8486>When a script runs on a workstation, this property is usually the same as the current user name, but it doesn't have to be.

<:#200,8486><+)>

@Bhead title@<:#220,8486>IsOnServer Property<:X8,167;Index "IsOnServer property" #>

<:#200,8486>Read-only. Indicates if a script is running on a server.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag% <-"><+">= <-"><+">notesSession<-"><+!>.IsOnServer<-!>

@Chead@<+!>Legal <-!><+!>Values<-!><+!><:t1>

<:#200,8486><+)>

@Bhead title@<:#220,8486>LastExitStatus Property<:X8,167;Index "LastExitStatus property" #>

<:#200,8486>Read-only. The exit status code that the current script returned the last time it ran.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>Integer constant

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">status% <-"><+">= <-"><+">notesSession<-"><+!>.LastExitStatus<-!>

@Chead@<:#200,8486>Legal Values

<:t0>

<:#200,8486><-!><+)>

@Bhead title@<:#220,8486>LastRun Property<:X8,168;Index "LastRun property" # "in NotesSession">

<:#200,8486>Read-only. The date and time the current script was last executed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">dateV <-"><+">= <-"><+">notesSession<-"><+!>.LastRun<-!>

<:#200,8486>

@Bhead title@<:#220,8486>NotesVersion Property<:X8,168;Index "NotesVersion property" #>

<:#200,8486>Read-only. The version of Notes being used.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">version$<+!><-"> = <-!><+">notesSession<+!><-">.NotesVersion<-!>

<:#200,8486><+)>

@Bhead title@<:#220,8486>Platform Property<:X8,168;Index "Platform property" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Read-only. The name of the current operating system platform.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesSession

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">platform<-"><+">$ = <-"><+">notesSession<-"><+!>.Platform<-!>

<:#200,8486><+)>

@Bhead title@<:#220,8486>SavedData Property<:X8,168;Index "SavedData property" #>

<:#400,8486>Read-only. A document that a script uses to store information in between invocations. The script can use the information on this document the next time it runs.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>SET <+"><-!>notesDocument <-"><+">= <-"><+">notesSession<-"><+!>.SavedData<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>The SavedData document is stored in the same database as its script. Like all documents, it replicates and requires an appropriate form to display its data.

<:#200,8486><-!><-!>

@Bhead title@<:#220,8486>UserName Property<:X8,169;Index "UserName property" #>

<+@><:I0,0,0,0><:S+-1><:#211,8486>Read-only. The current user's name, as extracted from the ID file.

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Defined In

<+@><:I0,0,0,0><:S+-1><:#211,8486>NotesSession

@Chead@<+@><:I0,0,0,0><:S+-1><:#221,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">name<-"><+">$ = <-"><+">notesSession<-"><+!>.UserName<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>When a script runs on a workstation, the current user is determined by the ID file in use. When it runs on a server, the current user is the server.

<:#200,8486><+)>

@Bhead title@<:#220,8486>Close Method<:X8,169;Index "Close method" # "in NotesSession">

<:#200,8486>Shuts down a session and deletes any objects you have created in the session.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Syntax

<:#200,8486><-"><+!>CALL <+"><-!>notesSession<+!><-">.Close<-!>

<:#200,8486>

@Bhead title@<:#220,8486>GetEnvironmentValue Method<:X8,169;Index "GetEnvironmentValue method" #>

<:#200,8486>Given the name of a numeric environment variable, retrieves its value.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Syntax

<:#200,8486><-"><+">valueV<+!><-"> = <+"><-!>notesSession<+!><-">.GetEnvironmentValue(<-!><+"> name$<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">name$<-">

@1st lev para@<:#200,8486>String. The name of the environment variable to set.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">valueV<-">

@1st lev para@<:#200,8486>Variant. The value of the environment variable.

<:#200,8486>

@Bhead title@<:#220,8486>GetEnvironmentString Method<:X8,170;Index "GetEnvironmentString method" #>

<:#200,8486>Given the name of a string environment variable, retrieves its value.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Syntax

<:#200,8486><-"><+">valueV<+!><-"> = <+"><-!>notesSession<+!><-">.GetEnvironment<-!><+!>String<-!><+!>( 
<-!><+">name<-"><+">$<-"><+!> )<-!><-"><-">

@Chead@<:#200,8486>Parameters

<:#200,8486><+">name$<-">

@1st lev para@<:#200,8486>String. The name of the environment variable to set.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">valueV<-">

@1st lev para@<:#200,8486>Variant. The value of the environment variable.

<:#200,8486>

@Bhead title@<:#220,8486>SetEnvironmentVar Method<:X8,170;Index "SetEnvironmentVar method" #>

<:#200,8486>Sets the value of a string or numeric environment variable.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Syntax

<:#200,8486><-"><+!>CALL <+"><-!>notesSession<+!><-">.SetEnvironmentVar<-!><+!>(<-!><+"> name$<+!><-">, 
<-!><+">valueV <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">name$<-">

@1st lev para@<:#200,8486>String. The name of the environment variable to set.

<:#200,8486><+">valueV<-">

@1st lev para@<:#200,8486>Variant. The value of the environment variable. Date values are converted to strings.

<:#200,8486>

@Bhead title@<:#220,8486>UpdateProcessedDoc Method<:X8,170;Index "UpdateProcessedDoc method" #>

<:#200,8486>Marks a document as processed by a script.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesSession

@Chead@<:#200,8486>Syntax

<:#200,8486><-"><+!>CALL <+"><-!>notesSession<+!><-">.UpdateProcessedDoc<-!><+!>( 
<-!><+">notesDocument <-"><+!>)<-!><-"><-"><-"><-"><-">

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>The document to be marked as processed.

@Chead@<:#200,8486>Usage

<:#400,8486>You can use this method in conjunction with the UnprocessedDocuments, UnprocessedSearch, and UnprocessedFTSearch methods in the NotesDatabase class.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>UnprocessedDocuments property

@Crossref@<:#200,8486>UnprocessedSearch method

@Crossref@<:#200,8486>UnprocessedFTSearch method

@See also prnt@<:#200,8486>

<:p<* >>

@Ahead@<:#240,8486><:f>NotesUIDocument Class<:X8,172;Index "NotesUIDocument class" #>

<:#200,8486>Represents the document that's currently open in the Notes workspace.

@Chead@<:#200,8486>Containment

<:#200,8486>Contained by: NotesUIWorkspace

@Chead@<:#200,8486>Properties

<:t13>

@Chead@<:#200,8486>Methods

<:t12>

@Chead@<:#200,8486><+!>Access

<:#200,8486>To get the current document, use the CurrentDocument property in NotesUIWorkspace.

@Chead title@<:#200,8486>Examples: NotesUIDocumentClass

<:#400,8486>1. This script uses a NotesUIWorkspace to get the current document. It then uses the FieldGetText method to print the Subject field of the current document.

@Mono@<:#800,8486>Dim workspace As New NotesUIWorkspace<**>Dim uidoc As NotesUIDocument<**>Set uidoc = workspace.CurrentDocument<**>Messagebox( uidoc.FieldGetText( "Subject" ) )

@Bhead title@<:#220,8486><+!>CurrentField Property<:X8,172;Index "CurrentField property" #>

<:#200,8486>Read-only. The name of the field that the cursor is in.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">fieldName$ <+!><-">= <-!><+">notesUIDocument<+!><-">.CurrentField<-!>

@Chead@<:#200,8486><+!>Usage

<:#400,8486>This property is valid only when the document is in edit mode. If it's in read mode, CurrentField returns an empty string ("").

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EditMode Property<-)><+*>H_EDITMODE_PROPERTY<-*>

<:#200,8486>

@Bhead title@<:#220,8486>Document Property<:X8,173;Index "Document property" #>

<:#200,8486>Read-only. The NotesDocument that corresponds to the currently open document

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDocument

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+!>Set <+"><-!>notesDocument<+!><-"> = <-!><+">notesUIDocument<+!><-">.Document<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDocument Class

@See also btn@<:#200,8486>

@Bhead title@<:#220,8486><+!>EditMode Property<:X8,173;Index "EditMode property" #>

<:#200,8486>Read-Write. Indicates if a document is in edit mode.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> =<-!><+"> notesUIDocument<+!><-">.EditMode<-!>

<:#200,8486>To set: <+">notesUIDocument<+!><-">.EditMode<-!><+"> = flag%<-"><-!>

@Chead@<:#200,8486>Legal Values

<:t11>

@Bhead title@<:#220,8486><+!>FieldHelp Property<:X8,173;Index "FieldHelp property" #>

<:#200,8486>Read-Write. Indicates if field help for a document is displayed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesUIDocument<+!><-">.FieldHelp<-!>

<:#200,8486>To set: <+">notesUIDocument<+!><-">.FieldHelp = <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t8>

@Bhead title@<:#220,8486><+!>HiddenChars Property<-!><:X8,174;Index "HiddenChars property" #>

<:#200,8486>Read-Write. Indicates if the hidden characters in a document are displayed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag% <+!><-"> = <-!><+">notesUIDocument<+!><-">.HiddenChars<-!>

<:#200,8486>To set: <+">notesUIDocument<+!><-">.HiddenChars = <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t7>

@Bhead title@<:#220,8486><+!>HorzScrollBar Property<:X8,174;Index "HorzScrollBar property" #>

<:#200,8486>Read-Write. Indicates if a document's horizontal scroll bar is displayed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag% <+!><-"> = <-!><+">notesUIDocument<+!><-">.HorzScrollBar<-!>

<:#200,8486>To set: <+">notesUIDocument<+!><-">.HorzScrollBar = <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t6>

@Bhead title@<:#220,8486><+!>IsNewDoc Property<:X8,174;Index "IsNewDoc property" #>

<:#200,8486>Read-only. Indicates if a document is new. A new document is one that hasn't been saved.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesUIDocument<+!><-">.IsNewDoc<-!>

@Chead@<+!>Legal Values<-!><+!><:t5>

@Bhead title@<:#220,8486><+!><:X8,175;Index "PreviewDocLink property" #>PreviewDocLink <-!><+!>Property<:X8,175;Index "PreviewDocLink property" #>

<:#200,8486>Read-Write. Indicates if a doclink's preview pane is displayed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesUIDocument<+!><-">.PreviewDocLink<-!>

<:#200,8486>To set: <+">notesUIDocument<+!><-">.PreviewDocLink <-!><+!>= <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t10><-!>

@Bhead title@<:#220,8486>PreviewParentDoc Property<:X8,175;Index "PreviewParentDoc property" #>

<:#200,8486>Read-Write. Indicates if the parent document's preview pane is displayed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesUIDocument<+!><-">.PreviewParentDoc<-!>

<:#200,8486>To set: <+">notesUIDocument<+!><-">.PreviewParentDoc <-!><+!>= <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t9>

@Bhead title@<:#220,8486>Ruler Property<:X8,175;Index "Ruler property" #>

<:#200,8486>Read-Write. Indicates if the ruler is displayed.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag% <+!><-"> = <-!><+">notesUIDocument<+!><-">.Ruler<-!>

<:#200,8486>To set: <+">notesUIDocument<+!><-">.Ruler = <-!><+">flag%<-">

@Chead@<:#200,8486>Legal Values

<:t4>

@Bhead title@<:#220,8486>WindowTitle Property<:X8,176;Index "WindowTitle property" #>

<:#200,8486>Read-only. The window title of a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">title$<+!><-"> = <-!><+">notesUIDocument<+!><-">.WindowTitle<-!>

<+@><:I0,360,720,0><:#200,8486><+!><+"><:f200,,0,128,128>

@Bhead title@<+@><:#220,8486>Categorize Method<:X8,176;Index "Categorize method" #>

<+@><:#200,8486>Given the name of a category, places a document in the category. <+"><+!>YY how about a folder??<-!><-">

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesUIDocument

@Chead@<+@><:#200,8486>Syntax

<:#200,8486><+!>Call<-!><+"> notesUIDocument<+!><-">.Categorize( <-!><+">categoryName$<+!><-"> )<-!>

@Chead@<:#200,8486><+!>Parameters

<:#200,8486><+">categoryName$<-">

@1st lev para@<:#400,8486>String. The name of the category. Specify an empty string ("") if you want to prompt the user for a category using the Categorize dialog box.

<:#200,8486>

@Bhead title@<:#220,8486>Clear Method<:X8,176;Index "Clear method" # "in NotesUIDocument">

<:#400,8486>In a document in edit mode, deletes the current selection. The current selection can be anything in an editable field, such as text or graphics.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.Clear<-!>

@Chead@<:#200,8486><+!>Usage

<:#200,8486>This method is valid only when a document is in edit mode.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>EditMode Property<-)><+*>H_EDITMODE_PROPERTY<-*>

<:#200,8486>

@Bhead title@<:#220,8486>Close Method<:X8,177;Index "Close method" # "in NotesUIDocument">

<:#200,8486>Closes a document. The NotesUIDocument is no longer available once you call this method.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.Close<-!>

<:#200,8486>

@Bhead title@<:#220,8486>CollapseAllSections Method<:X8,177;Index "CollapseAllSections method" #>

<:#200,8486>Collapses all the sections in a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.CollapseAllSections<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>ExpandAllSections Method<-)><+*>H_EXPANDALLSECTIONS_METHOD<-*>

<:#200,8486>

@Bhead title@<:#220,8486>Copy Method<:X8,177;Index "Copy method" #>

<:#400,8486>Copies the current selection in a document to the clipboard. The current selection can be anything on the document, such as text or graphics.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.Copy<-!>

<:#200,8486><+!>

@Bhead title@<:#220,8486><+!>Cut Method<:X8,177;Index "Cut method" #>

<:#400,8486>Cuts the current selection from a document and places it on the clipboard. The current selection can be anything in an editable field, such as text or graphics.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.Cut<-!>

<:#200,8486>

@Bhead title@<:#220,8486><:X8,177;Index "DeleteDocument method" #>DeleteDocument Method

<:#200,8486>Marks a document for deletion. The NotesUIDocument is no longer available once you call this method.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call<-!> <+">notesUIDocument<+!><-">.DeleteDocument<-!>

@Chead@<:#200,8486>Usage

<:#200,8486>This method is invalid when the document is in edit mode.

<:#200,8486>

@Bhead title@<:#220,8486>DeselectAll Method<:X8,178;Index "DeselectAll method" #>

<:#200,8486>Deselects any selections in a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.DeselectAll<-!>

<:#200,8486>

@Bhead title@<:#220,8486>ExpandAllSections Method<:X8,178;Index "ExpandAllSections method" #>

<:#200,8486>Expands all the sections in a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.ExpandAllSections<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>CollaspeAllSections Method<-)><+*>H_COLLAPSEALLSECTIONS_METHOD<-*>

<:#200,8486>

@Bhead title@<:#220,8486>FieldAppendText Method<:X8,178;Index "FieldAppendText method" #>

<:#400,8486>In a document in edit mode, appends a text value into a field without removing the existing contents of the field.

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.FieldAppendText( <-!><+">text$<+!><-"> , 
<-!><[> <+">fieldName$<-"> ] <+!>)<-!><-">

@Chead@<:#200,8486><+!>Parameters

<:#200,8486><+">text$<-">

@1st lev para@<:#200,8486>String. The value you want to append to the field.

<:#200,8486><+">fieldName$<-">

@1st lev para@<:#400,8486>String. Optional. The field into which you want to append <+">text$.<-"> The field must be editable. If you don't specify a 
<+">fieldName$, <-">the text is appended to the current field.

@Chead@<:#200,8486>Usage

<:#200,8486>A document must be open in edit mode.

<:#200,8486>

@Bhead title@<:#220,8486>FieldClear Method<:X8,179;Index "FieldClear method" #>

<:#200,8486>In a document in edit mode, clears the contents of a field.

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.FieldClear( <-!><[> <+">fieldName$ 
<-">] <+!>)<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">fieldName$<+!><-">

@1st lev para@<:#400,8486>String. Optional. The name of the field you want to clear. The field must be editable. If you don't specify a 
<+">fieldName$, <-">the current field is cleared.

@Chead@<:#200,8486>Usage

<:#200,8486>A document must be open in edit mode.

<:#200,8486>

@Bhead title@<:#220,8486>FieldContains Method<:X8,179;Index "FieldContains method" #>

<:#200,8486>In a document in edit mode, checks if a field contains a specific text value.

@Chead@<:#200,8486>Syntax

<:#200,8486><+">flag%<+!><-"> = <-!><+">notesUIDocument<+!><-">.Contains( <-!><+">textValue$ 
<-"><[><+!>, <-!><+">fieldName$ <-">] <+!>)<-!>

@Chead@<:#200,8486><+!>Parameters

<:#200,8486><+">textValue$<-">

@1st lev para@<:#200,8486>String. The value you want to check for.

<:#200,8486><+">fieldName$<-">

@1st lev para@<:#400,8486>String. Optional. The name of the field you want to check. The field must be editable. If you don't specify a 
<+">fieldName$, <-">the method checks the current field.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">flag%<-">

@1st lev para@<:#200,8486>Boolean. Returns TRUE if the field contains the <+">textValue$. <-">Otherwise returns FALSE.

<:#200,8486>

@Bhead title@<:#220,8486>FieldGetText Method<:X8,179;Index "FieldGetText method" #>

<:#200,8486>In a document in edit mode, returns the contents of a field you specify, as a string.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+">textValue$<+!><-"> = <-!><+">notesUIDocument<+!><-">.FieldGetText( 
<-!><[> <+">fieldName$<-"> ]<+!> )<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">fieldName$<+!><-">

@1st lev para@<:#400,8486>String. Optional. The name of the field whose contents you want. The field must be editable. If you don't specify a 
<+">fieldName$, <-">the method returns the contents of the current field.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">textValue$<-">

@1st lev para@<:#200,8486>String. The contents of the field you specified.

<:#200,8486>

@Bhead title@<:#220,8486>FieldSetText Method<:X8,180;Index "FieldSetText method" #>

<:#200,8486>In a document in edit mode, sets the value of a field.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.FieldSetText( <-!><+">textValue$<-"> <[><+!>, 
<+"><-!>fieldName$ <-">] <+!>)<-!>

@Chead@<:#200,8486><+!>Parameters

<:#200,8486><+">textValue$<+!><-">

@1st lev para@<:#200,8486>String. The value you want to give to the field.

<:#200,8486><+">fieldName$<-">

@1st lev para@<:#400,8486>String. Optional. The name of the field whose value you want to set. The field must be editable. If you don't specify a 
<+">fieldName$, <-">the method sets the value of the current field.

@Chead@<:#200,8486>Usage

<:#200,8486><+!><+">YY if the field is of another data type, such as number, does the method convert it from a string?<-!><-"><-">

<:#200,8486>

@Bhead title@<:#220,8486>Forward Method<:X8,180;Index "Forward method" #>

<:#200,8486>Creates a new mail memo with the contents of a document, and prompts the user for recipients.

@Chead@<+@><:#200,8486>Defined In

<+@><:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.Forward<-!>

<:#200,8486>

@Bhead title@<:#220,8486>GotoBottom Method<:X8,180;Index "GotoBottom method" #>

<:#200,8486>Moves focus to the bottom of a document.

@Bullet@<:#200,8486>In a document in edit mode, puts the cursor in the last editable field.

@Bullet@<:#200,8486>In a document in read mode, scrolls to the bottom of the document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.GotoBottom<-!>

<:#200,8486>

@Bhead title@<:#220,8486>GotoField Method<:X8,180;Index "GotoField method" #>

<:#200,8486>Given a field name, moves focus to that field.

@Bullet@<:#200,8486>In a document in edit mode, puts the cursor in the specified field.

@Bullet@<:#200,8486>In a document in read mode, scrolls so that the specified field is visible.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.GotoField<-!>

<:#200,8486>

@Bhead title@<:#220,8486>GotoNextField Method<:X8,181;Index "GotoNextField method" #>

<:#400,8486>Moves focus to the next field in a document. The next field is the one below and to the right of the current field.

@Bullet@<:#200,8486>In a document in edit mode, puts the cursor in the next field.

@Bullet@<:#200,8486>In a document in read mode, scrolls so that the next field is visible.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.GotoNextField<-!>

<:#200,8486>

@Bhead title@<:#220,8486>GotoPrevField Method<:X8,181;Index "GotoPrevField method" #>

<:#400,8486>Moves focus to the previous field in a document. The previous field is the one above and to the left of the current field.

@Bullet@<:#200,8486>In a document in edit mode, puts the cursor in the previous field.

@Bullet@<:#200,8486>In a document in read mode, scrolls so that the previous field is visible.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.GotoPrevField<-!>

<:#200,8486>

@Bhead title@<:#220,8486>GotoTop Method<:X8,181;Index "GotoTop method" #>

<:#200,8486>Moves focus to the top of a document.

@Bullet@<:#200,8486>In a document in edit mode, puts the cursor in the first field.

@Bullet@<:#200,8486>In a document in read mode, scrolls to the top of a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.GotoTop<-!>

<:#200,8486>

@Bhead title@<:#220,8486>InsertText Method<:X8,181;Index "InsertText method" #>

<:#200,8486>In a document in edit mode, inserts a text value at the current cursor position.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.InsertText( <-!><+">textValue$ 
<+!><-">)<-!>

@Chead@<:#200,8486><+!>Parameter

<:#200,8486><+">textValue$<+!><-">

@1st lev para@<:#200,8486>String. The value you want to insert.

<:#200,8486>

@Bhead title@<:#220,8486>Paste Method<:X8,182;Index "Paste method" #>

<:#200,8486>In a document in edit mode, paste the contents of the clipboard at the current cursor position.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.Paste<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Print Method<:X8,182;Index "Print method" #>

<:#200,8486>Prints a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call<-!><+"> notesUIDocument<+!><-">.Print( <-!><+">numCopies<-"><+">%<-"><+!>,<-!><+"> fromPage%<-"><+!>,<-!><+"> toPage%<-"><+!>,<-!><+"> draft%<+!><-"> )<-!><-"><-"><-"><-">

@Chead@<:#200,8486><+!>Parameters

<:#200,8486><+">numCopies<-"><+">%<-">

@1st lev para@<:#200,8486>Integer. The number of copies you want to print. Specify 0 if you want to display the print dialog box.

<:#200,8486><+">fromPage<-"><+">%<-">

@1st lev para@<:#200,8486>Integer. The page number where you want to begin printing.

<:#200,8486><+">toPage<-">

@1st lev para@<:#200,8486>Integer. The page number where you want to stop printing.

<:#200,8486><+">draft%<-">

@1st lev para@<:#200,8486>Boolean. Specify TRUE if you want to print the document in draft mode. Otherwise specify FALSE.

<:#200,8486>

@Bhead title@<:#220,8486>Refresh Method<:X8,182;Index "Refresh method" # "in NotesUIDoc">

<:#200,8486>Refreshes a document. When you refresh a document, all of its computed fields are recalculated.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.Refresh<-!>

@Chead@<:#200,8486>Usage

<:#400,8486>This method is useful when the keywords available in one field are dependent upon the contents of another field on the document.

<:#200,8486>

@Bhead title@<:#220,8486>Save Method<:X8,183;Index "Save method" # "in NotesUIDocument">

<:#200,8486>Saves a document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call<-!><+"> notesUIDocument<+!><-">.Save<-!>

@Chead@<:#200,8486><+!>Usage

<:#200,8486>You must call Save if you want changes to the document to be written to disk.

<:#200,8486>

@Bhead title@<:#220,8486>SelectAll Method<:X8,183;Index "SelectAll method" #>

<:#200,8486>Selects the entire contents of the current field. <+!><+">YY what about read mode?<-"><-!>

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call <-!><+">notesUIDocument<+!><-">.SelectAll<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Send Method<:X8,183;Index "Send method" # "in NotesUIDocument">

<:#400,8486>Mails a document and closes it. Since the document is closed after mailing, the NotesUIDocument is no longer available once you call the method.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesUIDocument

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Call<-!><+"> notesUIDocument<+!><-">.Send<-!>

@Chead@<:#200,8486><+!>Usage<-!>

<:#400,8486>The document must contain a SendTo field indicating the recipients. In addition, there are two kinds of fields that affect the mailing of the document:

@Bullet@<:#400,8486>If the document contains additional recipient items, such as CopyTo or BlindCopyTo, Notes mails the documents to these recipients, too.

@Bullet@If the document contains items to control the routing of mail, such as DeliveryPriority, DeliveryReport, or ReturnReceipt, Notes uses these when sending the document.<:p<* >>

@Ahead@<:#240,8486>NotesUIWorkspace Class<:X8,184;Index "NotesUIWorkspace class" #>

<:#200,8486>Represents the current Notes workspace window.

@Chead@<:#200,8486>Containment

<:#200,8486>Can contain: NotesDatabase and NotesUIDocument

@Chead@<:#200,8486>Property

<:t14>

@Chead@<:#200,8486>Creation

<:#200,8486>To create a new NotesUIWorkspace object, use New.

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Dim <-!><+">variableName<+!><-"> As New NotesUIWorkspace<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>NotesDatabase class<-)>

@Crossref@<:#200,8486><+)>NotesUIDocument class<-)>

@Chead title@<:#200,8486>Examples: NotesUIWorkspace Class

<:#400,8486>1. This script uses a NotesUIWorkspace to get the current document. It then uses the FieldGetText method to print the Subject field of the current document.

@Mono@<:#800,8486>Dim workspace As New NotesUIWorkspace<**>Dim uidoc As NotesUIDocument<**>Set uidoc = workspace.CurrentDocument<**>Messagebox( uidoc.FieldGetText( "Subject" ) )

@Bhead title@<:#220,8486><:X8,184;Index "CurrentDocument property" #>CurrentDocument Property

<:#200,8486>Returns an object representing the document that's currently open.

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>Set<-!><+"> notesUIDocument<+!><-"> = <-!><+">notesUIWorkspace<+!><-">.CurrentDocument<-!><-#>

@Chead@<:#200,8486><+!>Return Value

<:#200,8486><+">notesUIDocument<-">

@1st lev para@<:#200,8486>Represents the currently open document.

@See also hlp@<:#270,8486>

@Crossref@<+)>NotesUIDocument class<-)><:p<* >>

@Bhead title@<:#220,8486>NotesView Class<:X8,185;Index "NotesView class" #>

<:#200,8486>Represents a view or folder of a database and provides access to documents within it.

@Chead@<:#200,8486>Containment

<:#200,8486>Contained by: NotesDatabase

<:#200,8486>Contains: NotesDocument

@Chead@<:#200,8486>Properties

<:t18>

@Chead@<:#200,8486>Methods

@Chead@<:t17>

@Chead@<:#200,8486>Access

<:#200,8486>You access a view or folder through the NotesDatabase object that contains it. There are two ways:

@Bullet@<:#200,8486>To access a view or folder when you know its name or its synonym, use the GetView method.

@Bullet@<:#200,8486>To access all of the views and folders in a database, use the Views property.

<:#400,8486>Both of these options return NotesView objects that represent public view(s) and/or folder(s) in the database. If a database is local, the NotesView objects may also represent private folders.

<:#400,8486>To access a view or folder when you have a document that was retrieved from the view, use the ParentView property in NotesDocument.

@Chead@<:#200,8486>Usage

<+@><:#400,8486>Both NotesDocumentCollection and NotesView objects provide access to documents within a database. Use a NotesView object if:

@Bullet@<+@><:S+-1><:#211,8486>there is a view or folder in the database that contains all the documents you want to search.

@Bullet@<+@><:S+-1><:#211,8486>you need to navigate through the documents' response hierarchies.

@Bullet@<+@><:S+-1><:#211,8486>you want to access documents as quickly as possible.

<+@><:#400,8486>Views are the more efficient means of accessing documents because they are already indexed by the database itself. 

@Chead@<+@><:#200,8486>Accessing documents in the view or folder

<+@><:#200,8486>To access documents in a view or folder, there are three places to start:

@Bullet@<+@><:#200,8486>The beginning. Use GetFirstDocument.

@Bullet@<+@><:#200,8486>The middle. Use GetDocumentByKey or GetNthDocument.

@Bullet@<+@><:#200,8486>The end. Use GetLastDocument.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_NOTESVIEW_CLASS<-*>

@Crossref@<:#200,8486><+)>GetView Method<-)><+*>H_GETVIEW_METHOD<-*>

@Crossref@<:#200,8486><+)>Views Property<-)><+*>H_VIEWS_PROPERTY<-*>

@Crossref@<:#200,8486><+)>ParentView Property<-)><+*>H_PARENTVIEW_PROPERTY<-*>

@Crossref@<:#200,8486><+)>NotesDatabase Class<-)><+*>H_NOTESDATABASE_CLASS<-*>

@Crossref@<:#200,8486>NotesDocumentCollection Class

@Chead title@<:#200,8486>Examples: NotesView Class

<:#200,8486><+!><+">YY need an example of doc.ParentView<-"><-!>

<:#400,8486>1. This code finds the All By Category view in a mail database and then gets the first document in the view.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "Havana","mail\cbanner.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Set view = db.GetView( "All by Category" )<**>Set doc = view.GetFirstDocument

<:#200,8486>2. This code calls GetView using a view's synonym instead of its full name.

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Havana", "calendar.nsf" )<**>Dim view As NotesView<**>Set view = db.GetView( "Months" )

<:#400,8486>3. You can access hidden views the same way as any other view. This code gets a hidden view in a calendar database.

@Mono@<:#600,8486>Dim db As New NotesDatabase( "Havana", "calendar.nsf" )<**>Dim view As NotesView<**>Set view = db.GetView( "(Days by Key)" )

<:#400,8486>4. This finds the default view of a database. It uses the Views property from the NotesDatabase class and the IsDefault property from the NotesView class.

@Mono@<:#2200,8486>Dim db As New NotesDatabase( "Havana", "calendar.nsf" )<**>Dim view As NotesView<**>allViews = db.Views<**>i = 0<**>' Check each view to see if it's the default view<**>While view Is Nothing<**>  If allViews( i ).IsDefaultView Then<**>    Set view = allView
s( i )<**>  End If<**>  i = i + 1<**>Wend

<:#200,8486>

@Bhead title@<:#220,8486>Columns Property<:X8,186;Index "Columns property" #>

<:#200,8486>Read-only. Each column in a view.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Data Type

<:#200,8486>Array of NotesViewColumns

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">columnArray<+!><-"> = <-!><+">notesView<+!><-">.Columns<-!>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">columnArray<-">

@1st lev para@<:#400,8486>Array of NotesViewColumns. The order of NotesViewColumns in the array corresponds to the order of columns in the view, from left to right.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_COLUMNS_PROPERTY<-*>

@Crossref@<:#200,8486>NotesViewColumn Class

@Crossref@<:#200,8486>NotesDocument.ColumnValues Property

@Chead title@<:#200,8486>Examples: Columns Property

<:#400,8486>1. This code prints the title of each column in a view of the WALNUT database. It uses the Title property of the NotesViewColumn class.

@Mono@<:#1800,8486>server$ = "Communications"<**>dbfile$ = "walnut.nsf"<**>Dim db As New NotesDatabase( server$, dbfile$ )<**>Dim view As NotesView<**>Set view = db.GetView( "By Date\Ascending By Main Topic" )<**>temp = view.columns<**>Forall c In temp<**> Print c.Title<**>En
d Forall

@Bhead title@<:#220,8486>

@Bhead title@<:#220,8486>Created Property<:X8,187;Index "Created property" # "in NotesView">

<:#200,8486>Read-only. The date that a view was created. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">dateV = notesView<-"><+!>.Created<-!>

<:#200,8486>

@Bhead title@<:#220,8486>IsDefaultView Property<:X8,187;Index "IsDefaultView property" #>

<:#200,8486>Read-only. Indicates whether or not a view is the default view of the database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesView<-"><+!>.IsDefaultView<-!>

@Chead@<:#200,8486>Return Value

<:t16>

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_ISDEFAULTVIEW_PROPERTY<-*>

@Chead title@<:#200,8486>Examples: IsDefaultView Property

<:#400,8486>1. This code shows one way to find the default view for the current database using the IsDefaultView and Views proerties.

@Mono@<:#2000,8486>Dim session As New NotesSession<**>Dim db As NotesDatabase<**>Dim view As NotesView<**>Set db = session.CurrentDatabase<**>temp = db.Views<**>Forall v In temp<**>  If v.IsDefaultView Then<**>    Set view = v<**>  End If<**>End Forall

@Bhead title@<:#220,8486>IsFolder Property<:X8,188;Index "IsFolder property" #>

<:#200,8486>Read-only. Indicates whether or not a view is a folder.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">flag% <-"><+">= notesView<-"><+!>.IsFolder<-!>

@Chead@<:#200,8486>Return Value

<:t15>

@Bhead title@<:#220,8486>

@Bhead title@<:#220,8486>LastModified Property<:X8,188;Index "LastModified property" # "in NotesView">

<:#200,8486>Read-only. The date that a view was last modified. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Data Type

<:#200,8486>Variant of type DATE

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">date<-"><+">V = notesView<-"><+!>.LastModified<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Name Property<:X8,189;Index "Name property" # "in NotesView">

<:#200,8486>Read-only. The name of a view.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">propertyName$ = <-"><+">notesView<-"><+!>.Name<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Parent Property<:X8,189;Index "Parent property" # "in NotesView">

<:#200,8486>Read-only. The database to which a view belongs.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Data Type

<:#200,8486>NotesDatabase

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+!>SET <-!><+">notesDatabase <-"><+">= notesView<-"><+!>.Parent<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>NotesDatabase Class<-)>

<:#200,8486><+!>

@Bhead title@<:#220,8486><:X8,189;Index "UniversalID property" # "in NotesView">UniversalID Property

<:#200,8486>Read-only. The UNID of a view.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Data Type

<:#200,8486>String

@Chead@<:#200,8486><+!>Syntax<-!>

<:#200,8486>To get: <+">unid$<-"><+">= notesView<-"><+!>.UniversalID<-!>

<:#200,8486>

@Bhead title@<:#220,8486>Clear Method<:X8,189;Index "Clear method" # "in NotesView">

<:#200,8486>Clears the full text query filtering on a view. Emulates the Clear button in the Notes search bar.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesView<-"><+!>.Clear<-!>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>FTSearch Method<-)>

<:#200,8486><+)>

@Bhead title@<:#220,8486>FTSearch Method<:X8,190;Index "FTSearch method" # "in NotesView">

<:#400,8486>Conducts a full text search on all documents in a view and filters the view so that it contains only those documents that match the full text query. This method does not find word variants.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+">numDocs%<+!><-"> = <+"><-!>notesView<-"><+!>.FTSearch<-!><+!>(<-!><+"> query$<+!><-">, 
<-!><+">maxDocs%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">query<-"><+">$<-">

@1st lev para@<:#200,8486>String. The full text query.

<:#200,8486><+">maxDocs<-"><+">%<-">

@1st lev para@<:#400,8486>Integer. The maximum number of documents you want returned from the search. If you want to receive all documents that match the query, set to 0.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">numDocs%<-">

@1st lev para@<:#400,8486>Integer. The number of documents in the view after the search. Each of these documents contains the 
<+">query$<-">.

@Chead@<:#200,8486>Usage

<:#200,8486>After calling FTSearch, you can use the regular NotesView methods to navigate the view.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See example<-)><+*>H_EXAMPLES_FTSEARCH_METHOD<-*>

@Crossref@<:#200,8486>Clear Method

@Crossref@<:#200,8486>NotesDatabase.FTSearch Method 

@Chead title@<:#200,8486>Examples: FTSearch Method

<:#200,8486>1. This code opens a view and performs a full text search for the word "benchmark".

@Mono@<:#800,8486><**>Dim db As New NotesDatabase( "Communications", "walnut.nsf" )<**>Dim view As NotesView<**>Set view = db.GetView( "By Date\Ascending By Main Topic" )<**>j% = view.FTSearch( "benchmark", 0 )

<:#800,8486>2. This code opens the same view as the example above and performs a full text search for "benchmark*". Using a wildcard here allows us to search for word variants (such as "benchmarks", "benchmarked", and "benchmarking"). The number of documents in the vie
w,<:f,QCourier New,> j%<:f>, is most likely greater than in the example above.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "Communications", "walnut.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Set view = db.GetView( "By Date\Ascending By Main Topic" )<**>j% = view.FTSearch( "benchmark*", 0 )

<:#400,8486>3. This code finds all the documents containing both "server" and "protocol" and places them into the For Review folder. Once this is accomplished, it clears the search. 
<+!><+">YY not working.<-"><-!>

@Mono@<:#2000,8486>Dim db As New NotesDatabase( "Communications", "walnut.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Set view = db.GetView( "By Date\Ascending By Main Topic" )<**>j% = view.FTSearch( "server AND protocol", 0 )<**>For i = 1 To j%<**>  Set do
c = view.GetNthDocument( i )<**>  Call doc.PutInFolder( "For Review" )<**>Next<**>Call view.Clear

<:#200,8486>

@Bhead title@<:#220,8486>GetChild Method<:X8,191;Index "GetChild method" #>

<:#200,8486>Given a document in a view, returns the first response to the document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetChild<-!><+!>(<-!><+"> notesDocument 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. Any document in the view.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#400,8486>NotesDocument. The first response document to the <+">notesDocument<-"> parameter you specify. Returns Nothing if there are no responses to the document.

@Chead@<:#200,8486>Usage

<:#200,8486>To find additional response documents, use GetNextSibling.

<:#400,8486>If you've subsetted the view with the FTSearch method, GetChild simply returns the next document in the view.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See example<-)><+*>H_EXAMPLES_GETCHILD_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>GetParentDocument method

@Crossref@<:#200,8486>GetNextDocument method

@Crossref@<:#200,8486>GetNextSibling method

@Chead title@<:#200,8486>Examples: GetChild Method

<:#200,8486>1. This code uses GetChild to get the first response to the first document in the view, if there is one.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "Troy", "gonotes.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Dim response As NotesDocument<**>Set view = db.GetView( "1. _Main View" )<**>Set doc = view.GetFirstDocument<**>Set response = view.GetChild( doc )

<:#200,8486>

@Bhead title@<:#220,8486>GetDocumentByKey Method<:X8,192;Index "GetDocumentByKey method" #>

<:#800,8486>Finds a document based on its column values within a view. You create an array of strings (or "keys"), where each key corresponds to a value in a sorted column of the view. The method returns the first document whose column values match each key in the arra
y. This method works like the keyboard matching behavior in Notes, except that multiple keys are supported.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetDocumentByKey<-!><+!>(<-!><+"> keyArray 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">keyArray<-">

@1st lev para@<:#600,8486>Array of strings. Each element in the array contains a string which is compared to a sorted column in the view. The first element in the array is compared to the first sorted column in the view, the second element is compared to the second sorted column, an
d so on.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>The first document in the view whose column values match each of the strings in 
<+">keyArray<-">.

@Chead@<:#200,8486>Usage

<:#400,8486>This method returns only the first document whose column values match the strings you indicate. To locate additional matching documents, use a method such as GetNextDocument.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETDOCUMENTBYKEY_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument class

@Chead title@<:#200,8486>Examples: GetDocumentByKey Method

<:#800,8486>1. The code below looks in the the All By Category view, finds the value "requests" in the first column, and returns the first document under "requests". This is similar to opening a view in Notes and typing the word "requests" -- Notes automatically scroll
s to the first document under "requests". <+!><+">YY waiting for 126 to update examples, since the method crashes 125<-"><-!>

@Mono@<:#1000,8486>Dim stringList ( 1 to 1 ) As String<**>Set view = db.GetView( "All by Category" )<**>stringList ( 1 ) = "requests"<**>myVariant = stringList ()<**>Set doc = view.FindDocumentByKey( myVariant )

<:#200,8486>

@Bhead title@<:#220,8486>GetFirstDocument Method<:X8,193;Index "GetFirstDocument method" # "in NotesView">

<:#400,8486>Returns the first document in a database view. This is the same document you see when you scroll to the top of the view in the Notes UI.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetFirstDocument<-!>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. The first document in the view.

@Chead@<:#200,8486>Usage

<:#200,8486>GetFirstDocument is particularly useful when:

@Bullet@<:#400,8486>You want to access every document in the view. Use GetNextDocument to find documents after the first one.

@Bullet@<:#400,8486>The first column in the view is sorted by date, and you want to access either the oldest or newest document in the view.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See example<-)><+*>H_EXAMPLES_GETFIRSTDOCUMENT_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>GetFirstDocument method

@Crossref@<:#200,8486>GetLastDocument method

@Crossref@<:#200,8486>GetNextDocument method

@Chead title@<:#200,8486>Examples: GetFirstDocument Method

<:#400,8486>1. This code uses GetFirstDocument to get the first document in the Open\By Project & Priority view of a database.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "Sales", "todo.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Set view = db.GetView( "Open\By Project & Priority" )<**>Set doc = view.GetFirstDocument

@Bhead title@<:#220,8486>GetLastDocument Method<:X8,193;Index "GetLastDocument method" # "in NotesView">

<:#400,8486>Returns the last document in a database view. This is the same document you see when you scroll to the bottom of the view in the Notes UI.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetLastDocument<-!>

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. The last document in the view.

@Chead@<:#200,8486>Usage

<:#200,8486>GetLastDocument is particularly useful when:

@Bullet@<:#400,8486>The first column in the view is sorted by date, and you want to access either the oldest or newest document in the view.

@Bullet@<:#400,8486>You want to access every document in the view. Use GetPrevDocument to find documents before the last one.

@Bullet@<:#400,8486>You write a script that modifies fields on mulitple documents, but first you want to test the script against just one document. The last document in the view is often the easiest to locate visually.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETLASTDOCUMENT_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>GetFirstDocument method

@Crossref@<:#200,8486>GetPrevDocument method

@Crossref@<:#200,8486>GetDocumentByKey method

@Chead title@<:#200,8486>Examples: GetLastDocument Method

<:#600,8486>1. This example gets the last document in the main view of a discussion database. The first column in the main view is sorted by date, in ascending order. Hence, the last document is the newest document in the view.

@Mono@<:#1000,8486>Dim db As New NotesDatabase( "France", "foodwine.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Set view = db.GetView( "Main View")<**>Set doc = view.GetLastDocument

<:#200,8486>

@Bhead title@<:#220,8486>GetNextDocument Method<:X8,194;Index "GetNextDocument method" # "in NotesView">

<:#200,8486>Given a document in a view, returns the document immediately following it.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetNextDocument(<-!><+"> currentDocument 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. Any document in the view.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#400,8486>NotesDocument. The document following the specified <+">notesDocument<-"> parameter in the view. Returns Nothing if there are no more documents in the view.

@Chead@<:#200,8486>Usage

<:#600,8486>GetNextDocument returns the next document in the view regardless of what type of document it is (document, response, or response-to-response). If you want the next sibling document in the view, use GetNextSibling.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETNEXTDOCUMENT_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>GetFirstDocument method

@Crossref@<:#200,8486>GetPrevDocument method

@Crossref@<:#200,8486>GetNextSibling method

@Chead title@<:#200,8486>Examples: GetNextDocument Method

<:#200,8486>1. This code uses GetNextDocument to get the second document in a view.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "Istanbul", "notefile\contacts.nsf" )<**>Dim view As NotesView<**>Dim firstDoc As NotesDocument<**>Dim secondDoc As NotesDocument<**>Set view = db.GetView( "Main View" )<**>Set firstDoc = view.GetFirstDocument<**>Set secondDoc =
 view.GetNextDocument( firstDoc )

<:#800,8486>2. This code shows how you can use a While loop and GetNextDocument to access every document in a view. The While loop exits when GetNextDocument returns Nothing, which means there are no more documents in the view. This construct is useful for a variety of
 cases. In this case, we check to see that each Project Status Report is updated daily; if it isn't, the script sends mail to the Report's authors.

@Mono@<:#2200,8486>Dim db As New NotesDatabase( "Ankara", "current\projects.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Set view = db.GetView( "Open\By Due Date" )<**>Set doc = projectsView.GetFirstDocument<**>While Not ( doc Is Nothing )<**>  If doc.LastMo
dified << Today Then<**>    Call doc.SendTo( doc.Authors, True )<**>  End If<**>  Set doc = view.GetNextDocument( doc )<**>Wend

<:#1200,8486>3. Suppose you want a view called This Month Only to display only documents created this month. To help build the view, you create a text field on each document called 
<:f,QCourier New,>thisMonth<:f> and set its default value to "Yes". The view selects documents for which 
<:f,QCourier New,>thisMonth = "Yes"<:f>. Once a month, you want to run an agent that finds all the documents created 
<+">last<-"> month and sets the <:f,QCourier New,>thisMonth<:f> field to "No". Notice where the script makes the call to GetNextDocument. 
<+!><+">YY this script should be modified to run on the current db as found through the session.<-"><-!>

@Mono@<:#4800,8486>Dim db As New NotesDatabase( "Santorini", "dynamic.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Dim nextDoc As NotesDocument<**>Set view = db.GetView( "This Month Only" )<**>Set doc = view.GetFirstDocument<**>done = False<**>'  Stop the lo
op when there are no more documents in the view,<**>'  or when we reach documents created during the current month<**>While ( Not ( doc Is Nothing )  And Not done )<**>  '  Get the value of the DateComposed field<**>  composed = doc.DateComposed<**>  If ( M
onth( composed ) <<<;> Month( Today ) ) Then<**>    '  Get the next document in the view *before* removing<**>    '  the current document from the view<**>    Set nextDoc = view.GetNextDocument( doc )<**>    doc.thisMonth = "No"<**>    Call doc.Save( True, 
False ) <**>  Else<**>    '  We've reached the documents composed in the current month<**>    done = True<**>  End If<**>  Set doc = nextDoc<**>Wend

<:#200,8486>

@Bhead title@<:#220,8486>GetNextSibling Method<:X8,196;Index "GetNextSibling method" #>

<:#600,8486>Given a document in a view, returns the document immediately following the given document at the same level. If you send the method a main document, the next main document in the view is returned; if you send a response document, the next response document 
with the same parent is returned.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetNextSibling<-!><+!>(<-!><+"> notesDocument<-"> 
<+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. Any document in the view.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#400,8486>NotesDocument. The document following the specified <+">notesDocument 
<-">parameter, at the same level in the view. Returns Nothing if there are no more siblings. 

@Chead@<:#200,8486>Usage

<:#200,8486>You can use GetNextSibling to:

@Bullet@<:#200,8486>Move from one main document to the next, skipping any response documents in between.

@Bullet@<:#400,8486>Visit all of the response documents of a particular parent document (use GetChild to find the first response).

@Bullet@<:#400,8486>Visit all of the response-to-response documents of a particular parent document (use GetChild to find the first response-to-response).

<:#400,8486>If you have filtered the view with FTSearch, GetNextSibling returns the next document in the view, regardless of level.

@Chead@<:#200,8486>Siblings

<:#200,8486>Two documents are siblings if:

@Bullet@<:#200,8486>They are both main documents, or

@Bullet@<:#200,8486>They both responses or response-to-responses and they share the same parent document.

@Chead@<:#200,8486>The last sibling

<:#200,8486>When you send GetNextSibling the last main document in a view, it returns Nothing.

<:#600,8486>When you send GetNextSibling the last response (or response-to-response) to a particular parent, it returns Nothing, even if there are more response documents in the view. Two documents aren't siblings simply because they're the same document type -- they m
ust also share the same parent.

@Chead@<:#200,8486>Nesting

<:#400,8486>Since response hierarchies can nest many levels deep, it's not always possible to use GetChild and GetNextSibling to visit every document in a thread.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETNEXTSIBLING_METHOD<-*>

@Crossref@<:#200,8486>GetNextDocument method

@Crossref@<:#200,8486>GetPrevSibling method

@Crossref@<:#200,8486>GetChild method

@Crossref@<:#200,8486>FTSearch method

@Crossref@<:#200,8486>ParentDocumentUNID property

@Crossref@<:#200,8486>FindDocumentByUNID method

@Chead title@<:#200,8486>Examples: GetNextSibling Method

<:#400,8486>1. This code uses GetNextSibling to get the second main document in a view, skipping over any responses to the first main document.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "Providence", "buddy.nsf" )<**>Dim view As NotesView<**>Dim firstMainDoc As NotesDocument<**>Dim secondMainDoc As NotesDocument<**>Set view = db.GetView( "Main View" )<**>Set firstMainDoc = view.GetFirstDocument<**>Set secondMai
nDoc = view.GetNextSibling( firstMainDoc )

<:#800,8486>2. The code below calculates a field on a main document based on fields in its response documents. Here, the 
<:f,QCourier New,>total<:f> field on a main document is calculated to be the sum of all the 
<:f,QCourier New,>total<:f> fields of its responses. The code uses GetNextSibling method to move from one main document to the next and from one response document to the next.

@Mono@<:#4200,8486>Dim db As New NotesDatabase( "Chicago", "richardj.nsf" )<**>Dim view As NotesView<**>Dim parentDoc As NotesDocument<**>Dim responseDoc As NotesDocument<**>Set view = db.GetView( "Main View" )<**>Set parentDoc = view.GetFirstDocument     
<**>'   Visit each main document in the view<**>While Not ( parentDoc Is Nothing )<**>  newTotal% = 0<**>  Set responseDoc = view.GetChild( parentDoc )<**>  '   Visit each of the parent's response documents<**>  While Not ( responseDoc Is Nothing )<**>    s
ubtotal = responseDoc.GetItemValue( "total" )<**>    newTotal% = newTotal% + Cint( subtotal( 0 ) )<**>    Set responseDoc = view.GetNextSibling( responseDoc )<**>  Wend<**>  '   Put the new total onto the parent document<**>  Call parentDoc.ReplaceItemValue
( "total", newTotal% )<**>  Call parentDoc.Save( True, False )<**>  Set parentDoc = view.GetNextSibling( parentDoc )<**>Wend

<:#200,8486>

@Bhead title@<:#220,8486>GetNthDocument Method<:X8,198;Index "GetNthDocument method" # "in NotesView">

<:#200,8486>Given a number, returns the document at the given offset in a view.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetNthDocument(<-!><+"> n%<-"><+!> )<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">n%<-">

@1st lev para@<:#400,8486>Integer. A number indicating the document to return. Use 1 to indicate the first document in the view, 2 to indicate the second document, and so on.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. The document in the <+">n<-">th position in the view.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>GetDocumentByKey method

<:#200,8486>

@Bhead title@<:#220,8486>GetParentDocument Method<:X8,198;Index "GetParentDocument method" #>

<:#200,8486>Given a response document in a view, returns its parent document.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetParentDocument<-!><+!>(<-!><+"> notesDocument 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. Any document in the view.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#600,8486>NotesDocument. The parent of the specified <+">notesDocument<-"> parameter<+"> 
<-">(the document to which the <+">notesDocument <-"> parameter is a response). If you have filtered the view using FTSearch, GetParentDocument simply returns the previous document in the view.

@Chead@<:#200,8486>Usage

<:#200,8486>The document returned by GetParent may be a Document, a Response, or a Response-to-Response.

<:#400,8486>To find a document's parent outside of a view, get its ParentUNID and use the NotesDatabase method GetDocumentByUNID.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETPARENTDOCUMENT_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>NotesDatabase class

@Crossref@<:#200,8486>GetChild method

@Crossref@<:#200,8486>NotesDatabase.GetDocumentByUNID method

@Chead title@<:#200,8486>Examples: GetParentDocument Method

<:#400,8486>1. This code uses GetParentDocument to find the parent of the last document in the Main View of a discussion database.

@Mono@<:#1800,8486>Dim db As New NotesDatabase( "Sales_Server", "discuss.nsf" )<**>Dim view As NotesView<**>Dim doc As NotesDocument<**>Dim parentDoc As NotesDocument<**>Set view = db.GetView( "Main View" )<**>Set doc = view.GetLastDocument<**>If doc.IsResponse Then<**>  Set 
parentDoc = view.GetParentDocument( doc )<**>End If

<:#600,8486>2. This function takes a document and returns its ancestor -- that is, the original main document that began a response hierarchy. This is useful for discussion databases in which Response-to-Response documents often nest many levels deep.

@Mono@<:#1600,8486>Function getAncestor ( doc As NotesDocument ) As NotesDocument<**>  Dim view As NotesView<**>  Set view = doc.ParentView<**>  While doc.IsResponse<**>    Set doc = view.GetParentDocument( doc )<**>  Wend<**>  Set getAncestor = doc<**>End Function

<:#200,8486>

@Bhead title@<:#220,8486>GetPrevDocument Method<:X8,200;Index "GetPrevDocument method" # "in NotesView">

<:#400,8486>Given a document in a view, returns the document immediately preceding. The returned document may be at the same level in the view (a sibling), or it may be at a different level (a child).

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetPrevDocument(<-!><+"> notesDocument 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. Any document in the view.

@Chead@<:#200,8486>Return Value

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#400,8486>NotesDocument. The document preceding the <+">notesDocument<-"><+"> 
<-">parameter you specify. Returns Nothing if there is no preceding document.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETPREVDOCUMENT_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>GetLastDocument method

@Crossref@<:#200,8486>GetNextDocument method

@Chead title@<:#200,8486>Examples: GetPrevDocument Method

<:#400,8486>1. This code used GetPrevDocument to get the second-to-last document in the All by Status & Project view of a database.

@Mono@<:#1400,8486>Dim db As New NotesDatabase( "Sales_Server", "todo.nsf" )<**>Dim view As NotesView<**>Dim lastDoc As NotesDocument<**>Dim secondToLastDoc As NotesDocument<**>Set view = db.GetView( "All by Status & Project" )<**>Set lastDoc = view.GetLastDocument<**>Set sec
ondToLastDoc = view.GetPrevDocument( lastDoc )

@Bhead title@<:#220,8486>GetPrevSibling Method<:X8,200;Index "GetPrevSibling method" # "in NotesView">

<:#800,8486>Given a document in a view, returns the document immediately preceding the given document at the same level.  If you send the method a main document, the preceding main document in the view is returned; if you send a response document, the preceding respons
e document with the same parent is returned.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">notesDocument <-"><+!>= <+"><-!>notesView<-"><+!>.GetPrevSibling<-!><+!>(<-!><+"> notesDocument 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameter

<:#200,8486><+">notesDocument<-">

@1st lev para@<:#200,8486>NotesDocument. Any document in the view.

@Chead@<:#200,8486>Return Value

@Table Text@<:#200,8486><+">notesDocument<-">

@1st lev para@<:#400,8486>NotesDocument. The document preceding the <+">notesDocument <-">parameter you specify, at the same level. Returns Nothing if there is no previous sibling in the view.

@Chead@<:#200,8486>Usage

<:#400,8486>You can use GetPrevSibling to move from one main document to the next, skipping any response documents in between.

<:#400,8486>If you have filtered the view using FTSearch, GetPrevSibling simply returns the previous document in the view, regardless of level.

@Chead@<:#200,8486>Siblings

<:#200,8486>Two documents are siblings if:

@Bullet@<:#200,8486>They are both main documents, or

@Bullet@<:#200,8486>They both responses or response-to-responses and they share the same parent document.

@Chead@<:#200,8486>The first sibling

<:#200,8486>When you send GetPrevSibling the first main document in a view, it returns Nothing.

<:#600,8486>When you send GetPrevSibling the first response (or response-to-response) to a particular parent, it returns Nothing, even if there are previous response documents in the view. Two documents aren't siblings simply because they're the same document type -- t
hey must also share the same parent.

@See also hlp@<:#270,8486>

@See also btn@<:#200,8486><+)>{bmc 1details.bmp}See examples<-)><+*>H_EXAMPLES_GETPREVSIBLING_METHOD<-*>

@Crossref@<:#200,8486>NotesDocument class

@Crossref@<:#200,8486>GetPrevDocument method

@Crossref@<:#200,8486>GetNextSibling method

@Crossref@<:#200,8486>GetChild method

@Crossref@<:#200,8486>GetParentDocument method

@Chead title@<:#200,8486>Examples: GetPrevSibling Method

<:#400,8486>1. This code uses GetPrevSibling to find the second-to-last main document in the Main View of a discussion database.

@Mono@<:#2400,8486>Dim db As New NotesDatabase( "Flagstaff", "discuss.nsf" )<**>Dim view As NotesView<**>Dim currentDoc As NotesDocument<**>Dim secondToLastMain As NotesDocument<**>Set view = db.GetView( "Main View" )<**>Set currentDoc = view.GetLastDocument<**>' Find the las
t main document in the view<**>While currentDoc.IsResponse<**>  Set currentDoc = view.GetParentDocument( currentDoc )<**>Wend<**>' Now find the second-to-last main document in the view<**>Set secondToLastMain = view.GetPrevSibling( currentDoc )

<:#200,8486><+#>

@Bhead title@<:#220,8486>Refresh Method<:X8,201;Index "Refresh method" # "in NotesView">

<:#400,8486>Updates a view's contents with any changes that have occurred to the database since the NotesView object was created, or since the last Refresh. 

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesView<-"><+!>.Refresh<-!>

@Chead@<:#200,8486><+!>Usage

<:#600,8486>Navigation through the view is not normally affected by changes to the actual database, since the view object is a snapshot of the view's contents at a particular time. Additions and deletions to the view which occurred since the view object was created do 
not appear, unless the Refresh method is invoked.

<:#200,8486><+#>

@Bhead title@<:#220,8486>Remove Method<:X8,202;Index "Remove method" # "in NotesView">

<:#200,8486>Deletes a view from a database.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesView

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>CALL <+"><-!>notesView<-"><+!>.Remove<-!>

<+#><:p<* >>

@Ahead@<:#240,8486>NotesViewColumn Class<+!><+#><:f><:X8,203;Index "NotesViewColumn class" #>

<:#200,8486>Represents a column in a view or folder.

@Chead@<:#200,8486>Containment

<:#200,8486>Contained by: NotesView

@Chead@<:#200,8486>Properties

<:t19>

@Chead@<:#200,8486>Access

<:#400,8486>You access an existing NotesViewColumn object through the view or folder that contains it. Use the Columns property in NotesView.

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>NotesView.Columns Property

@Crossref@<:#200,8486>NotesDocument.ColumnValues Property

<:#200,8486>

@Bhead title@<+@><:I0,0,0,0><:#220,8486><:f><-#><+!><:f>IsSorted Property<:X8,203;Index "IsSorted property" # "in NotesViewColumn">

<:#200,8486>Read-only. Indicates if a column is sorted.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesViewColumn

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<-"> = <+">notesViewColumn<+!><-">.IsSorted<-!>

@Chead@<+!>Legal Values<-!><+!><:t20>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486>IsCategory Property

@Chead@<:#200,8486>

@Bhead title@<:#220,8486>IsCategory Property<:X8,203;Index "IsCategory property" #>

<:#200,8486>Indicates if a column is categorized.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesViewColumn

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<-"> = <+">notesViewColumn<+!><-">.IsCategory<-!>

@Chead@<:#200,8486><+!>Legal Values

<+!><:t21>

@See also hlp@<:#270,8486>

@Crossref@<:#200,8486><+)>IsSorted Property<-)>

<:#200,8486>

@Bhead title@<:#220,8486>IsHidden Property<:X8,204;Index "IsHidden property" #>

<:#200,8486>Indicates if a column is hidden.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesViewColumn

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag%<+!><-"> = <-!><+">notesViewColumn<+!><-">.IsHidden<-!>

@Chead@<:#200,8486>Legal Values

<:t22>

<:#200,8486>

@Bhead title@<:#220,8486>IsResponse Property<:X8,204;Index "IsResponse property" # "in NotesViewColumn">

<:#200,8486>Indicates if a column contains only response documents.

@Chead@<:#200,8486>Defined In

<:#200,8486>NotesViewColumn Class

@Chead@<:#200,8486>Data Type

<:#200,8486>Boolean

@Chead@<:#200,8486>Syntax

<:#200,8486>To get: <+">flag$<-"> = <+">notesViewColumn<+!><-">.IsResponse<-!>

@Chead@<:#200,8486>Legal Values

<:t23>

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>Formula Property<:X8,204;Index "Formula property" #>

<+@><:I0,0,0,0><:#200,8486>Read-only. The @function formula for a column, if it exists.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesViewColumn

@Chead@<+@><:I0,0,0,0><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>String

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486>To get: <+">formula$<+!><-"> = <-!><+">notesViewColumn<+!><-">.Formula<-!>

<+@><:I0,0,0,0><:#200,8486>

@Bhead title@<+@><:I0,0,0,0><:#220,8486>ItemName Property<:X8,205;Index "ItemName property" #>

<+@><:I0,0,0,0><:#400,8486>Read-only. The name of the item whose value is shown in the column. For columns whose values are computed from @functions, returns an automatically generated internal name.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesViewColumn

@Chead@<+@><:I0,0,0,0><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>String

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486>To get: <+">name$<+!><-"> = <-!><+">notesViewColumn<+!><-">.ItemName<-!>

<+@><:I0,0,0,0><:#200,8486><+!>

@Bhead title@<+@><:I0,0,0,0><:#220,8486><+!>Position Property<:X8,205;Index "Position property" #>

<+@><:I0,0,0,0><:#200,8486>Read-only. The position of a column in its view. Columns are numbered from left to right, starting with 1.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesViewColumn

@Chead@<+@><:I0,0,0,0><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>Integer

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0><:#200,8486>To get: <+">pos%<+!><-"> = <-!><+">notesViewColumn<+!><-">.Position<-!>

<+@><:I0,0,0,0><:#200,8486>

@Bhead title@<+@><:I0,0,0,0><:#220,8486>Title Property<:X8,205;Index "Title property" # "in NotesViewColumn">

<+@><:I0,0,0,0><:#200,8486>Read-only. The title of a column, if any. Column titles are not necessarily unique within a view.

@Chead@<+@><:I0,0,0,0><:#200,8486>Defined In

<+@><:I0,0,0,0><:#200,8486>NotesViewColumn

@Chead@<+@><:I0,0,0,0><:#200,8486>Data Type

<+@><:I0,0,0,0><:#200,8486>String

@Chead@<+@><:I0,0,0,0><:#200,8486>Syntax

<+@><:I0,0,0,0>To get: <+">title$<+!><-"> = <-!><+">notesViewColumn<+!><-">.Title<-!><:p<* >>

@Ahead@<:#240,8486><:X8,206;Index "ODBC" # "Query class">Query Class<:X8,206;Index "Query class" #><:X8,206;Index "Open Database Connectivity" # "Query class">

<:#200,8486>Represents the ODBC Data Access features for defining a query.

@Chead@<:#200,8486>Properties

<:t24>

@Chead@<:#200,8486>Methods

<:t25>

@Chead@<:#200,8486>Access

<:#200,8486>To create a new Query object, use the New method.

<:#200,8486><+!>Dim<-!> <+">variableName<-"> <+!>As New Query<-!>

<:#200,8486><+!>Set<-!> <+">query <-">= <+!>New Query<-!>

@Bhead title@<:#220,8486>Connection Property<:X8,206;Index "Connection property" #>

<:#200,8486>Relates a connection object with a query.

@Chead@<:#200,8486>Defined In

<:#200,8486>Query

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET<-!> <+">QueryObj<+!>.<-">Connection = <-!><+">ConnectionObj<-">

@Chead@<:#200,8486>Usage

<:#400,8486>You must use the connection property to link a connection object with a query. A query must be connected to a valid connection before it can be used or validated.

@Chead@<:#200,8486>Errors

<:#200,8486>Invalid Object

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>Query (??)

@Bhead title@<:#220,8486>QueryExecuteTimeOut Property<:X8,206;Index "QueryExecuteTimeOut property" #>

<:#200,8486>Specifies a time out value in seconds for query execution.

@Chead@<:#200,8486>Defined In

<:#200,8486>Query

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer <-">= <+">QueryObj<+!>.<-">QueryExecuteTimeOut<-!><-"><-">

<:#200,8486><+">QueryObj<+!>.<-">QueryExecuteTimeOut<-!><+!> = <-!><+">integer<-">

@Chead@<:#200,8486><+!>Usage<-!>

<:#200,8486>Use for optimization of result set retrieval, or to ensure timely results in a browsing application.

@Chead@<:#200,8486>Errors

<:#200,8486>

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>IsResultSetAvailable

@Bhead title@<:#220,8486>SQL Property<:X8,207;Index "SQL property" #>

<:#200,8486>Sets or retrieves an SQL statement.

@Chead@<:#200,8486>Defined In

<:#200,8486>Query

@Chead@<:#200,8486>Syntax

<:#200,8486><+">QueryObj<+!>.<-!><-"><+!> SQL<-!>=<+!> <-!><+">SQLStatement<-">

<:#200,8486><+">SQLStatement <-">=<+!> <-!><+">QueryObj<+!>.<-!><-"><+!> SQL<-!>

@Chead@<:#200,8486>Return Values

<:#200,8486><+">SQLStatement<-">

@Chead@<:#200,8486>Usage

<:#600,8486>When an SQL statement is stored, it is automatically checked for syntactical correctness. There is no practical limit to the (??size, length, type of?) SQL statement written, nor is the SQL statement limited to a query (select statement). The SQL statement 
is not executed until an Execute is performed.

<:#400,8486>SQL statement execution depends on a user's access rights. A user may not be authorized to alter certain fields or tables, perform certain operations, or access certain tables or columns.

@Chead@<:#200,8486>Errors

<:#200,8486>SQL statement invalid

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>SetParameter

@1st lev para@<:#200,8486>Execute

@1st lev para@<:#200,8486>ListFields

@1st lev para@<:#200,8486>ListTables

@Bhead title@<:#220,8486>GetError Method<:X8,207;Index "GetError method" # "in Query">

<:#200,8486>Returns an error code value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer <-">= <+">ConnectionObj<-"><+"><+!>.<-!><-"><+!> GetError<-!>

<:#200,8486><+">integer <-">= <+">QueryObj<-"><+"><+!>.<-!><-"><+!> GetError<-!>

<:#200,8486><+">integer <-">= <+">ResultSetObj<-"><+"><+!>.<-!><-"><+!> GetError<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Integer<-">. ??Does this map to the error status code table?

@Chead@<:#200,8486>Usage

<:#600,8486>Errors are produced by any of the methods or properties in any of the three objects. Error code values are grouped into three general categories: bad parameter errors, database errors, and errors indicating that the method or property is not supported by th
is database.

@Chead@<:#200,8486>Example

<:#200,8486>The following shows how to use GetError to locate and trap errors:

@Mono@<:#200,8486>(??NEED TO GET A NEW EXAMPLE showing new model)

@Mono@<:#2200,8486>SUB Initialize<**>	DIM dat AS NEW DataAccess<**>	DIM datasource AS String<**><**>	datasource = "Zzzzzz"			'assume this doesn't exist<**>	dat.ConnectTo(datasource)<**><**>IF dat.GetError <<<;> DBstsSUCCESS then<**>'...do error handling here<**><**>END SUB

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>GetErrorMessage

@1st lev para@<:#200,8486>GetExtendedErrorMessage

@Bhead title@<:#220,8486>GetErrorMessage Method<:X8,208;Index "GetErrorMessage method" # "in Query">

<:#200,8486>Returns the short error message text associated with any error value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">error message text<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> GetErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">QueryObj<+!>.<-!><-"><+!> GetErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">ResultSetObj<+!>.<-!><-"><+!> GetErrorMessage<-!><+!>( 
<-!><+">errorvalue <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">errorvalue or <-"><+">error code keyword<-">

@1st lev para@<:#400,8486>Optional. The error code value returned by GetError, or by DB_LASTERROR to refer to the last error code. Error code keywords are the last four letters in the error code, as follows:

@1st lev para@<:#200,8486>DBstsSUCCESS	Not an error, SUCCESS (cannot be trapped by ON ERROR)

@1st lev para@<:#400,8486>DBstsFAIL		Failure not explained

@1st lev para@<:#400,8486>DBstsMEMF		Memory allocation failure

@1st lev para@<:#400,8486>DBstsNCON		Not connected

@1st lev para@<:#400,8486>DBstsCCON		Unable to connect

@1st lev para@<:#400,8486>DBstsNOEX		Could not execute

@1st lev para@<:#400,8486>DBstsINVR		Invalid row

@1st lev para@<:#400,8486>DBstsCARR		Cannot access requested row

@1st lev para@<:#400,8486>DBstsNODA		No data

@1st lev para@<:#400,8486>DBstsEOFD		End of data

@1st lev para@<:#400,8486>DBstsINVC		Fieldid out of range

@1st lev para@<:#400,8486>DBstsNCOL		No columns available

@1st lev para@<:#400,8486>DBstsUNIM		Unimplemented

@1st lev para@<:#400,8486>DBstsBADP		Bad parameter

@1st lev para@<:#400,8486>DBstsODBC		ODBC missing

@1st lev para@<:#400,8486>DBstsLIBM		Lib missing

@1st lev para@<:#400,8486>DBstsBADS		Bad saved query

@1st lev para@<:#400,8486>DBstsSNFD		String not found

@1st lev para@<:#400,8486>DBstsINTR		Buffer too small

@1st lev para@<:#400,8486>DBstsACCS		Access error

@1st lev para@<:#400,8486>DBstsTYPE		Bad data source type

@1st lev para@<:#400,8486>DBstsENTR		Entry missing

@1st lev para@<:#400,8486>DBstsDSTY		Load data source type error

@1st lev para@<:#400,8486>DBstsDRVN		Load driver name error

@1st lev para@<:#400,8486>DBstsFITY		Load file type error

@1st lev para@<:#400,8486>DBstsFILT		Load filter error

@1st lev para@<:#400,8486>DBstsINST		Load install type error

@1st lev para@<:#400,8486>DBstsNODR		No driver entry

@1st lev para@<:#400,8486>DBstsNAUT		Cannot autoregister type

@1st lev para@<:#400,8486>DBstsNOSV		No server entry

@1st lev para@<:#400,8486>DBstsNAPE		Notes API error

@1st lev para@<:#400,8486>DBstsSVRQ		Server required

@1st lev para@<:#400,8486>DBstsTMPL		Template error

@1st lev para@<:#400,8486>DBstsBROW		Browse error

@1st lev para@<:#400,8486>DBstsCANF		Cannot find data source

@1st lev para@<:#400,8486>DBstsCNVR		No conversion routine

@1st lev para@<:#400,8486>DBstsCNVD		Converson error in data

@1st lev para@<:#400,8486>DBstsODBC		ODBC error

@1st lev para@<:#400,8486>DBstsHSTMT		ODBC could not return an hStmt

@1st lev para@<:#400,8486>DBstsSQLP		SQL prepare failed

@1st lev para@<:#400,8486>DBstsINTE		String length exceeded

@1st lev para@<:#400,8486>DBstsUPDB		Bind failed - probably a conversion error

@1st lev para@<:#400,8486>DBstsNUNQ		More than one row

@1st lev para@<:#400,8486>DBstsRDON		Read only data

@1st lev para@<:#400,8486>DBstsRCHG		Row has changed - cannot be updated

@1st lev para@<:#400,8486>DBstsRUNC		Row unchanged

@1st lev para@<:#400,8486>DBstsCXIN		Could not execute an insert or update

@1st lev para@<:#400,8486>DBstsAHVR		Already have a valid addrow - must update first

@1st lev para@<:#400,8486>DBstsCPAR		Cannot position at addrow

@Chead@<:#200,8486>Return Values

<:#200,8486><+">String. <-">

@Chead@<:#200,8486>Usage

<:#600,8486>Errors may be tested either immediately after a method or property is used, or by creating an error handler using ON ERROR, which has the advantage of allowing a central consistent manner of error handling, regardless of where the error occurs.

@Chead@<:#200,8486>Example

<:#200,8486>The following example shows how to use ON ERROR to trap errors:

@Mono@<:#200,8486>(??NEED TO GET A NEW EXAMPLE showing new model)

@Mono@<:#5000,8486>SUB Initialize<**>	DIM dat AS NEW DataAccess<**>	DIM datasource AS String<**>	<**>	ON ERROR DBstsCCON Goto BadConnection<**>		<**>	datasource = "Zzzzzz"		'assume this doesn't exist<**>	dat.ConnectTo(datasource)<**><**>	IF dat.ConnectTo(datasource) THEN<**>	
	dat.SQL = "select * from students"<**>		dat.Execute<**>		Columns = dat.NumColumns<**><**>	ELSE<**>		PRINT "Could NOT connect to", datasource<**><**>	END IF<**><**>BadConnection:<**>	PRINT "Could NOT connect or lost connection to ", datasource<**><**>	dat.D
isconnect<**><**>END SUB

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>Get Error

@1st lev para@<:#200,8486>GetExtendedErrorMessage

@Bhead title@<:#220,8486>GetExtendedErrorMessage Method<:X8,211;Index "GetExtendedErrorMessage method" # "in Query">

<:#200,8486>Returns the long, descriptive error message text associated with any error code value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">error message text<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">QueryObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">ResultSetObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">errorvalue<-"> or <+">error code keyword<-">

@1st lev para@<:#400,8486>Optional.<+"> <-">The error code value returned by GetError, or by DB_LASTERROR to refer to the last error code.

@Chead@<:#200,8486>Return Values

@1st lev para@<:#200,8486><+">String. <-">The error message text associated with the error value.

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>GetError

@1st lev para@GetErrorMessage<:p<* >>

@Ahead@<:#240,8486>ResultSet Class<:X8,213;Index "ResultSet class" #><:X8,213;Index "Open Database Connectivity" # "ResultSet class"><:X8,213;Index "ODBC" # "ResultSet class">

<:#200,8486>Represents the ODBC Data Access features for performing operations on a result set.

@Chead@Properties<:t38>

@Chead@<:#200,8486>Methods

<:t39>

@Chead@<:#200,8486>Access

<:#200,8486>To create a new ResultSet object, use the New method.

<:#200,8486><+!>Dim<-!> <+">variableName<-"> <+!>As New ResultSet<-!>

<:#200,8486><+!>Set<-!> <+">resultSet <-">= <+!>New ResultSet<-!>

@Bhead title@<:#220,8486>CacheLimit Property<:X8,213;Index "CacheLimit property" #>

<:#200,8486>Specifies the number of rows to retrieve in a result set.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer<-"> = <+">ResultSetObj.<-"><+!>CacheLimit<-!>

<:#200,8486><+">ResultSetObj<-"><+!>.CacheLimit <-!>= <+">integer<-">

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Integer<-">

@1st lev para@<:#200,8486>Returns the number of rows to retrieve in a result set. Disable by setting cache limit to 0.

@Chead@<:#200,8486>Usage

<:#800,8486>Use when you do not want to retrieve the entire result set. When you set a cache limit, only the number of rows specified is available, regardless of the actual number of rows that may have been available in the result set. For example if you've set the cac
he limit to 100, only the first 100 rows of a result set is available.

@Chead@<:#200,8486>Errors

<:#200,8486>??

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>CurrentRow

@1st lev para@<:#200,8486>LastRow

@1st lev para@<:#200,8486>NextRow

@1st lev para@<:#200,8486>QueryExecuteTimeOut

@1st lev para@<:#200,8486>Options

@Bhead title@<:#220,8486>CurrentRow Property<:X8,214;Index "CurrentRow property" #>

<:#200,8486>Reads or sets the current row.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer<-"> = <+">ResultSetObj<-"><+!>.<-!><+!>CurrentRow<-!>

<:#200,8486><+">ResultSetObj<-"><+!>.CurrentRow <-!>= <+">integer<-">

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Integer<-">

@1st lev para@<:#200,8486>Returns the location of the current row.

@Chead@<:#200,8486>Usage

<:#600,8486>Setting the current row value is equivalent to positioning the cursor to that row and may require retrieving records. Unless caching is enabled through Options, or unless the driver supports cursor positioning, it may not be possible to set the row at a loc
ation before the current row.

@Chead@<:#200,8486>Errors

<:#200,8486>No valid Result Set or table, Invalid Row referenced

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>NumRows

@1st lev para@<:#200,8486>FirstRow

@1st lev para@<:#200,8486>LastRow

@1st lev para@<:#200,8486>NextRow

@1st lev para@<:#200,8486>PrevRow

@1st lev para@<:#200,8486>LocateRow

@1st lev para@<:#200,8486>Options

@1st lev para@<:#200,8486>GetError

@Bhead title@<:#220,8486>FetchBatchSize Property<:X8,215;Index "FetchBatchSize property" #>

<:#200,8486>Specifies the number of records that will be fetched at any one time.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer<-"> = <+">ResultSetObj<-"><+"><+!>.<-!><-"><+!>FetchBatchSize<-!>

<:#200,8486><+">ResultSetObj<+!>.<-!><-"><+!>FetchBatchSize<-!> = <+">integer<-"><-"><-">

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Integer<-">. The number of records retrieved at a time. The default return value is zero (unlimited).

@Chead@<:#200,8486>Usage

<:#400,8486>You can use FetchBatchSize as a performance tuning parameter. Fetching multiple records is faster than individual single records.

@Chead@<:#200,8486>Errors

<:#200,8486>None

@Chead@<:#200,8486>See also

<:#200,8486>NextRow

@Bhead title@<:#220,8486>HasRowChanged Property<:X8,215;Index "HasRowChanged property" #>

<:#200,8486>Read-only. Indicates if values in the current row have changed.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<-"><+!>.HasRowChanged<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Boolean<-">

@Chead@<:t29>Errors

<:#200,8486>Not connected, No valid result set or data

@Bhead title@<:#220,8486>IsBeginOfData Property<:X8,216;Index "IsBeginOfData property" #>

<:#200,8486>Read-only. Indicates whether the cursor position is at the beginning of the result set.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

@1st lev para@<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-!><-"><+!>IsBeginOfData<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

<:t41>

@Bhead title@<:#220,8486>IsEndOfData Property<:X8,216;Index "IsEndOfData property" #>

<:#200,8486>Read-only. Indicates whether the cursor position is at the end of the result set.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

@1st lev para@<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-!><-"><+!>IsEndOfData<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<+">boolean<-"><:t28>

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, No table or result set

@Chead@<:#200,8486>See also

<:#200,8486>IsResultSetAvailable

@Bhead title@<:#220,8486>IsAutoCommit Property<:X8,216;Index "IsAutoCommit property" #>

<:#200,8486>Reflects the auto-commit behavior of the object.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-!><-"><+!>IsAutoCommit<-!>

<:#200,8486><+">ResultSetObj<+!>.<-!><-"><+!>IsAutoCommit<-!> = <+">status<-">

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Boolean<-">

@1st lev para@<:t35>

@Chead@<:#200,8486>Usage

<:#400,8486>When the back-end database is auto-commit, all changes are automatically and permanently changed. If the database is not auto-commit, the changes may be rolled back or committed at close.

<:#600,8486>If a database supports manual commit or rollback (transaction mode), you can set IsAutoCommit either way. If set True, the ResultSet object will commit each change. If the database is auto-commit, you cannot change it to manual. If you attempt to set IsAuto
Commit to False, it will stay True.

<:#200,8486>Options( DB_AUTOCOMMIT ) is identical to setting this property to true.

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>Options( AutoCommit )

@Bhead title@<:#220,8486>IsReadOnly  Property<:X8,217;Index "IsReadOnly  property" #>

<:#200,8486>Read-only. Tests and returns access status.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>IsReadOnly<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Boolean<-">

@1st lev para@<:t36>

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>IsResultSetAvailable

@1st lev para@<:#200,8486>IsSupported

@Bhead title@<:#220,8486>IsResultSetAvailable Property<:X8,217;Index "IsResultSetAvailable property" #>

<:#200,8486>Read-only. After a query, indicates if a result set exists in cache.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetOb<-"><+">j<-"><+"><+!>.<-!><-"><+!>IsResultSetAvailable<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Boolean<-">

@Bhead title@<:t37>

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>Execute

@Bhead title@<:#220,8486>Query Property<:X8,218;Index "Query property" # "in ResultSet">

<:#200,8486>Use to relate a query object with a result set object.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+!>SET <-!><+">ResultSetObj<+!>.<-">Query <-!>= <+">QueryObj<-"><-"><-"><-">

@Chead@<:#200,8486><+!>Usage<-!>

<:#200,8486>You must associate the result set with a valid query object to execute the query. 

@Chead@<:#200,8486>Errors

@Chead@<:#200,8486>See Also

<:#200,8486>Execute

@Bhead title@<:#220,8486>AddRow Method<:X8,218;Index "AddRow  method" #>

<:#200,8486>Adds data (row or result set)  to a table. 

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<-"><+!>.<-!><+!>AddRow<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@Chead@<:#200,8486>Usage

<:#800,8486>The row added contains no valid data for any column, but must be populated with data using SetValue. The row will not be updated until UpdateRow is executed. If the data source supports transaction model commit/rollback, changes must be followed by a Commit
 or Rollback. (??Question from QE: Does IsReadOnly apply here, or just at UpdateRow?)

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, No result set, No table created

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>SetValue

@1st lev para@<:#200,8486>Options( DB_AutoCommit )

@1st lev para@<:#200,8486>IsAutoCommit

@1st lev para@<:#200,8486>Transactions

@1st lev para@<:#200,8486>UpdateRow

@Bhead title@<:#220,8486>Close Method<:X8,219;Index "Close method" # "in ResultSet">

<:#200,8486>Close a result set and commit or rollback changes. (??Is the result set no longer available?)

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<-"><+!>.<-!><+!>Close<-!><+!>( <-!><+">CloseOption 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">CloseOption<-">

@1st lev para@<:#200,8486>DB_CLOSE. Closes without commit (no changes or updates). (??Same as rollback?)

@1st lev para@<:#200,8486>DB_COMMIT. Changes are committed.

@1st lev para@<:#200,8486>DB_ROLLBACK. Changes are rolled back.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@Chead@<:#200,8486>Usage

<:#600,8486>Some data sources are auto-commit, which means that any change will automatically be made to the database. These databases cannot be rolled back. to determine if a database is in auto-commit mode, use IsAutoCommit.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, No result set, No table created

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>IsAutoCommit

@1st lev para@<:#200,8486>Transactions

@Bhead title@<:#220,8486>DeleteRow Method<:X8,219;Index "DeleteRow method" #>

<:#200,8486>Deletes the record represented by the current row in the specified table from the database.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-!><-"><+!>DeleteRow<-!><+!>( 
<-!><+">TableName<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">TableName<-">

<:#200,8486><+">	String. <-">The name of the table from which you want to delete the record.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@Chead@<:#200,8486>Usage

<:#400,8486>If the database supports transaction processing, the deleted row must be committed or rolled back using either Close or Transactions. Delete may not be possible if the result or database is read-only.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, No current row

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>Close

@1st lev para@<:#200,8486>Transactions

@1st lev para@<:#200,8486>IsAutoCommit

@1st lev para@<:#200,8486>IsReadOnly

@1st lev para@<:#200,8486>IsSupported( DB_READONLY )

@1st lev para@<:#200,8486>Options( AutoCommit )

@Bhead title@<:#220,8486>Execute Method<:X8,220;Index "Execute method" #>

<:#200,8486>Executes an SQL statement.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> =<+"> ResultSetObj<+!>.<-"><-!><+!>Execute<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@Chead@<:#200,8486>Usage

<:#600,8486>This method us used to execute a query, refresh a result set in a query, or any other valid SQL statement. NumColumns changes to reflect the actual columns in the result set. Rows is set to DB_ROWSUNKNOWN. NextRow accurately sets whether a result set contai
ns any valid rows.

<:#800,8486>You can execute the SQL statement in either synchronous or asynchronous modes. In synchronous mode, Execute waits until execution is complete before returning. In asynchronous mode, Execute returns as soon as possible while execution continues. This is most
 practical when accessing data residing in back-end systems.

@Chead@<:#200,8486>Errors

<:#200,8486>NotConnected, ODBC Error

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>SQL

@1st lev para@<:#200,8486>NumColumns

@1st lev para@<:#200,8486>NumRows

@1st lev para@<:#200,8486>NextRow

@1st lev para@<:#200,8486>FetchBatchSize

@1st lev para@<:#200,8486>Options( Asynchronous )

@Bhead title@<:#220,8486>FieldExpectedDataType Method<:X8,221;Index "FieldExpectedDataType method" #>

<:#200,8486>Given a column number, sets the expected data type for that column.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">dataType<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>FieldExpectedDataType<-!><+!>(<+"> 
<-!>column_id<-"><+!>,<-!> <+">dataType<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_id<-">

@1st lev para@<:#200,8486><+">Integer<-">. Indicates the column for which the data type will be converted to the new data type.

<:#200,8486><+">dataType<-">

@1st lev para@<:#200,8486><+">dataType.<-"> Indicates the data type to convert to.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">dataType<-">.

@1st lev para@<:#400,8486>DB_UNDEFINED, DB_CHAR, DB_SHORT, DB_LONG, DB_DOUBLE, DB_DATE, DB_TIME, DB_BINARY, DB_BOOL, DB_DATETIME

@Chead@<:#200,8486>Usage

<:#400,8486>Allows conversion from the actual data type for a column value in a result set to the data type expected by the application.

<:#600,8486>No specific data conversion routines are assigned when a field value is retrieved from the database. All field values are returned as they appear in the database. A real value will return as a real value, integers as integers, and strings as strings.

<:#600,8486>An application may have special field value requirements, for example, it may need field values returned as strings. Some data type conversions are not possible, for example, as returning names as real numbers.

<:#600,8486>To determine the database data type, use FieldNativeDataType to return the data type as stored in the database for this column. Use FieldSize to return the field size at the database. Use FieldInfo, which contains all known field information,  to return the
 field information as a Field object.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, Invalid column id

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>FieldNativeDataType

@1st lev para@<:#200,8486>FieldSize

@Bhead title@<:#220,8486>FieldID

<:#200,8486>Returns the field ID of a field as an integer value.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>FieldID<-!><+!>( 
<-!><+">column_Name<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_Name<-">

@1st lev para@<:#200,8486><+">String<-">. The name of the field in the result set.

@Chead@<:#200,8486>Return Values

@1st lev para@<:#200,8486><+">Integer<-">. 

@Chead@<:#200,8486>Usage

<:#400,8486>The field ID in the result set corresponds to the relative column number, that is, the first column has a field ID of 1, the second column's field ID is 2, etc.

<:#600,8486>The field ID is required only when you know the field's name, but not the column ID. If the result set is ever changed, a field's relative position, and consequently its ID, would change also. FieldID offers a way of always determining the field ID dynamica
lly.

@Chead@<:#200,8486>Examples

@Mono@<:#400,8486>ssn_id% = obj.FieldID( "SSN" )<**>text = GetValue( ssn_id% )

<:#200,8486>or

@Mono@<:#200,8486>text = GetValue( obj.FieldID( "SSN" ) )

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, No valid table or result

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>GetValue

@1st lev para@<:#200,8486>FieldName

@1st lev para@<:#200,8486>NumColumns

@Bhead title@<:#220,8486>FieldInfo Method<:X8,222;Index "FieldInfo method" #>

<:#200,8486>Returns

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status <-">= <+">ResultSetObj<+!>.<-"><-!><+!>FieldInfo<-!><+!>( 
<-!><+">column_id <-">or<+"> column_Name <-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_id

@1st lev para@<:#200,8486><+">Integer.

<:#200,8486><+">column_Name<-">

@1st lev para@<+">String<-">. 

@Chead@<:#200,8486>Return Values

@1st lev para@<:#400,8486><+">Boolean<-">. Returns the field information as a Field object, which contains all of the known field information.

@Chead@<:#200,8486>Usage

<:#200,8486>Use to determine specifically which fields have changed and what their new values are.

@Chead@<:#200,8486>Examples

<:#200,8486>

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, Invalid column id

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>??

@Bhead title@<:#220,8486>FieldName Method<:X8,223;Index "FieldName method" #>

<:#200,8486>Returns the field name for a specified column.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">fieldName<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>FieldName<-!><+!>( 
<-!><+">column_id <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_id<-">

@1st lev para@<:#200,8486><+">Integer<-">. The column ID of the field in the result set.

@Chead@<:#200,8486>Return Values

@1st lev para@<:#200,8486><+">String<-">. 

@Chead@<:#200,8486>Usage

<:#200,8486>

@Chead@<:#200,8486>Examples

@Mono@<:#200,8486>

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, Invalid column id

@Chead@<:#200,8486>See also

<:#200,8486>FieldID

@Bhead title@<:#220,8486>FieldNativeDataType Method<:X8,223;Index "FieldNativeDataType method" #>

<:#200,8486>Given a specific column, returns the native data type for that column.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">formatValue<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>FieldNativeDataType<-!><+!>( 
<-!><+">column_id <-">or <+">column_Name<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_id<-">

@1st lev para@<:#200,8486><+">Integer<-">.

<:#200,8486><+">column_Name.<-">

@1st lev para@<:#200,8486><+">String.<-">

@Chead@<:#200,8486>Return Values

@1st lev para@<:#200,8486><+">formatValue.<-"> 

@Chead@<:t34>Usage

<:#400,8486>The native data type is the that of the field as stored in the database. The data type of the returned data value will always be the value set by the expected data type. Use FieldInfo to retrieve this value.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, Invalid column id or name

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>FieldExpectedDataType

@1st lev para@<:#200,8486>FieldInfo

@Bhead title@<:#220,8486>FieldSize Method<:X8,224;Index "FieldSize method" #>

<:#200,8486>Returns the maximum size of data for a field.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">size<-"> = <+">ResultSetObj<+!>.<-"><-!><+!> FieldSize<-!><+!>(<-!> 
<+">column_id<-">  or <+">column_Name <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_id<-">

@1st lev para@<:#200,8486><+">Integer.<-">

<:#200,8486><+">column_Name.<-">

@1st lev para@<:#200,8486><+">String.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Integer.<-">

@Chead@<:#200,8486>Usage

<:#200,8486>??

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected

<:#200,8486>Invalid column id or name

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>

@Bhead title@<:#220,8486>FirstRow  Method<:X8,225;Index "FirstRow  method" #>

<:#200,8486>Sets the current row to the first row in a result set. Equivalent to setting CurrentRow to 1.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-"><-!><+!> FirstRow<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486>None

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Boolean<-">

@1st lev para@<:#200,8486>Returns True if successful; otherwise, returns False, indicating an error.

@Chead@<:#200,8486>Usage

<:#400,8486>You may not be able to set the row before the current row, unless you have enabled caching, or the driver supports cursor positioning.

<:#200,8486>If FirstRow fails, use GetError to examine the meaning.

@Chead@<:#200,8486>Errors

<:#200,8486>No valid query executed, Invalid row number, Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>NumRows

@1st lev para@<:#200,8486>CurrentRow

@1st lev para@<:#200,8486>LastRow

@1st lev para@<:#200,8486>NextRow

@1st lev para@<:#200,8486>PrevRow

@1st lev para@<:#200,8486>LocateRow

@1st lev para@<:#200,8486>Options

@1st lev para@<:#200,8486>GetError

@Bhead title@<:#220,8486>GetValue Method<:X8,225;Index "GetValue method" #>

<:#200,8486>Retrieves the value of the column referenced by <+">column_id<-">, and copies the results to the 
<+">Variable<-"> field.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">Value<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>GetValue<-!><+!>(<-!> 
<+">column_id or column_Name, <-"><+">Variable <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_id<-">

@1st lev para@<:#200,8486><+">Integer<-">.

<:#200,8486><+">column_Name.<-">

@1st lev para@<:#200,8486><+">String<-">.

<:#200,8486><+">Variable<-">

@1st lev para@<:#200,8486>??Data type set by FieldExpectedDataType?

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Value.<-">

@Chead@<:#200,8486>Usage

<:#600,8486>The data type of the returned data is determined by the value set for this column by the FieldExpectedDataType property. For example, you can set the expected value to return a real value for an integer numeric field.

@Chead@<:#200,8486>Errors

<:#200,8486>No table or result, Column reference is invalid

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>FieldID

@1st lev para@<:#200,8486>FieldExpectedDataType

@1st lev para@<:#200,8486>FieldNativeDatatype

@1st lev para@<:#200,8486>FieldName

@Bhead title@<:#220,8486>GetError Method<:X8,226;Index "GetError method" #>

<:#200,8486>Returns an error code value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer value <-"> = <+">ConnectionObj<-"><+"><+!>.<-!><-"><+!>GetError<-!>

<:#200,8486><+">integer value <-"> = <+">QueryObj<-"><+"><+!>.<-!><-"><+!>GetError<-!>

<:#200,8486><+">integer value <-"> = <+">ResultSetObj<-"><+"><+!>.<-!><-"><+!>GetError<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486>Integer. ??Does this map to the error status code table?

@Chead@<:#200,8486>Usage

<:#600,8486>Errors are produced by any of the methods or properties in any of the three objects. Error code values are grouped into three general categories: bad parameter errors, database errors, and errors indicating that the method or property is not supported by th
is database.

@Chead@<:#200,8486>Example

<:#200,8486>The following shows how to use GetError to locate and trap errors:

@Mono@<:#200,8486>(??NEED TO GET A NEW EXAMPLE showing new model)

@Mono@<:#2200,8486>SUB Initialize<**>	DIM dat AS NEW DataAccess<**>	DIM datasource AS String<**><**>	datasource = "Zzzzzz"			'assume this doesn't exist<**>	dat.ConnectTo(datasource)<**><**>IF dat.GetError <<<;> DBstsSUCCESS then<**>'...do error handling here<**><**>END SUB

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>GetErrorMessage

@1st lev para@<:#200,8486>GetExtendedErrorMessage

@Bhead title@<:#220,8486>GetErrorMessage Method<:X8,227;Index "GetErrorMessage method" #>

<:#200,8486>Returns the short error message text associated with any error value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">error message text<-"> = <+"><+!>ConnectionObj.<-!><-"><+!> GetErrorMessage<-!><+!>(<-!> 
<+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+"><+!>QueryObj.<-!><-"><+!> GetErrorMessage<-!><+!>( 
<-!><+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+"><+!>ResultSetObj.<-!><-"><+!> GetErrorMessage<-!><+!>( 
<-!><+">errorvalue <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">errorvalue or <-"><+">error code keyword<-">

@1st lev para@<:#400,8486>Optional. The error code value returned by GetError, or by DB_LASTERROR to refer to the last error code. Error code keywords are the last four letters in the error code, as follows:

@1st lev para@<:#200,8486>DBstsSUCCESS	Not an error, SUCCESS (cannot be trapped by ON ERROR)

@1st lev para@<:#400,8486>DBstsFAIL		Failure not explained

@1st lev para@<:#400,8486>DBstsMEMF		Memory allocation failure

@1st lev para@<:#400,8486>DBstsNCON		Not connected

@1st lev para@<:#400,8486>DBstsCCON		Unable to connect

@1st lev para@<:#400,8486>DBstsNOEX		Could not execute

@1st lev para@<:#400,8486>DBstsINVR		Invalid row

@1st lev para@<:#400,8486>DBstsCARR		Cannot access requested row

@1st lev para@<:#400,8486>DBstsNODA		No data

@1st lev para@<:#400,8486>DBstsEOFD		End of data

@1st lev para@<:#400,8486>DBstsINVC		Fieldid out of range

@1st lev para@<:#400,8486>DBstsNCOL		No columns available

@1st lev para@<:#400,8486>DBstsUNIM		Unimplemented

@1st lev para@<:#400,8486>DBstsBADP		Bad parameter

@1st lev para@<:#400,8486>DBstsODBC		ODBC missing

@1st lev para@<:#400,8486>DBstsLIBM		Lib missing

@1st lev para@<:#400,8486>DBstsBADS		Bad saved query

@1st lev para@<:#400,8486>DBstsSNFD		String not found

@1st lev para@<:#400,8486>DBstsINTR		Buffer too small

@1st lev para@<:#400,8486>DBstsACCS		Access error

@1st lev para@<:#400,8486>DBstsTYPE		Bad data source type

@1st lev para@<:#400,8486>DBstsENTR		Entry missing

@1st lev para@<:#400,8486>DBstsDSTY		Load data source type error

@1st lev para@<:#400,8486>DBstsDRVN		Load driver name error

@1st lev para@<:#400,8486>DBstsFITY		Load file type error

@1st lev para@<:#400,8486>DBstsFILT		Load filter error

@1st lev para@<:#400,8486>DBstsINST		Load install type error

@1st lev para@<:#400,8486>DBstsNODR		No driver entry

@1st lev para@<:#400,8486>DBstsNAUT		Cannot autoregister type

@1st lev para@<:#400,8486>DBstsNOSV		No server entry

@1st lev para@<:#400,8486>DBstsNAPE		Notes API error

@1st lev para@<:#400,8486>DBstsSVRQ		Server required

@1st lev para@<:#400,8486>DBstsTMPL		Template error

@1st lev para@<:#400,8486>DBstsBROW		Browse error

@1st lev para@<:#400,8486>DBstsCANF		Cannot find data source

@1st lev para@<:#400,8486>DBstsCNVR		No conversion routine

@1st lev para@<:#400,8486>DBstsCNVD		Converson error in data

@1st lev para@<:#400,8486>DBstsODBC		ODBC error

@1st lev para@<:#400,8486>DBstsHSTMT		ODBC could not return an hStmt

@1st lev para@<:#400,8486>DBstsSQLP		SQL prepare failed

@1st lev para@<:#400,8486>DBstsINTE		String length exceeded

@1st lev para@<:#400,8486>DBstsUPDB		Bind failed - probably a conversion error

@1st lev para@<:#400,8486>DBstsNUNQ		More than one row

@1st lev para@<:#400,8486>DBstsRDON		Read only data

@1st lev para@<:#400,8486>DBstsRCHG		Row has changed - cannot be updated

@1st lev para@<:#400,8486>DBstsRUNC		Row unchanged

@1st lev para@<:#400,8486>DBstsCXIN		Could not execute an insert or update

@1st lev para@<:#400,8486>DBstsAHVR		Already have a valid addrow - must update first

@1st lev para@<:#400,8486>DBstsCPAR		Cannot position at addrow

@Chead@<:#200,8486>Return Values

<:#200,8486><+">String. <-">

@Chead@<:#200,8486>Usage

<:#600,8486>Errors may be tested either immediately after a method or property is used, or by creating an error handler using ON ERROR, which has the advantage of allowing a central consistent manner of error handling, regardless of where the error occurs.

@Chead@<:#200,8486>Example

<:#200,8486>The following example shows how to use ON ERROR to trap errors:

@Mono@<:#200,8486>(??NEED TO GET A NEW EXAMPLE showing new model)

@Mono@<:#5000,8486>SUB Initialize<**>	DIM dat AS NEW DataAccess<**>	DIM datasource AS String<**>	<**>	ON ERROR DBstsCCON Goto BadConnection<**>		<**>	datasource = "Zzzzzz"		'assume this doesn't exist<**>	dat.ConnectTo(datasource)<**><**>	IF dat.ConnectTo(datasource) THEN<**>	
	dat.SQL = "select * from students"<**>		dat.Execute<**>		Columns = dat.NumColumns<**><**>	ELSE<**>		PRINT "Could NOT connect to", datasource<**><**>	END IF<**><**>BadConnection:<**>	PRINT "Could NOT connect or lost connection to ", datasource<**><**>	dat.D
isconnect<**><**>END SUB

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>Get Error

@1st lev para@<:#200,8486>GetExtendedErrorMessage

@Bhead title@<:#220,8486>GetExtendedErrorMessage Method<:X8,230;Index "GetExtendedErrorMessage method" #>

<:#200,8486>Returns the long, descriptive error message text associated with any error code value.

@Chead@<:#200,8486>Defined In

<:#200,8486>Connection, Query, ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">error message text<-"> = <+">ConnectionObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>( 
<-!><+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">QueryObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>( 
<-!><+">errorvalue <-"><+!>)<-!>

<:#200,8486><+">error message text<-"> = <+">ResultSetObj<+!>.<-!><-"><+!> GetExtendedErrorMessage<-!><+!>( 
<-!><+">errorvalue <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">errorvalue<-"> or <+">error code keyword<-">

@1st lev para@<:#400,8486>Optional.<+"> <-">The error code value returned by GetError, or by DB_LASTERROR to refer to the last error code.

@Chead@<:#200,8486>Return Values

@1st lev para@<:#200,8486><+">String. <-">The error message text associated with the error value.

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>GetError

@1st lev para@<:#200,8486>GetErrorMessage

@Bhead title@<:#220,8486>GetParameter Method

<:#200,8486>Returns the last value set for the specified parameter.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">value<-"> = <+">ResultSetObj<-"><+"><+!>.<-!><-"><+!> GetParameter<-!><+!>( 
<-!><+">parameterName or parameter_index<-"><+"> <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">parameterName<-">

@1st lev para@<:#200,8486><+">String.<-">

<:#200,8486><+">parameter_index

@1st lev para@<:#200,8486><+">Integer.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">value<-">

@Chead@<:#200,8486>Usage

<:#400,8486>Parameters are used in SQL statements. Unlike ODBC and standard SQL, parameters may appear anywhere in the SQL statement. Use SetParameter to set the replacement value for the parameter.

@Chead@<:#200,8486>Examples

@Mono@<:#200,8486>dat.SQL = "SELECT * from STUDENTS WHERE ?field_sel? = ?value?"

@Mono@<:#200,8486>print dat.GetParameter ( parameter_index )

@Chead@<:#200,8486>Errors

<:#200,8486>This parameter not in SQL statement

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>SQL

@1st lev para@<:#200,8486>SetParameter

@1st lev para@<:#200,8486>GetParameterName

@Bhead title@<:#220,8486>GetParameterName Method<:X8,231;Index "GetParameterName method" #>

<:#200,8486>Retrieves a parameter name.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">Name = ResultSetObj<+!>.<-!><-"><+!> GetParameterName<-!><+!>(<-!>  
<+">parameter_index<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">parameter_index

@1st lev para@<:#200,8486><+">Integer.

@Chead@<:#200,8486><+">R<-">eturn Values

<:#200,8486><+">Name<-">

@Chead@<:#200,8486>Usage

<:#600,8486>Parameter names contained in SQL statements are retrieved using <+">parameter_index<-"> as an index. Each name is returned without its surrounding question marks. You can use the parameter names to prompt a user.

@Chead@<:#200,8486>Errors

<:#200,8486>Invalid parameter index

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>GetParameter

@1st lev para@<:#200,8486>SetParameter

@Bhead title@<:#220,8486>LastRow Method<:X8,232;Index "LastRow method" #>

<:#200,8486>Sets the current row position to the last row in the result set.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>LastRow<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:t26>

@Chead@<:#200,8486>Usage

<:#400,8486>To reach the last record, records must be retrieved from the result set, therefore, locating the last row may take some time.

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>NumRows

@1st lev para@<:#200,8486>CurrentRow

@1st lev para@<:#200,8486>FirstRow

@1st lev para@<:#200,8486>NextRow

@1st lev para@<:#200,8486>PrevRow

@1st lev para@<:#200,8486>LocateRow

@1st lev para@<:#200,8486>Options

@1st lev para@<:#200,8486>GetError

@Bhead title@<:#220,8486>LocateRow Method<:X8,232;Index "LocateRow method" #>

<:#200,8486>Indentifies records that match a specified field value.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#400,8486><+">status<-"> = <+">ResultSetObj<-"><+!>.<-!><+!>LocateRow<-!><+!>( 
<-!><+">column_id <-">or <+">column_Name<-"><+!>, <-!><+">value<-"><+!>, 
<-!><[><+"> column_id2 <-">or<+"> column_Name2<-"><+!>, <-!><+">value2<-"><+!>,  
<-!><[><+">column_id3 <-">or <+">column_Name3<-"><+!>, <-!><+">value3 
<-">] ] <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_id

@1st lev para@<:#200,8486><+">Integer. <-">

<:#200,8486><+">column_Name

@1st lev para@<:#200,8486><+">String.

<:#200,8486><+">value<-">

@1st lev para@<:#200,8486>String.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:#200,8486>Returns true if matching records are found; otherwise returns false, indicating an error.

@Chead@<:#200,8486>Usage

<:#600,8486>Specify either the column ID or the column name, and the value you want to match, up to three pair of the two parameters. You can specify a match on up to three columns at once; however, the second and third columns are optional.

<:#600,8486>This method searches through the result set for a value in a column beginning at the current row. The search is case and accent independent. You cannot perform advanced conditional searches with expressions. Use GetError to examine errors.

@Chead@<:#200,8486>Errors

<:#200,8486>No valid query executed, Not connected, Invalid Row number

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>NumRows

@1st lev para@<:#200,8486>CurrentRow

@1st lev para@<:#200,8486>FirstRow

@1st lev para@<:#200,8486>LastRow

@1st lev para@<:#200,8486>NextRow

@1st lev para@<:#200,8486>PrevRow

@1st lev para@<:#200,8486>Options

@1st lev para@<:#200,8486>GetError

@Bhead title@<:#220,8486><:X8,233;Index "NextResultSet method" #>NextResultSet Method

<:#400,8486>If multiple result sets are retrieved, releases the current result set and makes the next result set available.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-">NextResultSet<-!>

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:#400,8486>Returns true if the next result set is now available, otherwise, returns false, as when there are no more result sets.

@Chead@<:#200,8486>Usage

<:#200,8486>Use NumResults to determine if additional result sets are available.

@Chead@<:#200,8486>Errors

<:#200,8486>No valid table or result set

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>NumResultSets

@Bhead title@<:#220,8486>NextRow Method<:X8,234;Index "NextRow method" #>

<:#200,8486>Sets the current row position to the next row in a result set.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>NextRow<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:#400,8486>Returns true if the next row in the result set is successfully retrieved; otherwise returns false, indicating an error.

@Chead@<:#200,8486>Usage

<:#400,8486>Use to read through a result set.An error is generated if there is no result set, or the last record in a result set is reached. Use GetError to examine errors.

@Chead@<:#200,8486>Example

@Mono@<:#600,8486>WHILE customers. NextRow<**>	FORALL columns% in customers<**>			customers. GetValue (columns%, ...)	'data must go somewhere

@Mono@<:#400,8486><**>												'yet to be defined by other

@Mono@<:#600,8486>												'objects<**>	END FORALL<**>WEND

@Chead@<:#200,8486>Errors

<:#200,8486>No valid query executed, Invalid Row number, Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>NumRows

@1st lev para@<:#200,8486>CurrentRow

@1st lev para@<:#200,8486>FirstRow

@1st lev para@<:#200,8486>LastRow

@1st lev para@<:#200,8486>NextRow

@1st lev para@<:#200,8486>PrevRow

@1st lev para@<:#200,8486>LocateRow

@1st lev para@<:#200,8486>Options

@1st lev para@<:#200,8486>GetError

@1st lev para@<:#200,8486>IsEndOfData

@Bhead title@<:#220,8486>NumColumns Method<:X8,235;Index "NumColumns method" #>

<:#200,8486>Returns the number of columns in a result set or in a created or selected table.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>NumColumns<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">integer<-">

@1st lev para@<:#200,8486>Returns the number of columns, or zero if there is no valid table or result set.

@Chead@<:#200,8486>Errors

<:#200,8486>None

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>IsResultSetAvailable

@1st lev para@<:#200,8486>FieldID

@Bhead title@<:#220,8486>NumParameters Method<:X8,235;Index "NumParameters method" #>

<:#200,8486>Returns the number of parameters in a SQL statement.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer<-"> = <+">ResultSetObj<+!>.<-!><-"><+!>NumParameters<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">integer<-">

@1st lev para@<:#200,8486>Returns the number of columns, or zero if there are no parameters in the last SQL statement.

@Chead@<:#200,8486>Errors

<:#200,8486>None

@Chead@<:#200,8486>See also

<:#200,8486>IsResultSetAvailable

@Bhead title@<:#220,8486><:X8,236;Index "NumResultSets method" #>NumResultSets Method

<:#200,8486>Returns the number of result sets if multiple result sets are retrieved.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer<-"> = <+">ResultSetObj<+!>.<-">NumResultSets<-!>

@Chead@<:#200,8486>Return Values

<:#200,8486><+">integer<-">

@1st lev para@<:#200,8486>Returns the number of result sets, even if they contain zero rows.

@Chead@<:#200,8486>Errors

<:#200,8486>No valid table or result set

@Chead@<:#200,8486>See Also

@1st lev para@<:#200,8486>NextResultSet

@Bhead title@<:#220,8486>NumRows Method<:X8,236;Index "NumRows method" #>

<:#200,8486>Returns the number of rows in a result set.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">integer<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>NumRows<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">Integer<-">

@1st lev para@Returns one of these values:<:Zx><:Z~x><:t27>

@Chead@<:#200,8486>Usage

<:#1000,8486>You cannot determine the number of rows immediately after a query or while fetching records, only when the entire result set has been fetched. However, you can determine immediately whether the result contains any result rows at all, meaning a valid query c
an return zero rows. The actual row count may also have been artificially limited, causing the value of DB_ROWSLIMITED to be returned. (??you mean by setting the CacheLimit property?)

@Chead@<:#200,8486>Errors

<:#200,8486>No valid query executed, Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>(??CacheLimit?)

@1st lev para@<:#200,8486>CurrentRow

@1st lev para@<:#200,8486>FirstRow

@1st lev para@<:#200,8486>LastRow

@1st lev para@<:#200,8486>NextRow

@1st lev para@<:#200,8486>PrevRow

@1st lev para@<:#200,8486>LocateRow

@Bhead title@<:#220,8486>Options Method<:X8,237;Index "Options method" #>

<:#200,8486>Selects or modifies the behavior of the object. (??check the format of this method)

@Note@<:#200,8486>Options marked with an asterisk are the object's default behavior.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>Options<-!><+!>( 
<-!><+">option<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">options<-">

@1st lev para@<:#200,8486>DB_ASYNCHRONOUS

@1st lev para@<:#600,8486>Places the object in asynchronous mode. When ODBC performs a query or update, the operation is performed asynchronously at the back-end. This releases the object to perform other functions and speeds performance. Not all databases or drivers support this ca
pability.

@1st lev para@<:#400,8486>In NT, Windows95, OS/2 and some Unix platforms, a query may be executed as a separate thread when in asynchronous mode.

@1st lev para@<:#200,8486>*DB_SYNCHRONOUS

@1st lev para@<:#200,8486>Restores the object's mode to synchronous.

@1st lev para@<:#200,8486>DB_CACHEENTIRE

@1st lev para@<:#400,8486>Caches the entire result set in memory. A record is cached when it is first retrieved from the database. 

@1st lev para@<:#600,8486>This option allows bi-directional scrolling through the result set even for drivers that do not support this capability. Performance is enhanced when records are cached because it is faster to retrieve records from memory than from the database. Also, cache
d records may be retrieved in any order.

@1st lev para@<:#800,8486>Cacheing records may require substantial memory allocation, especially when a cached record is very large. If there are too many cached records in memory, the least referenced records are stored in a temporary swap file, adding to the overhead of cacheing. 
In many cases, retrieving records from memory may still be faster than retrieving them from a database.

@1st lev para@<:#200,8486>DB_CACHELIMIT

@1st lev para@<:#600,8486>Caches a limited number of records. Only the number of records specified by the limit are available from the cache. The rest, if available, can be accessed from the database. Full bi-directional retrieval is supported if the dabase supports a bi-directional
 cursor.

@1st lev para@<:#200,8486>*DB_CACHENONE

@1st lev para@<:#400,8486>No records are cached. Use when a result set will only be forward-processed, a record at a time, as when a record is copied to a display object or searched.

@1st lev para@<:#200,8486>DB_AUTOCOMMIT

@1st lev para@<:#200,8486>Sets the database update and delete transactions to autocommit mode.

@1st lev para@<:#200,8486>DB_ OVERRIDE

@1st lev para@<:#600,8486>Used only in response to an Update to force the updated changes. You can issue a subsequent update for the same row once the override option has been set. Override requires cursor support from the database.

@Chead@<:#200,8486>Errors

<:#200,8486>Asynch mode not supported (for the DB_ASYNCHRONOUS Option).

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>CacheLimit

@1st lev para@<:#200,8486>IsAutoCommit

@1st lev para@<:#200,8486>IsSupported

@1st lev para@<:#200,8486>AddRow

@1st lev para@<:#200,8486>Close

@1st lev para@<:#200,8486>DeleteRow

@1st lev para@<:#200,8486>Disconnect

@1st lev para@<:#200,8486>Execute

@Bhead title@<:#220,8486>PrevRow Method<:X8,238;Index "PrevRow method" #>

<:#200,8486>Positions the current row pointer at the previous row.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-!><-"><+!>PrevRow<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:#400,8486>Returns true if the pointer is successfully set to the previous row; otherwise returns false, indicating an error (e.g., previous row is not accessible).

@Chead@<:#200,8486>Usage

<:#600,8486>The previous row is not accessible when the pointer is already at the first row, there is no valid table to scroll through, a result set is not cached, or the cache is limited and the ODBC driver does not support cursor or result navigation.

@Chead@<:#200,8486>Errors

<:#200,8486>No valid table or result set, Cannot locate previous row

@Chead@<:#200,8486>See also

<:#200,8486>HasRowChanged

<:#200,8486>IsBeginOfData

<:#200,8486>CurrentRow

<:#200,8486>Options

@Bhead title@<:#220,8486>RefreshRow Method<:X8,239;Index "RefreshRow method" #>

<:#200,8486>Refresh the data cached at the row pointed to by the current row pointer.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>RefreshRow<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">None<-">

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:#200,8486>Returns true if the row data was changed during refresh; otherwise returns false.

@Chead@<:#200,8486>Usage

<:#600,8486>Use HasRowChanged before RefreshRow to determine whether any changes have occurred, and if so, to copy them from memory to the current row. RefreshRow must not be executed more than ten seconds later than HasRowChanged. (??or what?)

@Chead@<:#200,8486>Errors

<:#200,8486>No valid table or result set

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>HasRowChanged

@Bhead title@<:#220,8486>SetValue Method<:X8,239;Index "SetValue method" #>

<:#200,8486>Sets a new value to a column

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<+!>.<-"><-!><+!>SetValue<-!><+!>( 
<-!><+">column_id <-">or<+"> column_Name<+!>, <-!>value<-"> <+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">column_id<-">

@1st lev para@<:#200,8486>Integer<+">.<-">

<:#200,8486><+">column_Name

@1st lev para@<:#200,8486>String.

<:#200,8486><+">value

@1st lev para@<:#200,8486>String.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:t33>

@Chead@<:#200,8486>Usage

<:#200,8486>The data is automatically converted to the required native data type.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>GetValue

@1st lev para@<:#200,8486>UpdateRow

@1st lev para@<:#200,8486>IsReadOnly

@1st lev para@<:#200,8486>FieldID

@1st lev para@<:#200,8486>FieldName

@Bhead title@<:#220,8486>SetParameter Method<:X8,240;Index "SetParameter method" #>

<:#200,8486>Sets the replacement value for the specified parameter.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status<-"> = <+">ResultSetObj<-"><+"><+!>.<-!><-"><+!>SetParameter<-!><+!>( 
<-!><+">parameter_name <-">or <+">Ordinal<-"><+!>, <-!><+">Value<-"><+"> 
<-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">parameter_name<-">

@1st lev para@<:#200,8486><+">String.<-">

<:#200,8486><+">Ordinal

@1st lev para@<:#200,8486><+">Integer.

<:#200,8486><+">Value

@1st lev para@<:#200,8486><+">String.

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:t32>

@Chead@<:#200,8486>Usage

<:#600,8486>Parameters are set in SQL statements. Unlike ODBC and standard SQL, parameters may appear anywhere in the SQL statement. In SQL, a parameter reference is a name surrounded by question marks.

@Chead@<:#200,8486>Examples

<:#200,8486>This example shows that the parameter's name is ?break? or break:

@Mono@<:#200,8486>SELECT * from table name where amount <;> ?break?

<:#200,8486>??getting a better example

@Chead@<:#200,8486>Errors

<:#200,8486>This parameter not in SQL statement

@Chead@<:#200,8486>See also

@1st lev para@<:#200,8486>SQL, GetParameter, GetParameterName

@Bhead title@<:#220,8486>Transactions Method<:X8,241;Index "Transactions method" #>

<:#200,8486>Commits or rolls back changes in a transaction model.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status <-">=<+!> <-!><+">ResultSetObj<+!>.<-"><-!><+!>Transactions<-!><+!>(<-!> 
<+">Options <-"><+!>)<-!>

@Chead@<:#200,8486>Parameters

<:#200,8486><+">Options<-">

<:t31>

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

<:t40>

@Chead@<:#200,8486>Usage

<:#600,8486>The result set is not affected by the transaction method. Some data sources are auto-commit, which means that any change will automatically be made to the database. These databases cannot be rolled back. Use IsAutoCommit to determine if a database is in aut
o-commit mode.

<:#400,8486>Use Close to clear a result set. As a convenience, use DB_COMMIT or DB_ROLLBACK as parameters in Close.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, No Result Set

@Chead@<:#200,8486>See also

<:#200,8486>IsAutoCommit

<:#200,8486>Close

@Bhead title@<:#220,8486>UpdateRow Method<:X8,241;Index "UpdateRow method" #>

<:#200,8486>Updates the current row, if changed, to the database.

@Chead@<:#200,8486>Defined In

<:#200,8486>ResultSet

@Chead@<:#200,8486>Syntax

<:#200,8486><+">status <-">=<+!> <-!><+">ResultSetObj<+!>.<-"><-!><+!>UpdateRow<-!>

@Chead@<:#200,8486>Return Values

<:#200,8486><+">boolean<-">

@1st lev para@<:t30>

@Chead@<:#200,8486>Usage

<:#800,8486>A row may be logged to a transaction file when updated. The row may not be updated to the database until committed (that is, it is not autocommit). Use IsAutoCommit to retrieve the current commit status of the database. Use IsReadOnly to determine if the da
tabase is read-only, in which case it cannot be updated.

@Chead@<:#200,8486>Errors

<:#200,8486>Not connected, No current row

@Chead@<:#200,8486>See also

<:#200,8486>Close

<:#200,8486>IsAutoCommit

<:#200,8486>IsReadOnly

<:#200,8486>Options( DB_AutoCommit )

IsSupported( DB_ReadOnly )<:p<* >>

<:#200,8486>

>

[Embedded]
00609986
