0

목표는 다른 데이터베이스의 한 데이터베이스에서 문서를 만들고 소스 데이터베이스의 값으로 필드를 채우는 것입니다. 다른 데이터베이스에 연결하여 문서를 작성할 수 있었지만 편집이 불가능했습니다.다른 데이터베이스에서 문서를 만들고 필드 값을 설정하십시오.

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 

"문서 명령을 사용할 수 없습니다."라는 오류 메시지가 나타납니다. 누군가 나를 도와 줄 수 있습니까?

답변

2

이 가능하며, 백엔드가 아닌 프론트 엔드 클래스

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 
+0

우수한을! 그것은 매력처럼 작동합니다 :) 대단히 감사합니다! – cwtrsld

+2

EditDocument를 호출하기 전에 문서를 저장하지 않는 것이 좋습니다. 사용자가 불완전한 문서를 남겨둔 경우 취소합니다 (사용자에게 작성자 권한 만있는 경우 방금 저장 한 문서를 수정할 수 없음). –

+0

Andre가 정확합니다.이 경우 저장하지 않아도됩니다. – Newbs

관련 문제