<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--本の貸し出しシステムを作る
  1 > 2 > 3 > 4



今誰が借りているか?という情報を、このフォームで知るためには、少し工夫が必要ですね。
まず、「今現在、誰が借りているのかわかればいい」のであれば、テーブルに「借りている人」の名前とかを入力できるようなフィールドをひとつ設けておけばいいと思います。

まあ、こんな感じで、追加して・・・。↑

フォームにも追加するとしましょう。
フィールドリストから簡単に追加できましたよね。



でも、こんな風↓に、「詳細」部分にラベルも並んじゃうので、

ラベルの方だけクリックして、キーボードからCtrlを押しながらXを押して切り取って、

ラベルだけ消えてなくなったら、ヘッダー部分をクリックして、Ctrlを押しながらVを押します。
右の端の方にラベルが現れると思いますんで、適当なところにドラッグしてきて位置を調節しましょう。

これで、「貸し出し」にチェックをつけるとき、必ず「借りている人」も入力し、チェックをはずしたら削除するようにすればいいですよね。



借りている人の名前とかじゃなくて、連絡先なんかも細かく知りたい、ということでしたら・・・。

利用者の一覧テーブルを作って、↑あらかじめ登録しておき、

貸し出し時に、会員番号や社員番号を言ってもらって入力するようにしてはどうでしょう。
で、後日、まだ返却してないぞ、こいつ、ということになったら・・・「借りている人」のテキストボックスのダブルクリック時に、連絡先や名前を表示させるようなイベントを作ってみてはどうでしょう。クリック時でもいいかもしれませんが必要ないときにもちらちら出てきちゃう可能性がありますから、どのイベントを利用するか考える余地がありそうです。

これで、借りている人の会員番号をダブルクリックしたとき、

と、メッセージボックスが出てきます。

専用のフォームとか作ったりしてもいいんですけども、メッセージボックスもお手軽でわりと使えるんじゃないかと思います。
ああ、あとは、このフォームのヘッダーかフッターに、非連結のテキストボックスひとつ作って、そこに代入するようにしてもいいかもしれないですね。

名前だけじゃなくて、連絡先とか、他にもいろいろ出したい場合は、&でつなげます。

MsgBox DLookup("会員名", "会員マスター", "会員番号='" & Me!借りている人 & "'") & DLookup("連絡先", "会員マスター", "会員番号='" & Me!借りている人 & "'")

ギャー長い。でも、会員名と連絡先、両方出るようになります。

え?つながっちゃうと読みにくい?改行したい???
うーん、もう・・・。

Msgbox関数のヘルプを参照してみてください。VisualBasicのEditorのウィンドウで、ヘルプを開いた方が探しやすいでしょう。

MSGBOX関数のPrompt
必ず指定します。ダイアログ ボックス内にメッセージとして表示する文字列を示す文字列式を指定します。名前付き引数 prompt に指定できる最大文字数は、1 バイト文字で約 1,024 文字です。ただし、使う文字の文字幅に依存します。名前付き引数 prompt に複数行を指定する場合は、キャリッジ リターン (Chr(13))、ライン フィード (Chr(10))、またはキャリッジ リターンとライン フィードの組み合わせ (Chr(13) & Chr(10)) を改行する位置に挿入し、行を区切ってください。

と、ありますので、

MsgBox DLookup("会員名", "会員マスター", "会員番号='" & Me!借りている人 & "'") & Chr(13) & Chr(10) & DLookup("連絡先", "会員マスター", "会員番号='" & Me!借りている人 & "'")

こうなります。↑
ふう・・・。

途中で改行されますね。

そうそう頻繁に見るわけでもなく、必要なときにちらっと見ることができればいい情報や、電話番号とか、わりとひみつっぽい情報なんかのときは、この方法、結構いけてると思いますよ。といっても、書くの大変なんで、まあ・・・名前と電話番号、とか、項目ふたつみっつ、くらいですかね。。。
もちろん、会員や社員の情報が、あらかじめ登録されていることが前提ですけど。。。こういうのがあやふやな業務は、データベース化するのも骨折れますね。どっか一本筋を通した方がいいですよ。いやマジで。