- ベストアンサー
アクセスのマクロ
友人がアクセスで作ったマクロです。3行目で止まってしまいます。どこが悪いのでしょうか。(私は全くの素人でわかりません) Private Sub 記載事項入力ボタン_Click() DoCmd.Close acForm, "初期画面", acSaveYes DoCmd.OpenForm "入力フォーム", acNormal ←ここ End Sub
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Open_Form()プロシージャのどこでエラーとなっているのでしょうか? それと、Accessのバージョンは?? 自分もAccessのバージョンの違いで結構苦戦した経験がありますんで・・・。どちらかというと、OSの違いよりAccessのバージョンの違いのほうが気になります。
その他の回答 (4)
DoCmd.ApplyFilter , "番号 =" & Rs("番号") がおかしいのでは? 「ApplyFilter」はフィルタ名を指定するものです。 Me.Filter = "番号 ="& Rs("番号") Me.FilterOn = True でダメでしょうか。(未検証)
お礼
お答えありがとうございました。何とかなりました。
- kikaida-
- ベストアンサー率69% (37/53)
>実行時エラー'2501' OpenFormアクションの実行はキャンセルされまいた ということは”入力フォーム”側の問題です。 ”入力フォーム”の開くときにイベントに何か不適切な記述があるのだと思います。 それを貼ってもらえれば参考になるかと思います。 あと、OSの違いで制御がかわるというのはあまりないと思います。
お礼
お答えありがとうございました。
補足
Form_入力フォームの一部です。 Option Compare Database Private Sub Form_Close() Me.Filter = "" End Sub Private Sub Form_Open(Cancel As Integer) Dim Rs As Recordset Set Rs = Me.Recordset.Clone Rs.MoveFirst Dim Fontsize_Table As Recordset Set Fontsize_Table = CurrentDb.OpenRecordset("フォントサイズテーブル", dbOpenDynaset) Fontsize_Table.MoveFirst Fontsize_Table.FindFirst "番号=" & Rs("番号") 'rs.FindFirst "番号 =" & Me!選択キー.Value 'Me.Bookmark = rs.Bookmark DoCmd.ApplyFilter , "番号 =" & Rs("番号") 以下……続く どこかおかしいところがあれば教えてください。
- Musaffah
- ベストアンサー率36% (37/101)
>DoCmd.OpenForm "入力フォーム", acNormal ←ここ この行を実行するとエラーメッセージ(ポップアップで”~がありません。”とか書いてあるやつ。)が表示されるはずです。 それを教えてください。
補足
マクロボタンを押すと、実行時エラー'2501' OpenFormアクションの実行はキャンセルされまいた。と出ます。この 2501って何ですか?自分は知識がまったくないので、すみません。
- PCFREAK
- ベストアンサー率51% (417/805)
>DoCmd.Close acForm, "初期画面", acSaveYes は"初期画面"というFormを(セーブした上で)閉じるというコマンドです。 >DoCmd.OpenForm "入力フォーム", acNormal ←ここ は、"入力フォーム"というFormを(通常ウィンドウで)開く、というコマンドです。 "入力フォーム"というFormが存在しないとかではないですか?フォームのウィンドウを確認して下さい。(間違って消してしまったとか。)また、実行時に何かしらエラーメッセージが出てませんか?
お礼
お礼が遅くなってすみません。データをハードディスクにコピーし、マクロが止まってしまうフォームを名前を変えてコピーし直したら動くようになりました。ありがとうございました。
補足
入力フォーム"というFormは存在しています。そういえば、友達は自分のパソコンでやったときには確かに動いたと言っていました。(XP) 自分のはMeと98SEでどちらも動きません。そういうことってあるのですか。いろいろすみません。
お礼
お礼が遅くなってすみません。何度もお答えありがとうございました。データをハードディスクにコピーし、マクロが止まってしまうフォームを名前を変えてコピーし直したら動くようになりました。ありがとうございました。