サブフォームの「Form_AfterUpdate()」をメインフォームから呼びだしたいです。 コードの中に記載されている内容を、メインフォームの更新ボタンで実現可能にしたいのですが可能でしょうか。
サブフォームのモジュールの
Private Sub Form_AfterUpdate()
の Private を Public に修正
Private
Public
Public Sub Form_AfterUpdate()
メインフォームのコマンドボタンのクリック時を下記のように記述
Private Sub 更新ボタン_Click() Me.サブフォームコントロール名.Form.Form_AfterUpdate End Sub
ありがとうございます。大変参考になりました。 しかし、今回のコードのせいかエラーが出ます。 「実行時エラー2471 クエリパラメーターとして指定した式でエラー'年月日'が発生しました」 エラーを発生させない方法はありますでしょうか。
サブフォーム内のコード Public Sub Form_AfterUpdate() Me.Requery Dim maxDate maxDate = DMax("年月日", "T管理", "管理ID=" & Me!txt管理ID) If Me.Parent!年月日new = maxDate Then Else Me.Parent!new = maxDate End If End Sub
そのエラーがでるコードはどこですか。
ご確認ありがとうございます。 エラーが出るコードはここになります。
Private Sub 更新ボタン_Click() Me.Fサブ管理.Form.Form_AfterUpdate '←←ここです。 End Sub
「実行時エラー2471 クエリパラメーターとして指定した式でエラー'年月日'が発生しました」というエラーが出たときに、デバッグボタンをクリックするとその行が反転表示されるのですか。
念のために確認ですが、上記の「Fサブ管理」というのはサブフォームコントロール名ですか。 サブフォーム名とサブフォームコントロール名は別物です。
サブフォームとサブフォームコントロールの違いとは? - hatena chips
ありがとうございます。再確認しました。サブフォームコントロール名で間違いありません。サブコントロール名とサブフォームコントロール名が同じものに設定されていたので、試しにさぼフォームコントロール名を変更して試してみましたが、エラー発生状況は同じでした。 おっしゃるとおり、デバックボタンを押すと該当の行が反転される状況です。
エラーメッセージから推測すると、サブフォームのレコードソースのクエリに問題があるように思えます。
サブフォームのレコードソースをクエリではなくテーブルにしたらどうなりますか。 それでエラーが出ないなら、クエリに問題があるということになります。 その場合は、現状のクエリのSQL文を提示してください。
テーブルにしてみたところ、リンクが切れている部分についてのエラーは出ましたが、それ以外のエラーは出ませんでした。SQL文ですが、そのまま掲載するのもちょっとあれなので、お送りさせていただきますね。ありがとうございます。
SQL文を拝見しましたが、特に問題はなさそうです。 こうなると、デバッグ作業をすることになりますが、実ファイルのないこちらでは無理です。 下記のリンク先を参考にステップ実行によるデバッグ作業を行ってください。
最も基本的なステップ実行 - Excel VBA
SQLをご確認いただき、ありがとうございました。大変お手数をおかけいたしました。 デバッグはまだ行っていないのですが、とりあえずは、サブフォームのヘッダーに更新ボタンを置いて対応することにしました。
不適切なコンテンツとして通報するには以下の「送信」ボタンを押して下さい。 現在このグループでは通報を匿名で受け付けていません。 管理者グループにはあなたが誰であるかがわかります。
どのように不適切か説明したい場合、メッセージをご記入下さい。空白のままでも通報は送信されます。
通報履歴 で、あなたの通報と対応時のメッセージを確認できます。
トピックをWIKIWIKIに埋め込む
次のコードをWIKIWIKIのページに埋め込むと最新のコメントがその場に表示されます。
// generating...
プレビュー
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
Markdown Tables generator
ここまでがあなたのコンテンツ
ここからもあなたのコンテンツ
サブフォームのモジュールの
の
Private
をPublic
に修正メインフォームのコマンドボタンのクリック時を下記のように記述
ありがとうございます。大変参考になりました。
しかし、今回のコードのせいかエラーが出ます。
「実行時エラー2471 クエリパラメーターとして指定した式でエラー'年月日'が発生しました」
エラーを発生させない方法はありますでしょうか。
そのエラーがでるコードはどこですか。
ご確認ありがとうございます。
エラーが出るコードはここになります。
「実行時エラー2471 クエリパラメーターとして指定した式でエラー'年月日'が発生しました」というエラーが出たときに、デバッグボタンをクリックするとその行が反転表示されるのですか。
念のために確認ですが、上記の「Fサブ管理」というのはサブフォームコントロール名ですか。
サブフォーム名とサブフォームコントロール名は別物です。
サブフォームとサブフォームコントロールの違いとは? - hatena chips
ありがとうございます。再確認しました。サブフォームコントロール名で間違いありません。サブコントロール名とサブフォームコントロール名が同じものに設定されていたので、試しにさぼフォームコントロール名を変更して試してみましたが、エラー発生状況は同じでした。
おっしゃるとおり、デバックボタンを押すと該当の行が反転される状況です。
エラーメッセージから推測すると、サブフォームのレコードソースのクエリに問題があるように思えます。
サブフォームのレコードソースをクエリではなくテーブルにしたらどうなりますか。
それでエラーが出ないなら、クエリに問題があるということになります。
その場合は、現状のクエリのSQL文を提示してください。
テーブルにしてみたところ、リンクが切れている部分についてのエラーは出ましたが、それ以外のエラーは出ませんでした。SQL文ですが、そのまま掲載するのもちょっとあれなので、お送りさせていただきますね。ありがとうございます。
SQL文を拝見しましたが、特に問題はなさそうです。
こうなると、デバッグ作業をすることになりますが、実ファイルのないこちらでは無理です。
下記のリンク先を参考にステップ実行によるデバッグ作業を行ってください。
最も基本的なステップ実行 - Excel VBA
SQLをご確認いただき、ありがとうございました。大変お手数をおかけいたしました。
デバッグはまだ行っていないのですが、とりあえずは、サブフォームのヘッダーに更新ボタンを置いて対応することにしました。