Access VBA質問箱 IV

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

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


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

【5893】コンボボックスの編集不可&ヘッダ、フッタの境 su 05/8/17(水) 23:03 質問[未読]
【5895】Re:コンボボックスの編集不可&ヘッダ... ちゅう吉 05/8/18(木) 7:59 回答[未読]
【5915】Re:コンボボックスの編集不可&ヘッダ、... su 05/8/18(木) 19:16 質問[未読]
【5916】Re:編集不可 ちゅう吉 05/8/18(木) 21:13 回答[未読]
【5917】Re:編集不可 su 05/8/18(木) 21:33 お礼[未読]
【5935】Re:編集不可 05/8/20(土) 10:18 質問[未読]
【5938】Re:編集不可 ちゅう吉 05/8/20(土) 23:45 発言[未読]

【5893】コンボボックスの編集不可&ヘッダ、フ...
質問  su  - 05/8/17(水) 23:03 -

引用なし
パスワード
   こんばんは。
VBAとは異なるかも知れませんがどなたか教えてください。

1.コンボボックスで選択するフォームの場合、選択後、編集できないように
したいのですが、どのような設定をしたらよいのでしょうか?
プロパティの「使用可能」や「編集ロック」をすると選択ができなくなるので他に良い方法はありますか?

2.同じくフォームでページヘッダ、詳細、ページフッタでビューした場合、この3点の境線をなくしたいのですが、どこをどうしたらいいのでしょうか?

宜しくお願い致します。

【5895】Re:コンボボックスの編集不可&ヘッダ...
回答  ちゅう吉  - 05/8/18(木) 7:59 -

引用なし
パスワード
   A1.
人によったり、仕様によったり、変わるんでしょうけど、自分なら・・・
「コンボ編集する」というボタンを作成し、このボタンを押した時に、
[コンボの名前].Enabled = True
としたりするでしょうね。

A2.
ACCESS2000では、フォーム自体の書式プロパティの
「区切り線」を「いいえ」にします。

【5915】Re:コンボボックスの編集不可&ヘッダ...
質問  su  - 05/8/18(木) 19:16 -

引用なし
パスワード
   こんばんは。
表現がまずかったようで、すいません。
コンボボックスの編集不可と言うよりは正しくはレコードの編集不可です。
入力用のフォームを開いたときに一応新規レコードに切り替えるトグルボタンは入れてるのですが、最初にこのフォームを開いたときに通常、1番目のレコードが表示されますよね?その内容を書き変えられないようにしたいのです。
絶対一度や二度「新規レコード切り替え」ボタンを押さずに誤って1番目のレコードをいじってしまう人がでてくると思うんですよ。
何かいい方法ないですか?

ちゅう吉さん
A2:access97なのですが、同じく設定できるのかやってみます。
 家パソはACCESSが無いので、会社で試してみます。
 ありがとうございました。


>1.コンボボックスで選択するフォームの場合、選択後、編集できないように
>したいのですが、どのような設定をしたらよいのでしょうか?
>プロパティの「使用可能」や「編集ロック」をすると選択ができなくなるので他に良い方法はありますか?
>

>宜しくお願い致します。

【5916】Re:編集不可
回答  ちゅう吉  - 05/8/18(木) 21:13 -

引用なし
パスワード
   [A.1]
>コンボボックスの編集不可と言うよりは正しくはレコードの編集不可です。
>入力用のフォームを開いたときに一応新規レコードに切り替えるトグルボタンは入れてるのですが、最初にこのフォームを開いたときに通常、1番目のレコードが表示されますよね?その内容を書き変えられないようにしたいのです。

やり方は何種類か方法があります。

*** Ex.1 ***
フォーム自体の「データ」-「更新の許可」「削除の許可」プロパティを「いいえ」にして
ボタンをクリックしたときに

Private Sub コマンド_Click()
Me.AllowDeletions = True
Me.AllowEdits = True
End Sub

とする。

*** Ex.2 ***
フォームを開く時に

Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord acActiveDataObject, , acNewRec
End Sub

として、新規レコードに飛ばす。

とか・・・・・・


[A.2]
>access97なのですが、同じく設定できるのかやってみます。

ACCESS97でもOKのようです。


#2度手間をなくするため、あらかじめVersion表記をしましょう。

【5917】Re:編集不可
お礼  su  - 05/8/18(木) 21:33 -

引用なし
パスワード
   ちゅう吉さん

念のため両方の設定を試してみたいと思います。
Ver表記の件、以後気をつけます。
ありがとうございました。

【5935】Re:編集不可
質問    - 05/8/20(土) 10:18 -

引用なし
パスワード
   ちゅう吉さん

何度も申し訳ありません。

