Infopath ではすべてのインスタンス (SDI と MDI) が分離されているため、新しいフォームに直接アクセスできないことは承知しています。「中間」の保管場所が必要です。ユーザーがボタンをクリックすると、データが DB に保存され、新しいフォームが開かれ、フォームの読み込み時に DB から読み取られます。
私たちが使用した別の方法 (これも同様に面倒です) は、(元の xsn ではなく) フォーム自体の空白のコピーを使用することです。テンプレートを変更した場合、空白のコピーを手動で最新の状態に保つ必要がありますが、現在行っている作業には適しているため、これは悪いことです。これらのフィールドにデータを入力する必要があり、一時ストレージに使用できる DB がない場合にのみお勧めします。
フォームに入力するのと同じようにフォーム テンプレートを開きますが、「空白の」コピーを共有に保存するだけです (xml として保存されます)。ソース フォームのボタンの背後にあるプロセスは次のとおりです。空白のフォームの一意のコピーを作成し (それらはすべて、毎晩消去されるサブフォルダーに保存されます)、プログラムでその新しい空白のコピーを開いて編集します (xml であるため簡単です)。正しいフィールドにデータを入力し、編集したコピーを保存し、xsn の代わりにユーザー用に編集したコピーを開きます。