1

私が持っているのは、レポート付きの非常に基本的な Access ファイルだと思います。レポートはクエリに基づいています。クエリは次のとおりです。

SELECT * FROM dbo_NewPatient WHERE id=[Patient to view];

これはうまく機能し、ID の入力を求めるプロンプトが表示されます。ID を入力すると、結果は私が見たい患者です。このクエリに基づいてレポートを作成したいのですが、結果からデータを入力するラベルをレポートに作成したいので、次のコードを取得しました。

Private Sub Report_Open(Cancel As Integer)
    Label2.Caption = "Patient Name is " & PatientName & " his time in hospital is ... "
End Sub

その「PatientName」変数をクエリから返されたデータにしたいと思います。私はPatientName.ValueとPatientName.Textを試しましたが、毎回エラーメッセージが表示されます:

 'The expression you entered has a field, control, or property name that Microsoft Office Access can't find'.

おそらく、ダブルクリックしてレポートを開くときに、[Patient to view] 変数を入力するように求められていないため、コードはまだ何を認識していないのかを認識していないためです。患者名は。どうすればこれを修正できますか、またはこれを行うためのより良い方法はありますか?

ありがとう!

4

3 に答える 3

4

2つの答え。

まず、あなたのコードで:

Label2.Caption = "Patient Name is " & PatientName & " his time in hospital is ... "

Private Sub Report_Load()手続きに移します。Access は、PatientName の値を認識します。

または、レポート デザイナーで割り当てることもできます。ただし、これはラベルではできませんが、テキスト ボックスではできます。テキスト ボックス コントロールをロックするだけで、ラベルのように機能します。これを Control Source プロパティに入れ、先頭に = を付け、フィールド名を括弧で囲みます。そう...

="Patient Name is " & [PatientName] & " his time in hospital is ... "
于 2013-06-13T01:41:02.093 に答える
0

これを VBA コードで行うのではなく、クエリ (PatientName) の列をレポートのラベルにバインドしたいだけのように思えます。これは VBA コードではなく、レポート デザイナーで行ってください。

于 2013-06-13T00:03:31.030 に答える