【问题标题】:Create a document in another database and set the field values在另一个数据库中创建一个文档并设置字段值
【发布时间】:2014-09-12 07:06:49
【问题描述】:

我的目标是从另一个数据库中的一个数据库创建一个文档,并用源数据库中的值填充字段。我能够连接到另一个数据库并撰写文档,但无法进行编辑。

Sub Click(Source As Button)

Dim mydb As NotesDatabase
Dim workspace As NotesUIWorkspace 
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument

Dim Server As String 
Dim DBPath As String 
Dim DBForm As String

'----------------------------------------------------------------- 
' Set target database information 
'-----------------------------------------------------------------
Server = "Server"
DBPath = "Path"
DBForm = "Form"

'----------------------------------------------------------------- 
' Attempt connection to target server
'-----------------------------------------------------------------
Print "Connecting to target database"
Set mydb = New NotesDatabase("", "") 
Call mydb.Open(Server, DBPath)  

If (mydb.IsOpen) Then 
    '-----------------------------------------------------------------
    ' Create new document 
    '-----------------------------------------------------------------
    Print "Connection established to: " + mydb.FileName 
    Set workspace = New NotesUIWorkspace 
    Print "Composing change management record" 
    Set uidoc = workspace.ComposeDocument (Server, DBPath, DBForm)

    Call uidoc.FieldSetText("FIELD", "12345")
Else
    Msgbox "Warning: unable to open target database." 
End If      

End Sub

当我打电话时

Call uidoc.FieldSetText("FIELD", "12345")

我收到一条错误消息,提示我必须以编辑模式打开文档。当我尝试使用

更改编辑模式时
uidoc.EditMode = True

我收到错误消息“文档命令不可用”。有人可以帮我吗?

【问题讨论】:

    标签: lotus-notes lotus-domino lotusscript lotus domino-designer-eclipse


    【解决方案1】:

    有可能,使用后端而不是前端类

    Dim workspace As New Notesuiworkspace
    Dim session As New NotesSession
    Dim myDb As NotesDatabase
    Dim doc As notesdocument
    
    Set myDb= session.Getdatabase("Server", "Path", false)
    If (mydb.IsOpen) Then 
    Set doc = myDb.Createdocument()
    doc.field="12345"
    
    
    Call workspace.Editdocument(true, doc)
    Else
    Msgbox "Warning: unable to open target database." 
    End If  
    

    【讨论】:

    • 我建议在调用 EditDocument 之前不要保存文档。如果用户取消,您将得到一个不完整的文档(此外,如果用户只有作者访问权限,他们将无法编辑他们刚刚保存的文档)。
    • 安德烈是正确的,这种情况下不需要保存。
    猜你喜欢
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多