• ベストアンサー

アクセスのマクロ

友人がアクセスで作ったマクロです。3行目で止まってしまいます。どこが悪いのでしょうか。(私は全くの素人でわかりません) Private Sub 記載事項入力ボタン_Click() DoCmd.Close acForm, "初期画面", acSaveYes DoCmd.OpenForm "入力フォーム", acNormal ←ここ End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • Musaffah
  • ベストアンサー率36% (37/101)
回答No.4

Open_Form()プロシージャのどこでエラーとなっているのでしょうか? それと、Accessのバージョンは?? 自分もAccessのバージョンの違いで結構苦戦した経験がありますんで・・・。どちらかというと、OSの違いよりAccessのバージョンの違いのほうが気になります。

kazunomiya
質問者

お礼

お礼が遅くなってすみません。何度もお答えありがとうございました。データをハードディスクにコピーし、マクロが止まってしまうフォームを名前を変えてコピーし直したら動くようになりました。ありがとうございました。

その他の回答 (4)

noname#79209
noname#79209
回答No.5

DoCmd.ApplyFilter , "番号 =" & Rs("番号") がおかしいのでは? 「ApplyFilter」はフィルタ名を指定するものです。 Me.Filter = "番号 ="& Rs("番号") Me.FilterOn = True でダメでしょうか。(未検証)

kazunomiya
質問者

お礼

お答えありがとうございました。何とかなりました。

  • kikaida-
  • ベストアンサー率69% (37/53)
回答No.3

>実行時エラー'2501' OpenFormアクションの実行はキャンセルされまいた ということは”入力フォーム”側の問題です。 ”入力フォーム”の開くときにイベントに何か不適切な記述があるのだと思います。 それを貼ってもらえれば参考になるかと思います。 あと、OSの違いで制御がかわるというのはあまりないと思います。

kazunomiya
質問者

お礼

お答えありがとうございました。

kazunomiya
質問者

補足

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)
回答No.2

>DoCmd.OpenForm "入力フォーム", acNormal ←ここ この行を実行するとエラーメッセージ(ポップアップで”~がありません。”とか書いてあるやつ。)が表示されるはずです。 それを教えてください。

kazunomiya
質問者

補足

マクロボタンを押すと、実行時エラー'2501' OpenFormアクションの実行はキャンセルされまいた。と出ます。この 2501って何ですか?自分は知識がまったくないので、すみません。

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.1

>DoCmd.Close acForm, "初期画面", acSaveYes は"初期画面"というFormを(セーブした上で)閉じるというコマンドです。 >DoCmd.OpenForm "入力フォーム", acNormal ←ここ は、"入力フォーム"というFormを(通常ウィンドウで)開く、というコマンドです。 "入力フォーム"というFormが存在しないとかではないですか?フォームのウィンドウを確認して下さい。(間違って消してしまったとか。)また、実行時に何かしらエラーメッセージが出てませんか?

kazunomiya
質問者

お礼

お礼が遅くなってすみません。データをハードディスクにコピーし、マクロが止まってしまうフォームを名前を変えてコピーし直したら動くようになりました。ありがとうございました。

kazunomiya
質問者

補足

入力フォーム"というFormは存在しています。そういえば、友達は自分のパソコンでやったときには確かに動いたと言っていました。(XP) 自分のはMeと98SEでどちらも動きません。そういうことってあるのですか。いろいろすみません。

関連するQ&A