2016-04-27 14 views
0

私には分かりにくい問題があり、今はかなり苦労しています。Lotus Notes:プレフィルドフィールドで新しい文書を作成し、保存せずに編集モードで開く

既存の文書から、新しい文書(同じDBの別の形式)を作成したいと思います。 このフォーム内のボタンを使用します。

Sub Click(Source As Button) 
    Dim ws As New NotesUIWorkspace 
    Dim thisProject As New kitcProject() '// this only wraps the current document 
    Set NREDOC = thisProject.newNREdocument() '// this returns a NotesDocument, that has not been saved yet 
    Call ws.EditDocument(False, NREDOC, False, "", True, False) 
End Sub 

これは働いていない私はそれを保存しない限り、それは最初のEditDocumentコール

Call NREDOC.Save(true, false) 

を使用する前に、私は別のデータベースから文書で正常に動作し同様のボタン機能を持つドキュメントを開きませんEditDocumentコールで開くと、未保存の状態になります。ここで

はNREDOCデバッグモードでNREDOCをチェック

%REM 
Function newNREdocument 
Description: Returns a new NotesDocument prefilled of type NRE 
%END REM 
Public Function newNREdocument() As NotesDocument 
    Set me.nreDoc = db.Createdocument() 
    With me.nreDoc 
     .Form = "NRE" 
     .nreProjectID = me.uidocument.FieldGetText("prProjectID") 
     .nreProjectName = me.uidocument.FieldGetText("prProjectName") 
    End with 
    Set newNREdocument = me.nreDoc 
End Function 

を返す関数は、ドキュメントと間違って何もないことを私に伝え、ParentDatabaseが正しく設定されている、すべてのプレフィルドの値が設定されますが、それされています開かない。私は間違って何をしていますか?

フォームプロパティに多少設定するフラグはありますか?私はそれ以上のアイデアを持っていません

あなたの助けを前にありがとう。

+0

私はこれがあなたの問題かどうか分かりませんが、returnNotesUIDocumentパラメータをtrueに設定していますが、Set文を使用せずにEditDocument機能として。それはやり方が悪いようです。 –

+0

私はfalseとtrueに設定されたパラメータでテストしていましたが、違いはありません –

答えて

1

解決策が見つかりました。ここで重要なのはのnewInstanceフラグは

Call ws.EditDocument(True, NREDOC, False, "", False, True) 

Trueにフラグを設定する最後である私の問題を解決しました。 Unfortunatellyそれは私が周りに遊んでいた最後の旗だった。

0

ダイアログボックスに新しいドキュメントを表示することもできます。そのため、すべてが同じ画面に残り、最初のドキュメントへのアクセスはブロックされます。新しい唯一のものは、新しい文書を保存する方法です。実際にはかなり面白いです...

+0

良い考えですが、この場合は新しい文書を通常の文書として開く必要があります。 –

関連する問題