RTF域里有多个值,用","分隔开,怎么样用LS把不同的值得到?

inspire2000 2004-11-25 03:15:54
表单上有一个RTF域,填写用户编号;用品名域,填写申请的办公用品.提交表单后运行代理通过ODBC把用户编号和办公用品名导入SQL数据库,如果有多个用户申请同样的用品,怎样把RTF里面的多个用户编号分别取出,循环导入SQL?RTF域里的不同编号分别用逗号分隔开.
...全文
205 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
inspire2000 2004-12-02
  • 打赏
  • 举报
回复
If (conn.connectto("test","sa","1sa")) Then
sql1="select * from addressbook"
query.sql=sql1
Call result.execute
If result.isresultsetavailable Then
strText=doc.telnumber(0)
element1 = Evaluate(|@Explode("|+strText+|";";")|,doc)
Forall element In element1
Msgbox "element=" & element
call result.addrow
Call result.setvalue("tnumber",element)
Call result.updaterow
End Forall
不能把数据导入到数据库啊,那里有问题?原来是想用多个域来实现,但一次有多少人申请是不确定的,所以不知要建多少个域,才用现在的办法,建一个域,然后分隔开.
zengxianfeng 2004-11-29
  • 打赏
  • 举报
回复
这样用不是很好,很容易误输入操作,最好用多个域来实现功能。
inspire2000 2004-11-29
  • 打赏
  • 举报
回复
我把RTF域改回文本域就没错了,为什么用RTF会错?
inspire2000 2004-11-29
  • 打赏
  • 举报
回复
Sub Initialize
Dim strText As String
Dim db As notesdatabase
Dim session As New notessession
Dim doc As notesdocument
Dim result As Variant

Set doc = session.documentcontext
strText=doc.telnumber(0)
result = Evaluate(|@Explode("|+strText+|";";")|,doc)
Forall element In result
Msgbox "element=" & element
End Forall

End Sub
代理运行后提示:"variant does not contain a container",要怎么改?
ibm123 2004-11-29
  • 打赏
  • 举报
回复
漏了一句:

Set rtitem=doc.GetFirstItem("telnumber")

plainText = rtitem.GetFormattedText( False, 0 )

If ( rtitem.Type = RICHTEXT ) Then

plainText = rtitem.GetFormattedText( False, 0 )

else

plainText = rtitem.Text

End If

result = Evaluate(|@Explode("| & plainText & |";",")|)

Forall element In result

Msgbox "element=" & element

End Forall

ibm123 2004-11-29
  • 打赏
  • 举报
回复
Set rtitem=doc.GetFirstItem("telnumber")

plainText = rtitem.GetFormattedText( False, 0 )

If ( rtitem.Type = RICHTEXT ) Then

plainText = rtitem.GetFormattedText( False, 0 )

else

plainText = rtitem.Text

End If

Forall element In result

Msgbox "element=" & element

End Forall
阿豪2 2004-11-28
  • 打赏
  • 举报
回复
在LS里面还可以用split函数。
freyild1979 2004-11-27
  • 打赏
  • 举报
回复
公式有长度限制,不能超过32k(跟域的32k限制是一致的),
写个程序循环下嘛,odbc你都再用,这点代码很easy的。
inspire2000 2004-11-26
  • 打赏
  • 举报
回复
我用的是R5
牛牛爸 2004-11-26
  • 打赏
  • 举报
回复
给你个例子
Sub Initialize
Dim strTest As String
Dim s As New notessession
Dim doc As notesdocument
Dim result As Variant
Set doc = s.documentcontext
strText="aa;bb;cc;"
result = Evaluate(|@Explode("|+strText+|";";")|,doc)
Forall element In result
Msgbox "element=" & element
End Forall

End Sub
skystar99047 2004-11-26
  • 打赏
  • 举报
回复
R6以上
explode()和implode(),帮助中查相关用法。

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