• ベストアンサー

アクセスのテーブルのリンクについて質問です

1つのアクセスのデータから各データにリンクさせたいのですが、次のように作成したいのですが可能でしょうか? 元となるデータ上で移動場所・部品No・数量・日付を指定し、各移動場所のデータにリンクさせたい。 各移動場所には入庫データ。元となるデータは出庫データとして管理するつもりです。 元データの出庫テーブルをリンクさせれば・・・というとこまでは分かるのですが、移動場所ごとにデータを振り分けることはできますか?? 説明が下手なので分かりにくいと思いますが、可能であれば方法を教えてください。 よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

criteria = "日付 between #" & Me!Text2 & "# and #" & Me!Text3 & "#" はcriteria部にこのように記述してくださいという事です。 MyCriteria = "日付 =" If IsNull(Text2) Then MyCriteria = MyCriteria & True ElseIf Not IsNull(Text2) Then MyCriteria = MyCriteria & "#" & Me!Text2 & "#" Else End If を MyCriteria = "" If IsNull(Text2) Then MyCriteria = MyCriteria & True ElseIf Not IsNull(Text2) Then MyCriteria = MyCriteria & "日付 between #" & Me!Text2 & "# and #" & Me!Text3 & "#" Else End If で行けるはずです。 Text2・3どちらかもしくは片方未入力を許可するなら下記にして未入力の際に変わりに代入させる日付を指定すれば良いと思います。 "日付 between #" & Nz(Me!Text2,#2000/01/01#) & "# and #" & Nz(Me!Text3,#3000/12/31#) & "#" 以上質問は終わりという事で

noname#89246
質問者

お礼

本当に何度も申し訳ありません。 おかげで思ったようなフォームができました。 もっとコードを勉強するべきですね。 また”おしえてgoo”で質問することがあると思いますが、その時はまたよろしくお願いします。

その他の回答 (3)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

MyCriteria = MyCriteria & "#" & Me!Text2 & "#" は単純にText2に入力された値を抽出条件に代入しているだけで日付のフィールドが日付/時刻型であればText2にyyyy/mm/ddかyy/mm/ddで抽出できるはずなのですが MyCriteria = MyCriteria & "#" & Format(Me!Text2, "yy/mm/dd") & "#" ではどうでしょうか または Text2のプロパティの定型入力でyy/mm/ddのように設定して検索できないでしょうか。 >Text3を追加しText2~Text3という形で日付を期間抽出する criteria = "" criteria = "日付 between #" & Me!Text2 & "# and #" & Me!Text3 & "#" で出来ます。

noname#89246
質問者

お礼

回答本当にありがとうございます。 日付の件は解決しました。ありがとうございます。 期間抽出なのですが、教えていただいた criteria = "" criteria = "日付 between #" & Me!Text2 & "# and #" & Me!Text3 & "#" は先日教えていただいたコードのどこに入れれば反映されるのでしょうか? またお時間があればよろしくおねがいします。 本当にいつもありがとうございます

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

例えば 出庫テーブル:出庫No・日付・移動場所ID・部品No・数量 移動場所テーブル:移動場所ID・移動場所名・・・ 部品テーブル:部品No・部品名・・・ 移動場所テーブル:移動場所ID=出庫テーブル:移動場所ID で1対多のリレーション 部品テーブル:部品No=出庫テーブル:部品No で1対多のリレーション とした場合。 出庫テーブル:日付で抽出して1日の出庫レコードの抽出等を捉えれば出庫データとして 出庫テーブル:移動場所ID・日付で抽出すれば移動場所IDごとの入庫データとして捉えられる (これが移動場所ごとにデータを振り分けるという事に該当すれば良いのですが・・) のではないでしょうか。

noname#89246
質問者

お礼

回答ありがとうございます。 O_cyan様に個人的に質問があります。 このお礼を見られてお時間があるときでいいので回答いただければありがたいです。 先日教えていただいたコード Private Sub Cmd1_Click() Dim MyCriteria As String MyCriteria = "日付 =" If IsNull(Text2) Then MyCriteria = MyCriteria & True ElseIf Not IsNull(Text2) Then MyCriteria = MyCriteria & "#" & Me!Text2 & "#" Else End If strfilter = MyCriteria strfilter = strfilter & " And 部品ID Like '*" & Me.Text1.Value & "*' And 区分 Like '*" & Me.Cmb1.Value & "*'" Forms!フォーム名!サブフォーム名.Form.Filter = strfilter Forms!フォーム名!サブフォーム名.Form.FilterOn = True Forms!フォーム名!サブフォーム名.Requery End Sub を使わせていただいて思ったような抽出フォームを作成することができたのですが、日付を入力する際、MM/DDの形式でしか抽出ができなくなりました。 何も変更などはしていないのですが・・・。 できればYY/MM/DDの形式がいいのですが・・・。 何か変更できる方法があればぜひ教えてください。 それともう1つあるのですが、このフォームにText3を追加し、Text2~Text3という形で日付を期間抽出するにはどうすればいいでしょうか? 個人的に質問して本当に申し訳ありません。 お時間があるときでいいのでよろしくおねがいします。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>移動場所・部品No・数量・日付を指定し、各移動場所のデータにリンクさせたい。 例えば移動場所が移動場所テーブルのように移動場所の詳細のレコードがあり出庫を移動場所をキーとして管理するという事なら可能です。 出庫テーブルの移動場所と移動場所テーブルの移動場所同士をリレーションで結合すれば良いと思いますが。 >移動場所ごとにデータを振り分けることはできますか 移動場所をキーとすれば移動場所で抽出や集計を行えば良いので出来ます。 移動場所ごとに出来ます。 こういう事の質問でなかったらゴメンなさい。

noname#89246
質問者

お礼

いつも回答ありがとうございます。 やはり移動場所に全てデータをリンクさせて抽出するしかないみたいですね。 まだデータが未完成なので、アドバイスいただいたことを頭に入れて作成していきます。 ありがとうございます

関連するQ&A