No.1
- 回答日時:
”シフト体系 ”と云う名前(他に適当な名前を付けて下さい)のテーブルを造ります。
そこに シフトID (オートナンバー)
シフト名 ( Aシフト Bシフト 等 )
時間帯
備考
のフィールドを作成してテーブルにデーターを入れます。
これを 勤務計画表 での 適用シフト 等のフィールドで コンボボックスで
シフト名を選択して 登録する事で 実現できます。
詳しくは Access のヘルプに書かれて居ますが・・・・
英語で造られた物を 日本語に直してますので こなれた日本文では
ないので 慣れるまでは どんな意味? と思うことが 多いですが
丁寧に造られてますので 努力して 理解して 下さい。
この回答への補足
アドバイスいただき、ありがとうございます。
コンボボックスと書かれていますが、それでは1つの内容しか選択できないので自分の考えているものとは異なっています。
自分の説明不足だと思いますが、「シフト」は単純な例であって、「1フィールドの中で複数項目(Yes/No型)があり、複数の選択が可能」なのがが前提です。
例としてまたシフトを引っ張ってきますが、
「Aさんは9:00~12:00と12:00~15:00のシフトをまたいでいる」などのデータを登録したいのです。
No.3
- 回答日時:
質問者様の意図を理解できてなかったらごめんなさい。
1フィールドに対して[yes/no]型を複数選択は無理です。
フィールド型をテキスト型にした上で、フォーム上でチェックを付けた項目を連結/テキスト作成してテーブルに保存する。
と言うのは駄目なのでしょうか?(作りとしては良くない)
例↓
<フォーム>
名前:Aさん
シフト:9:00~12:00にチェック、12:00~15:00にもチェック
ボタンイベントの際に連結して↓
<レコード>
Aさん 9:00~12:00,12:00~15:00
こういうことですか?違います?
ちなみに、1フィールドに複数の[yes/no]型で選択するのは何か事情があるのですか?
通常はISO96968さんがおっしゃるように勤務パターンをコード化して勤務パターンテーブルとリレーションさせると思います。
この回答への補足
アドバイスいただきありがとうございます。
なるほど、やはりCHRONOS_0さんも仰せのとおりチェックボックス型は無理なのですね・・・
-----引用-----
<フォーム>
名前:Aさん
シフト:9:00~12:00にチェック、12:00~15:00にもチェック
ボタンイベントの際に連結して↓
<レコード>
Aさん 9:00~12:00,12:00~15:00
------------
これは全くそのとおりです。自分は最終的にこれを求めています。
表を作ったりするだけだったら別々の項目でもいいのかもしれませんが、自分は「項目(ここではシフト)を対象に絞込み検索を行える」ことを想定しています。
例:「時間帯A、Bがオン」「時間帯Aがオンの中でBはオフ」を検索できる
正直自分はAccessに手をつけたばかりなもので、「コード化」や「ボタンイベント」などはまったくわかりません。
「コード化」とは、ここではパターンテーブルに全てのパターンを登録するということなのですか?
引き続きアドバイスをお待ちしております。
No.4
- 回答日時:
シフト時間のエリアが固定されてるなら、コード化するやり方もあるかも知れません。
例えば、5シフトあって、第2,3シフトを連勤した場合、
01100
とするとか。
No.5
- 回答日時:
なるほど、意図はわかりました。
ただ、ANo3で書いたとおり、作りとしてはあまり良くないと思いますよ。
勤務パターンが変更になった時など何かとメンテナンスが不便になると思います。
一人で複数の勤務パターンを持つのであれば、1対多のテーブルで一人辺りの勤務パターンを複数レコードで管理した方が絶対いいです。
おっしゃる絞込み検索についても、こちらの方が実現しやすいはずですしね。
どうしても、テキストの連結にこだわるのであれば、
・追加クエリに式を入れる。
・VBでコントロールする。
などの方法になります。
これらはネットで調べればすぐわかると思いますが、その前にテーブルの正規化を調べたほうが、労力的にも楽ですよ。
是非、ご検討ください。
この回答への補足
ありがとうございます。
>> 一人で複数の勤務パターンを持つのであれば、1対多のテーブルで、一人辺りの勤務パターンを複数レコードで管理した方が絶対いいです。
具体的に意味がよくわからないのです・・・
テキストの連結にはこだわらない(印刷などするわけではない)ので…
要するに別テーブルに存在するパターンを全て登録してリレーションシップでつなぐということですか?
No.6
- 回答日時:
>具体的に意味がよくわからないのです・・・
具体的に言うと下記のようになります。
わかり易くするため、あえて主キーとなるコードを一部省いてますが・・・
<従業員テーブル>
名前 年齢 住所
Aさん 20 ○○町~~
Bさん 27 ××市~~
Cさん 35 △△村~~
・・・
<シフトテーブル>
名前 勤務コード
Aさん パターン1
Aさん パターン2
Bさん パターン1
Cさん パターン1
Cさん パターン3
・・・
<勤務パターンテーブル>
勤務コード 時間
パターン1 09:00~12:00
パターン2 12:00~15:00
パターン3 15:00~18:00
・・・
上記の場合、<従業員テーブル>一人に対して<シフトテーブル>で複数の勤務パターンが存在しています(1対多)。
一人当たりの勤務パターンが増えても減っても<シフトテーブル>のレコード追加/削除でメンテできます。
検索条件はシフトテーブルの勤務コードフィールドに対して条件を指定します。
例えば09:00~の従業員を抽出したい場合は条件をパターン1で検索すればいいわけです。
多分これがいわゆる教科書どおりの作りだと思われます。
「テーブルの正規化」で検索しましょう。
こんな感じの参考ページが見つかると思います。
この回答への補足
ありがとうございます。
なるほど、こうすれば確かに便利ですね・・・データ量も減りますし。
自分としては
たとえば、「パターンAが3月~6月 Bが4月~10月だったとして5月に当てはまるものを探すことができる」ようにしたいと思っています。
そのためには「3月~6月に3,4,5,6月が含まれること」を理解させる必要があるので、相当難しくなってきますよね。(素人見解ですが)
自分が想定しているのは・・
植物の名前、種植え~開花までの期間を登録した簡単なデータベースを作るとします。
○○草 3月~9月
○○花 10月~3月
△△草 2月~5月・8月~10月
のように複数の植物を登録していき、4月を検索して、当てはまる植物の一覧を参照できる形です。(登録されていないものは表示しない)
No.7ベストアンサー
- 回答日時:
#1 です。
勤務シフトというので てっきり ”1日間の時間 ”と思ってましたが ”年月日の期間 ”ですか それなら 少し工夫が要ります。
”勤務(担当)期間 " 等のテーブルを造ります。
フィールドは [ ID ] 設定しなくてもOKですが ・・・
[担当者名]
[開始日時]
[終了日時]
[ 登録日 ] 初期値 = Today()
[ 修正日 ] 変更時に = Today()
後は各自の勤務期間を入力するだけです。
Aさん、Bさんが それぞれ期間を離れて 勤務する時も対応出来ます。
複数登録すれば良いのですから。
期間終了後有る程度に日にち後に 該当するレコードを削除すれば 管理も楽です。
私は これを使って 配属職人 と 下請け職人 合計30~50人 を何処の現場へ 派遣するるか を 現場の要望する期間に "空いてるか ?”を確認しもう一つは ”技能職種レベル ”も 個人フィールドにありますのでこれを検索参照しながら 予定を ”ガンチャート ”で表示して使ってます。
参考になれば幸いです。
この回答への補足
おお、ありがとうございます。
別に勤務シフトとかは例で期間は固定されているものなので(下の植物の例みたいに)登録日・修正日は必要ないとしてこれでいけそうです。
ただこう登録しても開始~終了までつながっている(3月~5月には3,4,5月が含まれている)ことを理解させるにはどうすればいいのでしょうか?(検索に使います。)
あと、「Aさんは4~6月と12月」とする場合は
4~6月と12~12月を違うレコードで登録すれば済むのでしょうか。
とりあえず土台のようなものは見えてきたような気がします。
引き続きアドバイスなどお待ちしております。
#ガンチャートってガントチャートでいいんですよね?
No.8
- 回答日時:
#1 です。
訂正します。
誤>”技能職種レベル ”も 個人フィールドにありますので
正>”技能職種レベル ”も 個人テーブル にありますので
すんませんでした。
No.9
- 回答日時:
実際に管理されるデータはどのようなものでしょうか?
シフトみたいに一日の間で、ある程度パターンが決まっているものなのか、
空室状況の照会のように年月日まで管理するものなのか。
業務内容について触れられないのであれば、ある程度類似した例で紹介していただければと思います。
年月日を管理するのであればISO96968さんがおっしゃるように開始と終了の両日付を持たせます。
検索条件は、
指定した日付が[開始日時]以上 かつ(AND)
指定した日付が[終了日時]以下
で指定すれば良いかと思われます。
具体的な式は、検索して調べてみてください
No.10
- 回答日時:
#1 です。
ご指摘ありがとうございます。 ガントチャートでしたね。
ながれとしては・・
検索したい指定日が Aさんの 開始日と終了日の間にあるか? を調べればいいのです。
ガントチャートでは 開始日に ”< ”、期中には ”= ”、終了日には ”>”を 表中に表示しております。
>あと、「Aさんは4~6月と12月」とする場合は
>4~6月と12~12月を違うレコードで登録すれば済むのでしょうか
はい! なんどでも登録します。
それで行けるはずですが・・・
もう少しのようですね。頑張って下さい。
この回答への補足
たびたびありがとうございます。もう少しで完成・・・だと思います。
自分としては簡単なデータベースなので、「○月」だけをテキストで登録しようとしていましたが、
期間という概念をデータベースに理解させるという面でも
日付/時刻型で○月1日~△月31日 のように登録したほうがいいのでしょうか。
(絞り込むなら○月1日で検索すればでますし)
これでテーブル開発が完了すれば、あとは対象が登録されているテーブルとリレーションシップでつないでフォームを構成してあらかた完成です。
しばらく待ってみましたが最終的な回答が得られなかったため締め切ります。
あとは自分で何とか…
ISO96968さんをはじめとする皆様、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELピボットテーブル(複数アイテム) 1 2023/04/27 12:15
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Windows 10 windowsのファイル複数選択について エクスプローラーなどでファイルを複数選択する際、 最初のフ 4 2022/05/22 16:39
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Excel(エクセル) Excel 条件付き書式について 1 2022/12/14 20:38
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Visual Basic(VBA) Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。 3 2023/03/19 18:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSの時刻の引き算
-
クエリ上でフィールド名が2つ...
-
アクセスでの、フォームとテー...
-
アクセスクエリで英数字のみ半...
-
accessで2つのフィールドを同時...
-
アクセスに自動入力を入れたい
-
アクセスの追加クエリで教えて...
-
テーブルとクエリの相関図は表...
-
Access フォーム上でのテキス...
-
Access コンボボックスの絞り...
-
アクセス: フォーム上で計算...
-
Access フォームで複数テーブル...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
エクセルデータをワードで差し...
-
テキストボックスにクエリ結果...
-
アクセスのエラー「クエリには...
-
ACCESS クエリの抽出条件に他の...
-
Accessの桁区切りについ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス・テーブルの改行につ...
-
アクセス: フォーム上で計算...
-
クエリ上でフィールド名が2つ...
-
Accessで更新履歴情報を保存(...
-
アクセスでの、フォームとテー...
-
ACCESSの時刻の引き算
-
Access 別テーブルにある値を抽...
-
テーブルとクエリの相関図は表...
-
INT関数のバグ?
-
Access フォーム上でのテキス...
-
アクセスクエリで英数字のみ半...
-
アクセス:SQLでフィールド...
-
アクセスの追加クエリで教えて...
-
アクセスに自動入力を入れたい
-
ACCESSのリストボックスで複数...
-
access テーブルの色分けについて
-
Access2013 クエリ内別フィール...
-
アクセスでテーブル入力用のフ...
-
Access 住所入力支援が機能しま...
-
Access フォームで複数テーブル...
おすすめ情報