Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1879 / 2272 ツリー ←次へ | 前へ→

【4817】ボタンの使い方 takataka 05/4/6(水) 12:11 質問[未読]
【4818】Re:ボタンの使い方 クロ 05/4/6(水) 12:45 回答[未読]
【4820】Re:ボタンの使い方 takataka 05/4/6(水) 14:02 質問[未読]
【4821】Re:ボタンの使い方 hatena 05/4/6(水) 14:30 回答[未読]
【4828】Re:ボタンの使い方 takataka 05/4/6(水) 23:26 質問[未読]
【4829】Re:ボタンの使い方 hatena 05/4/7(木) 0:25 回答[未読]
【4831】Re:ボタンの使い方 takataka 05/4/7(木) 1:41 お礼[未読]
【4822】Re:ボタンの使い方 クロ 05/4/6(水) 14:47 回答[未読]

【4817】ボタンの使い方
質問  takataka  - 05/4/6(水) 12:11 -

引用なし
パスワード
   一度 ボタンをクリックした場合 該当フォームを開いてもそのボタンは使用
出来ない様な方法はありますか?
enabledなど試みたのですが上手くいかなかったので投稿しました。

【4818】Re:ボタンの使い方
回答  クロ  - 05/4/6(水) 12:45 -

引用なし
パスワード
   一度別のコントロールに逃がしてからEnabledをしてみては?
※別のコントロールがあればの話だけど...

Me.別のコントロール.SetFocus
Me.コマンドボタン.Enabled = False

【4820】Re:ボタンの使い方
質問  takataka  - 05/4/6(水) 14:02 -

引用なし
パスワード
   ご返答有難うございます。
できましたが、一度フォームを閉じて再度開くとボタンが使用可にしまいます。
この様な状況でも使用不可にできますでしょうか?
▼クロ さん:
>一度別のコントロールに逃がしてからEnabledをしてみては?
>※別のコントロールがあればの話だけど...
>
>Me.別のコントロール.SetFocus
>Me.コマンドボタン.Enabled = False

【4821】Re:ボタンの使い方
回答  hatena  - 05/4/6(水) 14:30 -

引用なし
パスワード
   ▼takataka さん:
>ご返答有難うございます。
>できましたが、一度フォームを閉じて再度開くとボタンが使用可にしまいます。
>この様な状況でも使用不可にできますでしょうか?

ボタンのあるフォームを閉じて再度開いても、該当フォームが開いている場合は、
使用不可にしたいということですね。

フォームを開くときに、該当フォームが開いているかどうかチェックして
開いていれば、使用不可にすればいいですね。

Me!ボタン.Enabled = Not CurrentProject.AllForms("該当フォーム").IsLoaded

とか、

Me!ボタン.Enabled = SysCmd(acSysCmdGetObjectState,acForm,"該当フォーム") = 0

【4822】Re:ボタンの使い方
回答  クロ  - 05/4/6(水) 14:47 -

引用なし
パスワード
   フォームを開く時のイベントに
Me.コマンドボタン.Enabled = False
とすればいいのですが...

逆にどのタイミングで使用可能にしたいのでしょうか?
デフォルトでコマンドボタンプロパティの「使用可能」を「いいえ」にして
何かのタイミングで使用可能にした方がいいのでは?

【4828】Re:ボタンの使い方
質問  takataka  - 05/4/6(水) 23:26 -

引用なし
パスワード
   ご返答有難うございます。
該当テーブル 2レコード内に特定条件に該当するレコードあったら使用不可などできますか?
現在ifを使用してやっているのですが上手く行かないので…
例えば 当日日付 が該当テーブルにあればボタンは表示しない。といった感じです。
▼hatena さん:
>▼takataka さん:
>>ご返答有難うございます。
>>できましたが、一度フォームを閉じて再度開くとボタンが使用可にしまいます。
>>この様な状況でも使用不可にできますでしょうか?
>
>ボタンのあるフォームを閉じて再度開いても、該当フォームが開いている場合は、
>使用不可にしたいということですね。
>
>フォームを開くときに、該当フォームが開いているかどうかチェックして
>開いていれば、使用不可にすればいいですね。
>
>Me!ボタン.Enabled = Not CurrentProject.AllForms("該当フォーム").IsLoaded
>
>とか、
>
>Me!ボタン.Enabled = SysCmd(acSysCmdGetObjectState,acForm,"該当フォーム") = 0

【4829】Re:ボタンの使い方
回答  hatena  - 05/4/7(木) 0:25 -

引用なし
パスワード
   >該当テーブル 2レコード内に特定条件に該当するレコードあったら使用不可などできますか?
>現在ifを使用してやっているのですが上手く行かないので…
>例えば 当日日付 が該当テーブルにあればボタンは表示しない。といった感じです。

DLookup関数やDCount でレコードの存在チェックをすればどうでしょうか。



Me!ボタン.Enabled = _
IsNull(DLookUp("日付","テーブル","日付=#" & Format(Date(),"yyyy/mm/dd") & "#"))

【4831】Re:ボタンの使い方
お礼  takataka  - 05/4/7(木) 1:41 -

引用なし
パスワード
   早急なご返答有難うございます。
レコードカウントで存在を確認し確認できました。有難う御座いました。
今後も宜しくお願いします。

▼hatena さん:
>>該当テーブル 2レコード内に特定条件に該当するレコードあったら使用不可などできますか?
>>現在ifを使用してやっているのですが上手く行かないので…
>>例えば 当日日付 が該当テーブルにあればボタンは表示しない。といった感じです。
>
>DLookup関数やDCount でレコードの存在チェックをすればどうでしょうか。
>
>例
>
>Me!ボタン.Enabled = _
> IsNull(DLookUp("日付","テーブル","日付=#" & Format(Date(),"yyyy/mm/dd") & "#"))

1879 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078263
(SS)C-BOARD v3.8 is Free