dポイントプレゼントキャンペーン実施中!

ACCESSのリストボックスの値を固定したいのですが。
フォームをつくり、リストボックスで、担当者を入れるようにしました。
データを更新する度に、担当者を選ばなければいけません。
最初に選んだ担当者を、その後も表示させるにはどうすればいいのでしょうか?
既定値に、担当者を入れる以外に方法はあるでしょうか?

A 回答 (3件)

> 既定値に、担当者を入れる以外に方法はあるでしょうか?



『予め、テーブル/フォームのデザインビューで既定値を設定』では
なく、『フォームでの入力時に、その値を既定値に設定』という
方法もありますが、それではいかがでしょうか。

1)当該フォームをデザインビューで開く
2)当該リストボックスをダブルクリックするなどして、同リストボックス
 のプロパティシートを開く
3)『イベント』タブの『更新後処理』にカーソルを移動すると、右端
 に『...』(ビルダ)ボタンが表示されるので、それをクリック
4)『ビルダの選択』ダイアログが開くので、マクロで対応するなら
 「マクロ ビルダ」を、VBAで対応するなら「コード ビルダ」をダブル
 クリック
5-a)マクロの場合は、マクロに以下の一行を追加:
 アクション: 値の代入
 アイテム: Forms!(フォーム名)!(リストボックス名).DefaultValue
 式: Nz(Forms!(フォーム名)!(リストボックス名), "")
 ※フォーム名、リストボックス名には、実際の名前を指定します。
  (その際、「( )」は無用です。また、入力後は角括弧が自動で
  追加されます)
5-b)VBAの場合は、以下のコードを記述:

Private Sub リストボックス名_AfterUpdate()
'エラー発生時は「エラー処理」の行に飛ばす
On Error Goto エラー処理

  'マウスなどで入力した値を、既定値に設定
  '(値を削除した場合は、既定値の設定を解除)
  リストボックス名.DefaultValue =Nz( リストボックス名, "")

終了処理:
  '処理を終了(エラー処理に入るのを避ける)
  Exit Sub
エラー処理:
  'エラー内容をメッセージボックスで表示して処理を中止
  MsgBox Err.Number & ":" & Err.Description, , Me.Name & " リストボックス"
  Resume 終了処理
End Sub

6)フォーム(及びマクロ)を保存


・・・以上です。
既定値(DefaultValue)にはNull(空白)を指定できないため、
Nz関数による空文字("":Nullとは別の空白)への変換を
加えています。
(リストボックスではNullの代入は、まずあり得ないと思います
 が、テキストボックスやコンボボックスなどに応用した場合の
 参考までにということで・・・)

なお、念のためですが、『既定値』は、あくまで「新規レコードの
追加時」にのみ適用されます。
「既存レコードの連続編集時」には無効ですので、ご質問の
意図がそのような状況のためのものでしたら、ご容赦下さい。
(この場合は、「前レコードと同じ値に変更するのか、古い値の
 ままでいいのか」をAccess側に判断させることはできないので、
 プログラムのみでの対処はできないと思います:
 「常に上書き」等、一方に決めてよい場合のみ可能、と)
    • good
    • 0
この回答へのお礼

ありがとうございます。
内容は、私には難しいですが、詳しい説明のとおりしたら出来ました。
まさに、求めていた答えです。
ありがとうございました。

お礼日時:2010/04/21 10:45

データをaddした後に


リストボックス名=担当者名 でできます。

テーブルを使用している場合はフィールドを1つ増やし選択された場合に
データ(数字など)を変更し
変更した担当者以外は空白にするなどすれば
次にフォームを開いたときに空白でないデータの担当者を選のはどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
>リストボックス名=担当者名 でできます。
マクロかなにかを使うのでしょうか?

お礼日時:2010/04/20 22:14

毎回、同じ名前の担当者を入力するのですか?


それとも、毎回入力するのがわずらわしいのですか?

同じ名前を入力するのであれば、既定値に入力しておけば良いと思います。

担当者が複数いる場合であればコンボボックスを使い、そこから名前を選択するやり方にすれば簡単です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
伝票入力者が担当者と言うのを想定しています。
コンボボックスでも、入力の度に選ぶ必要がありませんか?

お礼日時:2010/04/20 22:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A