>A2.ACCESS2000では、フォーム自体の書式プロパティの
>「区切り線」を「いいえ」にします。
>ACCESS97でもOKのようです。

→97の書式プロパティを見てみましたが、「区切り線」という項目がありませんでした。「フォーム自体」とのことなので、フォームを閉じて右クリ→プロパティを開くと、タブが無い表示になります。ヘッダ、詳細、フッダのプロパティは書式タブはありますが、「区切り線」というのはありません。


>[A.1]
>>コンボボックスの編集不可と言うよりは正しくはレコードの編集不可です。
>>入力用のフォームを開いたときに一応新規レコードに切り替えるトグルボタンは入れてるのですが、最初にこのフォームを開いたときに通常、1番目のレコードが表示されますよね?その内容を書き変えられないようにしたいのです。
>
>*** Ex.2 ***
>フォームを開く時に
>
>Private Sub Form_Open(Cancel As Integer)
>DoCmd.GoToRecord acActiveDataObject, , acNewRec
>End Sub
>
>として、新規レコードに飛ばす。
>

→EX2の方法にしたいのですが、このマクロをどこに入れればいいのでしょうか?
コードビルダから入ると、別のマクロの下に表示されて、この作業が動きません。
二つ目以降のマクロを一つのオブジェクト(今はフォーム)に組み込む場合は
どうすればよいのでしょうか?
アクセスに関して1.マクロとモジュール2.ビルダ(式ビルダは関数を入れるのはわかるのですが、マクロビルダとコードビルダが?です)理解できてません。excelのようにモジュール別にマクロを管理できるのでしょうか?
初歩的なことで申し訳ありませんが、この点についても教えていただけませんか?

【5938】Re:編集不可
発言  ちゅう吉  - 05/8/20(土) 23:45 -

引用なし
パスワード
   え〜と・・・
この元の質問者は「su」さんですが・・・


>→97の書式プロパティを見てみましたが、「区切り線」という項目がありませんでした。「フォーム自体」とのことなので、フォームを閉じて右クリ→プロパティを開くと、タブが無い表示になります。ヘッダ、詳細、フッダのプロパティは書式タブはありますが、「区切り線」というのはありません。

回答も端折ってた部分があるので、もっと詳しく書きましょう。
1)対象となるフィームを「デザイン」で開きます。
2)そのまま、メニューバーより [表示(V)]-[プロパティ(P)]で
 プロパティのダイアログが表示されます。
 (逆に元々表示されていれば消えます)
 これを、フォーム自体のプロパティと表現していました。
 わかりにくくて、すみませんでした。
3)このプロパティの「書式」タブの上から7番目に「区切り線」プロパティがあります。
4)これを「いいえ」にしてください。

>>*** Ex.2 ***
>>フォームを開く時に
>>
>>Private Sub Form_Open(Cancel As Integer)
>>DoCmd.GoToRecord acActiveDataObject, , acNewRec
>>End Sub
>>
>>として、新規レコードに飛ばす。
>>
>
>→EX2の方法にしたいのですが、このマクロをどこに入れればいいのでしょうか?
>コードビルダから入ると、別のマクロの下に表示されて、この作業が動きません。
>二つ目以降のマクロを一つのオブジェクト(今はフォーム)に組み込む場合は
>どうすればよいのでしょうか?
>アクセスに関して1.マクロとモジュール2.ビルダ(式ビルダは関数を入れるのはわかるのですが、マクロビルダとコードビルダが?です)理解できてません。excelのようにモジュール別にマクロを管理できるのでしょうか?
>初歩的なことで申し訳ありませんが、この点についても教えていただけませんか?

マクロビルダがマクロを記述作成し、
コードビルダがVBAを記述します。

このBBSのタイトルが「Access VBA質問箱 IV」となっていたのでVBAで表記しています。
マクロではありません。
詳細は・・・
1)フィームを「デザイン」で開きます。
2)そのまま、メニューバーより [表示(V)]-[プロパティ(P)]で
 プロパティのダイアログが表示されます。
 (逆に元々表示されていれば消えます)
3)このプロパティの「イベント」タブの上から9番目に「開く時」プロパティがあります。
4)コードビルダを選択しすると、このフォームのクラスモジュールというウィンドウが表示され、勝手に

Private Sub Form_Open(Cancel As Integer)
←この位置でカーソルが点滅
End Sub

と表示されるので、カーソルが点滅に

DoCmd.GoToRecord acActiveDataObject, , acNewRec

の1文を入力します。

これの意味はよろしいですか?
ちなみに
「現在の使用中のオブジェクト(ここでは自フォーム)で新しいレコードへ
 レコード移動する命令を実行します」
です。


PS.
逆に自分はExcelが詳しくないので、内容をExcelに例えられても分かりかねます。
申し訳ありません。

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