0

MS Access データベース レポート出力の問題を修正する方法がわかりません。

最初: 3 つのフォームがあり、そのうちの 1 つはナビゲーション目的 (HOME) で、ナビゲーション コントロール (他の 2 つのフォームのいずれかにリンク) に 2 つのナビゲーション ボタンがあり、iframe のように使用するサブフォーム フィールドにあります。他のフォームごとに 1 つずつ、合計 2 つのレポートもあります。

2 番目: どちらのフォームにも、レポート出力に印刷する必要があるバインドされていないテキスト フィールドがあります。これらのフィールドを保存したりテーブルに入れたりする必要はありません。これらのフォームの値は、フォームが分離されている場合(モーダル、フォーム ビューなど) に問題なく出力されます。非バインド フィールドは、制御フィールドが配置されているフォームの本体の一部です。

サブフォーム ボックス/iframe の "HOME" フォームでフォームを表示した場合にのみ、#Name?意図した値ではなくレポートが表示されます。また、サブフォームにはまたはオプションがありません。Link Master FieldsLink Child Fields

印刷コマンド オブジェクト/ボタンで使用されるコードは次のとおりで、非 HOME フォームのフッターにあります。

Private Sub cmdPrint_Click()
    Dim strWhere As String

    If Me.NewRecord Then 'Check there is a record to print
        MsgBox "Select a record to print"
    Else
        strWhere = "[CustomerID] = " & Me.[CustomerID]
        DoCmd.OpenReport "TransferAgreement_EC", acViewPreview, , strWhere
    End If
End Sub

助言がありますか?ここで検索して問題をググってみましたが、問題の解決策が見つかりませんでした。ご意見をお寄せいただきありがとうございます。

4

1 に答える 1

0

わかった。そのため、多くの実験を実行するだけで解決策が見つかり、これで修正されました。

レポート自体では、データ フィールドでは、ナビゲーション フォームとサブナビゲーション ボックスの両方を呼び出してから、バインドされていないフィールドを指す必要があります。たとえば、コントロール ソースの 1 つのフィールドは次のとおりです。

=[Forms]![Home]![NavigationSubform].[Form]![GCSerial_1]
  • ホーム = ナビゲーション フォーム
  • NavigationSubform = ナビゲーション サブフォーム ボックス (私が「iframe」と見なすもの)
  • フォーム = フォームへの単なる呼び出しであり、具体的ではありません
  • GCSerial_1 = バインドされていないテキスト フィールド

この方法では、レポートがナビゲーション フォームのサブフォームでない場合、非連結フィールドは印刷されません。たとえば、デフォルトでは、私の他の 2 つのフォームはモーダル ポップアップです。それらをモーダルプロンプトとして「フォームビュー」#Name?すると、印刷コマンドボタンをクリックすると、バインドされていないフィールドが表示されます。

ヘルプとインスピレーションをありがとう! <3

于 2016-12-07T00:09:00.407 に答える