
先ほど立てたものですが、第二段です。先ほどは詳しい説明ありがとうございした。しかし、【Private Sub form_open(Cancel AS Integer)】のCancelの使い方が今一分りません。下の文を見ていただきたいのですが、
★[F_顧客]フォームでは、OPENARGS引数で受け取った値を利用して、フォーム
の[票題]プロパティを変更する処理を行います。
Private Sub form_open(Cancel AS Integer)
'OPENARGSプロパティによって[標題]プロパティを変更
Select Case Me.OPENARGS
Case "追加"
ME.Caption="F_顧客(追加モード)"
Case "編集"
ME.Caption="F_顧客(編集モード)"
Case Else
ME.Caption="F_顧客"
End Select
End Sub
例えば、上記の場合などはなぜキャンセルが必要なのでしょうか・・・。
初心者のため、どなたか細かくご説明いただければたすかります。
m(__)m
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
「Cancel」について、WEBを検索して参考になりそうなものを拾いました。
Integer(1等)で設定するものと、Boolean(True,false)とあります。
-----
ThisWorkbookのコード画面で下記のように記述することになります。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = True
End Sub
このマクロがあると、ブックを閉じるイベントが発生しなかったかのようになります
ThisWorkbookのコード画面で下記のように作成すれば、ユーザーの操作は勿論、マクロからでも、ブックは閉じれなくなります。 Cancel = 1 を消さない限り、パソコンの再起動が必要になるでしょう。
'-----------------
' ブックを閉じれないようにするイベントマクロ
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = 1 'キャンセルする
End Sub
--------
イベントプロシージャのCancel引数をTrueに設定する。このことにより、このBeforeInsertイベントの発生はキャンセルされ、レコードの追加が行われなくなる。
-------
下記の中で「cancel」で検索しその前後を読んで下さい。
http://ws.31rsm.ne.jp/~pension/access/ota2001/81 …
http://www.moug.net/mmaga/main_magbn112.htm
http://rose.ruru.ne.jp/dst/text/Access3/Access3. …
http://homepage2.nifty.com/housaka/excel/vbafaq0 …
http://www.asahi-net.or.jp/~ZN3Y-NGI/YNxv9d5.html
http://www.moug.net/mmaga/main_magbn060.htm
No.4
- 回答日時:
こんばんは。
皆さんが言われている通り、
Private Sub form_open(Cancel AS Integer)
は、フォームをオープンする時のイベントプロシージャの仕様なのです。
Cancel という引数を必ず使わなければならない事はありません。
ところで、こちらのサイトの真中より少し下の「"開く時"と"読み込み時"はどう使い分ける?」
のところにこのプロシ-ジャの説明がありましたのでご覧下さい。
http://homepage1.nifty.com/tsware/study/vol5/eve …
概略説明しますと、このプロシージャの中で、Cancelの値を"True"に設定すると
フォームを開かなくする事ができるということです。
ここのあたりをよく読んでみてください。
参考URL:http://homepage1.nifty.com/tsware/study/vol5/eve …
No.3
- 回答日時:
#1です。
追記です。
必要ないからといって、(Cancel AS Integer) を削除してはいけません。
これは決まっています。
必要なければ無視してください。
このままフォームをオープンさせてはいけないわ!というときに使ってください。
No.2
- 回答日時:
Form_Openイベントプロシージャの引数[Cancel]は、そのイベントプロシージャ内で使おうと使わなかろうとイベントプロシージャの「仕様」なのです。
「Private Sub Form_Open(Cancel As Integer)」
という書き方はMicrosoftが決めた書き方なのです。
私は[Cancel]を使用したことがありませんが、「条件によってはフォームを開かせないこともあるだろう」という配慮から用意された引数なのです。
使わないならそのままにして大丈夫です。
No.1
- 回答日時:
こんばんは。
キャンセルが必要かどうかは、あなたが決めればよいことです。
たとえば、
>Case Else
>ME.Caption="F_顧客"
とありますが、これを
Case Else
Cancel = True
とすれば、追加、編集以外の値が渡ったときは、フォームがオープンされません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Excel VBAで「プログラム実行」...
-
Access VBAで行ラベルが定義さ...
-
ACCESS マクロをモジュールに変...
-
Accessでグローバル変数を宣言...
-
OutlookVBAで作成したマクロに...
-
【Excel VBA】 WorksheetやRa...
-
エクセルVBAでUserFormを起動し...
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
callで順に実行されるプロシー...
-
PL/SQLのエラーについて
-
DB2でのストアドプロシージャの...
-
エクセルのファイルを自動でFTP...
-
アクセスvba [イベント プロシ...
-
VBA 「文字が入っていたら、...
-
vbaでブックを開いたときにコン...
-
SQL ServerのストアドでUPDATE...
-
VBA プロシージャの名前の取得
-
日付型カラムへのデータINSERT
-
今日の日付が入った行のデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
callで順に実行されるプロシー...
-
Excel VBAで「プログラム実行」...
-
【Excel VBA】 WorksheetやRa...
-
OutlookVBAで作成したマクロに...
-
Accessでグローバル変数を宣言...
-
或るプロシージャの呼び出し元判定
-
VBA プロシージャの名前の取得
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
excel/vba/public変数
-
ACCESS2007インポート時の空白...
-
PL/SQLのエラーについて
-
ACCESS マクロをモジュールに変...
-
エクセルVBAが対応できるプログ...
-
DB2でのストアドプロシージャの...
-
エクセルVBAの次のコードの...
-
Excel:ThisWorkbookオブジェク...
-
アクセスのVBについて
おすすめ情報