4
Private Sub Form_Open(Cancel As Integer)
  Me.Bathroom = Forms!frmBathrooms!ID
  Me.txtBathInfo.Caption = "Bathroom Room Number: " & 
        DLookup("Room", "tblRooms", "ID = " & 
           DLookup("Room", "tblBathrooms", "ID = " & Me.Bathroom))
  Me.RecordSource = "SELECT * FROM tblStalls WHERE Bathroom = " & Me.Bathroom
  Me.Recordset.AddNew
End Sub

ここで、2行目Me.Bathroom = Forms!frmBathrooms!IDはエラーをトリップしています。デバッガーは言いMe.Bathroom = 1, Forms!frmBathrooms!ID = 38ます。基本的に、このフォームのBathroomフィールドをfrmBathroomsフォームのIDのフィールドと自動的に一致させようとしています。「私」はバスルームのアイテムのフォームです。多くのアイテムが存在する可能性があります。

エラーをスローするのは一体どういうことですか?1時間ほど探し回っても何も見つかりません。私はメッセージを理解していますが、これがどのようにそれを投げることができるのかわかりませんか?

ItemテーブルのBathroomフィールドは、フォームのレコードソースなどにあります。アイデアはありますか?

4

3 に答える 3

3

同じ問題がありましたが、VBA構文とは関係ありませんでした。フォームにコントロール(注文番号)を設定しようとしました。この注文番号を計算する必要がありましたが、これはVBAで実行しました。計算後、フォームにコントロール(注文番号)を設定しようとします。そして、それは実行時に2448エラーを引き起こしました。その後、フォームデザインで、コントロールソースを計算に設定していることに気付きました。したがって、実行時のVBAでは、コントロールも設定できません。フォームデザイン->プロパティシートウィンドウのコントロールのコントロールソースで計算を削除した後、正常に機能しました。私は認めます、本当にばかげた間違いです、しかしあなたはそれを持っています。これが--X--に役立つことを願っています

于 2016-03-20T10:37:12.503 に答える
2

同じ問題を抱えている他の人のために、私がしたのは文字通り2行目と3行目をMe.Recordset.AddNewの下に移動することでした(Me.Bathroomとキャプションを変更する前にソースを変更して新しいレコードを追加します)。– user1394455

于 2012-05-17T19:48:52.583 に答える
0

ドロップダウンリストを変更するには、フォームヘッダー領域であっても、メインフォームを編集可能にする必要があります。(VBAは、ロード時に編集不可にしていました。)

于 2019-04-02T12:55:26.207 に答える