
Access2002でフォームを利用して表紙を作ろうとしているのですが、コマンドボタンを配置してフォームを開けるようにしたいと思っています。
クエリーも開けないので一度そのクエリーのフォームをつくりそれを開くためのコマンドボタンを用意しました。
ところがボタンを配置するごとの確認していくと途中でエラーが出てフォームを開けなくなります。
すると今まで開けたフォームも同様に開けなくなってしまいます。
Accessを使い始めたばかりの初心者ですが、どなたか教えて下さい。
また、Accessの仕組みは大体わかったのですが、顧客管理や商品管理など行ううえでステップアップしやすい参考書籍・webなどありましたら是非教えて下さい。
宜しくお願いします。
No.3ベストアンサー
- 回答日時:
ボタン作成にコントロールウィザードを使ってますか…?
フォームにボタンを置くとコマンドボタンウィザードが出てきて、
それでフォームの操作→フォームを閉じる…のような処理をしてますか?
コントロールウィザードを使ってボタンを作ると、
自動的に「フォームを閉じる」VBAのプログラムを作ってくれますが、
ボタンを削除しても、このプログラムは削除されません。
"Private Sub 表紙フォームを閉じる_Click()"
で始まるプログラムがいくつかあるのではないでしょうか?
1.フォームをデザインビューで表示→「表紙フォーム閉じる」ボタンのプロパティを表示。
2.先ほどと同じようにイベントプロシージャを開く。▼→[...]
3.プログラムが表示されたら "Private Sub 表紙フォーム閉じる_Click()" が
2箇所以上ないか確認してください。
4.2箇所以上あれば、1箇所を残して "Private Sub 表紙フォーム閉じる_Click()" から
"End Sub"までを削除します。
この「2箇所以上」ですが、いままでshockerさんが「表紙フォーム閉じる」という名前のボタンを作った数だけあると思います。
上から下までじっくり眺めて探してみてください。
>この後他のボタンを押しても同じエラー表示が出てしまいます。
ということですが、これも同様です。
その "エラーが出るボタン名_Click()" がいくつもありませんか…?
その場合も上と同じように、1箇所を残して"Private Sub エラーが出るボタン名_Click()" から "End Sub"までを削除して下さい。
本当に何度も有難うございます。
>"Private Sub 表紙フォームを閉じる_Click()"
で始まるプログラムがいくつかあるのではないでしょうか?
おっしゃるとおりでした。
ご指示通りプログラムを削除してボタンを作り直したらうまくいきました!
しかし、なぜはじめにエラーが出たんでしょうか?
やはり無反応だったときに既に完成していたが、たまたま動かなかったとか・・・?
そもそもこの「イベントプロージャー」というやつを理解するにはVBAまで勉強しないとだめということですよね?
できればもう一度だけお返事をいただけるとうれしいです。
とにかくまず教えて頂いたwebでまず勉強してみます。
本当に有難うございました。
No.4
- 回答日時:
>しかし、なぜはじめにエラーが出たんでしょうか?
>やはり無反応だったときに既に完成していたが、たまたま動かなかったとか・・・?
無反応、ということは…
プログラムに書かれたボタンの名前と、実際のボタンの名前が違ったとか…?
ウィザードでボタンを作った後、ボタンの名前だけ変えませんでしたか?
そうすると、新しい名前になったボタンの名前が含まれるプログラムがないわけで、
無反応になってしまうかな…という気がします。
>そもそもこの「イベントプロージャー」というやつを理解するには
>VBAまで勉強しないとだめということですよね?
マクロを使う方法もあり、その方が簡単だという人もいます。
私はVBAの方が好きなのでVBAを使ってますが…。
(思いついたときにチョコチョコっと書き足せるので…^^;)
まずは今回のようにボタン(開く、閉じる、検索etc.)を作るとか、
カーソルがあるところの色を変えるとか小技を楽しんでいると、
いつの間にかいろいろできるようになって楽しいですよ!
ご紹介したサイトではマクロもVBAも扱ってますから、
両方使ってみてご自分にあった方を使っていけば良いかと…。
私もまだまだ勉強しなくては!
それではご検討をお祈りしております。
何度もお付き合い頂き有難うございます。
無反応の原因は解らずじまいですが、同じようなトラブルに遭遇したらこの「イベントプロージャー」を確認してから削除などするようにしたいと思います。
今回の簡単な(私にとっては難しいのですが)問題が解決しただけで何だか楽しい気分です。
また、ご紹介いただいたURLも今みていますが、解りやすくますますAccessにはまりそうです。
この度は本当に有難うございました!!
No.2
- 回答日時:
#1です。
>ただ表紙を閉じるためのボタンを入れたのですがボタンを押しても表紙フォームが閉じません。
フォームをデザインモードで開いて、閉じるボタンを右クリック→プロパティを開きます。
イベントタブの "クリック時" にカーソルを合わせると、▼ボタンと...ボタンが出ますよね?
まず、▼ボタンを押して[イベントプロシージャ]を選び、そのまま...ボタンを押します。
そうすると、
----------------
Private Sub コマンド0_Click()
End Sub
----------------
という画面が出ます。
(コマンド0の部分は違うものになっているかもしれません。)
そこを、
----------------
Private Sub コマンド0_Click()
DoCmd.Close
End Sub
----------------
のように書いてフォームを保存してください。
これでどうでしょうか?
何度もすいません。
ボタンを作り直したらエラーメッセージが出るようになりました。
内容は下記の通りです。
------------------------------------------------
イベント プロパティーに指定した式 クリック時でエラーが発生しました:名前が適切ではありません:表紙フォームを閉じる_click
*マクロ名、ユーザー定義関数名、「イベントプロージャー」以外の式が指定されています。
*関数、イベント、マクロの評価でエラーが発生しました。
------------------------------------------------
教えていただいた「イベントプロージャー」のところは下記のとおりになっていました。
----------------------------------------------
Private Sub 表紙フォームを閉じる_Click()
On Error GoTo Err_表紙フォームを閉じる_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(-30616) & ChrW(32025)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_表紙フォームを閉じる_Click:
Exit Sub
Err_表紙フォームを閉じる_Click:
MsgBox Err.Description
Resume Exit_表紙フォームを閉じる_Click
End Sub
------------------------------------------------
この後他のボタンを押しても同じエラー表示が出てしまいます。
閉じるボタンを削除してもエラー内容は変わりません。
何度もすいませんが宜しくお願いします。
No.1
- 回答日時:
こんにちは。
エラーが出るとのことですが、そのエラーはどのようなものでしょうか?
なにかエラーメッセージは出ませんか?
> 顧客管理や商品管理など行ううえでステップアップしやすい参考書籍・webなど…
ご存知かもしれませんが、「魔法使いの開発工房」はとても読みやすくわかりやすいですよ。
Access2002とのことですが、97のコーナーも2000のコーナーも役に立つと思います。
参考URL:http://www.mahoutsukaino.com/
早速の回答有難うございます。
すいません、何度かやり直していたら動くようになりました。(原因は不明です・・・)
ただ表紙を閉じるためのボタンを入れたのですがボタンを押しても表紙フォームが閉じません。
エラーメッセージも出ず、無反応の状態です。
もし解れば教えて下さい。
参考URL有難うございます。
これからじっくり見てみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- Access(アクセス) Accessに関する質問です。 クエリーQ出勤 からフォームF出勤を作成 フォームは分割フォームで作 1 2023/05/26 08:57
- Access(アクセス) Accessで独自メニューバーまたはリボンを作成したい 1 2022/12/02 14:31
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS フォームでの、データ...
-
EXCEL VBAのユーザーフォームに...
-
Accessでaccdeへ変換で機能しない
-
【EXCEL】UserFormで入力して ...
-
アクセスで「モジュールがあり...
-
ACCESS フォームで、ボタンの...
-
ExcelVBAでセルをクリックして...
-
ExcelVBAで指定外のUserFormを...
-
ユーザーフォームに入力したデ...
-
Access レポート印刷するときに...
-
レコードを保存するコード ア...
-
データベースのINT型項目にNULL...
-
エクセルをACCESSのレポ...
-
「フォームを作成できませんで...
-
YahooのIDがロックされてしまい...
-
クエリで出来た表にチェックボ...
-
Excelで入力したデータを自動的...
-
ACCESSでコントロールソースの変更
-
新規レコード行を非表示にしたい
-
アクセスでフォームビューがみ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBAのユーザーフォームに...
-
ExcelVBAでセルをクリックして...
-
エクセルVBA オプションボタ...
-
エクセルVBAからアクセスフ...
-
アクセスで「モジュールがあり...
-
ACCESS フォームでの、データ...
-
JW-CADのAutoモードの解除はで...
-
コマンドプロンプト使用時に「'...
-
Accessでaccdeへ変換で機能しない
-
Accessでエラーメッセージの表...
-
ユーザーフォームのスクロール...
-
標準モジュールだとエラーにな...
-
ACCESS カンマをスペースに置...
-
ACCESS フォームで、ボタンの...
-
Notesでアンケートをとりたい
-
アクセスで検索ボタンを作りた...
-
jw-win CAD のコマンドの操...
-
アクセスでテキストボックスに...
-
Access VBAによるフォームの色...
-
access の 閉じるボタンを無効...
おすすめ情報