Notes中几个处理多值域的通用函数
1.查找出查找内容在多值域中的索引值
getItemIndex(域名,域值,文档)
Public Function getItemIndex(ByVal fieldName As String, ByVal itemVal As Object,
ByVal doctt As NotesDocument) As Integer
Dim i As Integer
Dim j As Integer
Dim item As NotesItem
item = doctt.GetFirstItem(fieldName)
j = Ubound(item.Values)
For i = 0 To j
If itemVal = item.Values(i) Then
getItemIndex = i
Exit Function
End If
Next
getItemIndex = -1
End Function
2.删除多值域中的数据
delItemValues(多值域名,更改的索引值,所在文档对象)
Public Sub delItemValues(ByVal fieldName As String, ByVal index As Integer, ByVal doctt As NotesDocument)
Dim i As Integer
Dim temp() As Object
Dim item As NotesItem
item = doctt.GetFirstItem(fieldName)
Dim j As Integer j = Ubound(item.values)
'-----------
If j = 0 Then
'当J为0时,即仅有一个值,给予空值即可
Call doctt.ReplaceItemValue(fieldName, "")
Exit Sub
End If
'------------
If Trim(item.Values(0)) = "" Then
index = j
End If
If index > j Then
'仍然做为最后一个数据加入
j = j + 1 '索引位仅增加1
index = j '重定义索引位,防止超出范围
End If Redim temp(j-1) As Variant '重定义数组
For i = 0 To index - 1
temp(i) = item.values(i)
Next For i = index To j - 1
temp(i) = item.values(i + 1)
Next Call doctt.ReplaceItemValue(fieldName, temp)
'End If
'End If
End Sub
3.更改多值域中的数据
editItemValues(多值域名,更改的索引值,更改的内容,所在文档对象)
Public Sub editItemValues(ByVal fieldName As String, ByVal index As Integer, ByVal itemVal As Object,
ByVal doctt As NotesDocument)
Dim i As Integer
Dim temp() As Object
Dim item As NotesItem
item = doctt.GetFirstItem(fieldName)
Dim j As Integer j = Ubound(item.values)
If Trim(item.Values(0)) = "" Then
index = j
End If
If index > j Then
'仍然做为最后一个数据加入
j = j + 1 '索引位仅增加1
index = j '重定义索引位,防止超出范围
End If Redim temp(j) As Variant '重定义数组 For i = 0 To j
If i = index Then
temp(i) = itemVal
Else
temp(i) = item.values(i)
End If
Next
Call doctt.ReplaceItemValue(fieldName, temp)
'End If
'End If
End Sub
Notes中几个处理多值域的通用函数的更多相关文章
- Lotus开发之Lotus Notes中域的验证
一:介绍 Lotus中的域主要有以下的类型:文本,日期/时间,对话框列表,复选框,单选按钮,RTF等等.Lotus中域的验证方式有很多种公式,lotusscript,javascript等 ...
- Lotus Notes中编程发送邮件(二)
在编程发送各种类似通知的邮件时,时常会需要发件人显示为某个特定的帐户,比如某个部门的名称或者管理员的名字.另一种需求是,用户收到某封邮件后,回复邮件的地址不同于发件人栏显示的地址.而正常情况下,发送邮 ...
- 46. Lotus Notes中编程发送邮件(一)
邮件是Lotus Notes体系的核心和基本功能,以至于Send()是NotesDocument的一个方法,任何一个文档都可以被发送出去,Notes里的一封邮件也只是一个有一些特殊字段的文档.在程序开 ...
- 在 Ubuntu 15.04 中使用 ubuntu-make、Eclipse 4.4、Java 8 以及 WTP
Ubuntu 今天发布新版本了 其实昨天(2015-04-23)我就看到了 Ubuntu 发布新版本的新闻,下班后回家的第一件事就是访问 Ubuntu 的官网,很可惜,没有提供下载.今天(2015-0 ...
- twitter storm源码走读之4 -- worker进程中线程的分类及用途
欢迎转载,转载请注明出版,徽沪一郎. 本文重点分析storm的worker进程在正常启动之后有哪些类型的线程,针对每种类型的线程,剖析其用途及消息的接收与发送流程. 概述 worker进程启动过程中最 ...
- 52. 模版和设计元素——Lotus Notes的代码重用
不论是理论上还是实用上,代码重用都是编程的一个重要议题.可以从两个角度来讨论代码重用. 一是逻辑上代码以怎样的方式被重用.既可以通过面向对象的思想普及以来耳熟能详的继承的方式.比如先建了一个车的基类, ...
- worker进程中线程的分类及用途
worker进程中线程的分类及用途 欢迎转载,转载请注明出版,徽沪一郎. 本文重点分析storm的worker进程在正常启动之后有哪些类型的线程,针对每种类型的线程,剖析其用途及消息的接收与发送流程. ...
- 聊一聊C# 8.0中的await foreach
AsyncStreamsInCShaper8.0 很开心今天能与大家一起聊聊C# 8.0中的新特性-Async Streams,一般人通常看到这个词表情是这样. 简单说,其实就是C# 8.0中支持aw ...
- MM-实际应用中的难题
SAP系统实际应用中的十大难题——塞依SAP培训 难题1:采购料维修 如果有物料坏了,需要退回给供应商处维修,此时一般不做退货.因为,第一,供应商不一定会乐意:第二,往来单据也无谓地增多:第三,最重要 ...
随机推荐
- 浅谈Phoenix在HBase中的应用
一.前言 业务使用HBase已经有一段时间了,期间也反馈了很多问题,其中反馈最多的是HBase是否支持SQL查询和二级索引,由于HBase在这两块上目前暂不支持,导致业务在使用时无法更好的利用现有的经 ...
- zjoi 网络
题解: 很显然会发现对于每种颜色分开处理这是一颗树 然后就是裸的lct 有个坑就是判断操作1 可能颜色改成跟原先一样的 代码: #include <bits/stdc++.h> using ...
- 7-4素数环 uva 524
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> using ...
- 一个基于C++11的定时器队列(timerfd,poll实现)
目录 前言 优点 test 源代码 @ 前言 最近小程序要用到定时器,找了一圈也没找到合适的,最后还是绕回来选择了muduo里面的TimerQueue,整理了下它的代码,独立了出来,因为实在懒得从头写 ...
- python 入门总结(一)
自然语言用双引号,机器语言用单引号 例如dict的key 单行注释 # 多行注释 ''' ''' 输入print %s 字符串的占位符 %d 数字的占位符 如语句中有占位符那么所有的%都是占位符,可以 ...
- JAVA "GMT+10" 和 "GMT+0010"
可以使用 getAvailableIDs 方法来对所有受支持的时区 ID 进行迭代.可以选择受支持的 ID 来获得 TimeZone.如果想要的时区无法用受支持的 ID 之一表示,那么可以指定自定义时 ...
- BZOJ.4653.[NOI2016]区间(线段树)
BZOJ4653 UOJ222 考虑二分.那么我们可以按区间长度从小到大枚举每个区间,对每个区间可以得到一个可用区间长度范围. 我们要求是否存在一个点被这些区间覆盖至少\(m\)次.这可以用线段树区间 ...
- Python3正则表示式(3)
正则表示式对象 对象1: 案例1: import re example = 'ShanDong Institute of Business and Technology' pattern = re.c ...
- 潭州课堂25班:Ph201805201 第十一课 继承,多继承和魔术方法,属性和方法 (课堂笔记)
继承: class p : cls_name = 'p' def __init__(self): print('正在实例化') def __del__(self): print('正在销毁') cla ...
- rabbitmq使用方法(一)
Introduction RabbitMQ is a message broker. The principal idea is pretty simple: it accepts and forwa ...