
No.5ベストアンサー
- 回答日時:
>設定は、オブジェクトのマクロから設定は出来ないのでしょうか?
すいません。マクロほとんど使わないので不明です。
クリアするのはボタンのイベントにあるクリック時にコピーすれば出来ます。
フォームをデザインビューで開きツールからボタンを選んでフォーム上に配置するとウィザードが開きます。
フォームを閉じるボタンを作ります。
そのボタンのイベントのクリック時にイベントプロシージャが出来ていますので右側にある...のボタンをクリックするとVBが開きフォームを閉じる記述にカーソルがあります。下記の記述になっているはずです。
Private Sub ボタン名_Click()
On Error GoTo Err_ボタン名_Click
DoCmd.Close
Exit_ボタン名_Click:
Exit Sub
Err_ボタン名_Click:
MsgBox Err.Description
Resume Exit_ボタン名_Click
End Sub
この記述のDoCmd.Closeの前に下記を追加(コピーで可能)します。
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
Private Sub ボタン名_Click()
On Error GoTo Err_ボタン名_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70 '←ここに
DoCmd.Close
Exit_ボタン名_Click:
Exit Sub
Err_ボタン名_Click:
MsgBox Err.Description
Resume Exit_ボタン名_Click
End Sub
これでVBを閉じてフォームを保存すれば出来ます。
>そのフォームを閉じ住所の検索フォームをもう一度開きたかったのです
上記の記述に
stDocName = "検索フォーム名"
DoCmd.OpenForm stDocName, , , stLinkCriteria
を追加します。
Private Sub ボタン名_Click()
On Error GoTo Err_ボタン名_Click
stDocName = "検索フォーム名" '←ここに
DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
DoCmd.Close
Exit_ボタン名_Click:
Exit Sub
Err_ボタン名_Click:
MsgBox Err.Description
Resume Exit_ボタン名_Click
End Sub
上記をボタンのイベントのクリック時にコピーしてください。
No.4
- 回答日時:
>検索フォームに戻ろうとしたら
戻るとはフォームを閉じるのでしょうか?
フォームをどのように戻る?閉じている?のか不明ですが・・
閉じるボタンを作ってエラーなく閉じれないでしょうか?
閉じれない場合フォーム上で代入されたレコードをクリアさせてから閉じればエラーは出ないはずです。
例えばフォーム上をクリアするボタンを作りクリックした後閉じるようにすればエラーはでないと思います。
クリアするボタンをCmd1として
Private Sub Cmd1_Click()
On Error GoTo Err_Cmd1_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
Exit_Cmd1_Click:
Exit Sub
Err_Cmd1_Click:
MsgBox Err.Description
Resume Exit_Cmd1_Click
End Sub
もしくはクリアしてフォームを閉じるボタンを作る
Private Sub Cmd1_Click()
On Error GoTo Err_Cmd1_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
DoCmd.Close
Exit_Cmd1_Click:
Exit Sub
Err_Cmd1_Click:
MsgBox Err.Description
Resume Exit_Cmd1_Click
End Sub
この記述をボタンのクリック時のイベントにコピーすればいけると思います。
できれば質問は1つにしてください。(^_^;
この回答への補足
すみません。
色々触っていたら、分かった気がします。
何とか閉じれたのですが、そのフォームを閉じ、住所の検索フォームをもう一度開きたかったのです。
すみませんが、その方法だけ教えていただけますか?
ありがとうございます。
>できれば質問は1つにしてください。(^_^;
そうですよね。本当にすみません。
本当に申し訳ないのですが、この質問だけ教えていただけますか?
>戻るとはフォームを閉じるのでしょうか?
そうです。閉じようとするとエラーが発生します。
『保存できません』と。
フォーム上で代入されたレコードを全てクリアさせてから閉じたいのですが、それが分からなくて。
上記の記述どこに入力したらいいのでしょうか?
すみません、初心者なもので、そう言う言語??使ったこと無くて。
ページやモジュールとかは使い方知りません。
上記の設定は、オブジェクトのマクロから設定は出来ないのでしょうか?
何度も何度も申し訳ありません。
No.3
- 回答日時:
>検索したい名前を入れた後、その名前の人が数人・・
>戻れるようなマクロの中のアクションは何かあるの・・
マクロでもレコードの移動で前のレコードを指定できます。
しかし色々マクロを実装してレコードを前後していくより抽出フォームのテキストボックスを抽出条件にし検索するクエリを作りマクロで開きそのクエリを元にした一覧フォームで表示する方が検索されたレコードを全て見れるし、そのレコードをクリックすると住所等の詳細が見れるフォームを表示するように作った方がシステムっぽいと思います。まァこれはその人個人の好みですが・・。
もしそのようにしてみようと思ったら試してみてください。一覧フォームは帳票フォームで作ればフォームを開くボタンの作成など簡単です。
有難うございます。
レコードの移動で出来ました。
本当に助かりました。
帳票フォームで以前作ったのですが、色々考えた結果今のやり方のほうが私自身やりやすいと思い作っています。
すみませんが、もう一つ聞いてもいいですか?
住所を検索してその人について詳しく書くフォーム(詳細フォーム)を別に作っています。
値の代入で、住所のNo.をその詳細フォームの住所No.に代入する形でマクロを組んでいます。
ちゃんと代入してくれるのですが、「間違えた!」と思い、検索フォームに戻ろうとしたら
『フィールド’種類ID’キーが一致しているレコードをテーブルT_種類’で探すことが出来ません』
と出てきます。多分これは何も入力してなくて、Nullを受け入れてもらえないのかと思います。
出来たらこのエラーを出てこないようにして戻りたいのですがどうしたらいいのでしょうか?
よろしくお願いします。
No.2
- 回答日時:
マクロで検索フォームを開くとき
Function マクロ1()
On Error GoTo マクロ1_Err
DoCmd.OpenForm "検索フォーム名", acNormal, "", "", , acNormal
マクロ1_Exit:
Exit Function
マクロ1_Err:
MsgBox Error$
Resume マクロ1_Exit
End Function
上記で単純に検索フォームを開きます。
メインフォームから検索フォームを開くマクロを確認してみてください。どの様に開いているのか。
有難うございます。
出来ました。
メインフォームから検索フォームを開くときのマクロのデーターモードが『読み取り専用』になっていました。
それで文字がメインフォームか検索フォームを開いたとき出来なかった様です。
後、もう一つお聞きしたい事があります。
検索したい名前を入れた後、その名前の人が数人いたとします。
苗字だけで検索し、次を検索すると出てくるように、マクロのアクションで『次を検索』を選んでしますが、それだと次へは検索できますが、行き過ぎたと思っても戻ることが出来ません。
戻れるようなマクロの中のアクションは何かあるのでしょうか?
No.1
- 回答日時:
フォームをどのように開いているのか不明ですが・・。
そのテキストボックスのプロパティを開らいた時、データにある使用可能は「はい」になっていますか?「いいえ」になっていますか?
フォームのコントロールの使用できるかできないかの制御の設定はそこなんですが。
この回答への補足
有難うございます。
使用可能は「はい」になっているのですが・・・。
>フォームをどのように開いているのか不明ですが・・。
そう言えば、直接住所登録のフォームを開いたときは入力出来るみたいです。
でもメインフォームから住所登録のフォームが開くようにし、開くと入力できないことが分かりました。
メインフォームに組み込んだマクロが何か影響しているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Chrome(クローム) ウェブで検索等の際の入力履歴を削除(消去)したい 1 2023/01/14 13:25
- Visual Basic(VBA) WordのVBAについて 5 2023/01/11 14:38
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Chrome(クローム) chromeの自動入力を編集(削除)したい 1 2022/07/03 18:23
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAでセルをクリックして...
-
コマンドプロンプト使用時に「'...
-
ACCESS カンマをスペースに置...
-
EXCEL VBAのユーザーフォームに...
-
エクセルVBA オプションボタ...
-
Accessでエラーメッセージの表...
-
Tex 可換図 包含関係の記号を...
-
Accessでaccdeへ変換で機能しない
-
JW-CADのAutoモードの解除はで...
-
ExcelVBAで指定外のUserFormを...
-
エクセルVBAからアクセスフ...
-
Access レポート印刷するときに...
-
アクセスで数値型のフィールド...
-
passwordが入れられません・・・・
-
データベースのINT型項目にNULL...
-
MSワード 年齢を計算表示でき...
-
レコードを保存するコード ア...
-
アクセスのレポート合成(複数...
-
エクセルをACCESSのレポ...
-
親フォームからサブフォームの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBAのユーザーフォームに...
-
ExcelVBAでセルをクリックして...
-
エクセルVBA オプションボタ...
-
エクセルVBAからアクセスフ...
-
アクセスで「モジュールがあり...
-
ACCESS フォームでの、データ...
-
JW-CADのAutoモードの解除はで...
-
コマンドプロンプト使用時に「'...
-
Accessでaccdeへ変換で機能しない
-
Accessでエラーメッセージの表...
-
ユーザーフォームのスクロール...
-
標準モジュールだとエラーにな...
-
ACCESS カンマをスペースに置...
-
ACCESS フォームで、ボタンの...
-
Notesでアンケートをとりたい
-
アクセスで検索ボタンを作りた...
-
jw-win CAD のコマンドの操...
-
アクセスでテキストボックスに...
-
Access VBAによるフォームの色...
-
access の 閉じるボタンを無効...
おすすめ情報