図1、データが5000件位の製品テーブルがあります。
図1項目名の番号に対する名称等は別のテーブルにあります。
図1(テーブル)
----------------------------------------------------------
製品番号 | 予算番号 | 新製品番号 | ・・・ | ・・・
----------------------------------------------------------
3310001 | 3230002 | ・・・ | ・・・ | ・・・
3310001 | 3230002 | ・・・ | ・・・ | ・・・
3310010 | 3230015 | ・・・ | ・・・ | ・・・
・ ・
・ ・
テーブル図1を使ってクエリ又はフォームで、「材質番号」という項目を追加して図2のような感じでフォームを作成したいのです。
材質番号という項目はベースとなる図1テープル、図1クエリには無く、別テーブルになっています。
図2(フォーム)
---------------------------------------
|製品番号|(製品名称テーブルより製品名) |
---------------------------------------
---------------------------------------
|予算番号|(予算名称テーブルより予算名称)|
---------------------------------------
----------------------------------------
|材質番号|(材質名称テーブルより材質名称)|
----------------------------------------
なお、作成するフォームは各番号と名称を使用してのデータ検索のみで、入力はしません。
ちょっと質問がややこしくなってしまいましたので、簡単にやりたいことを言いますと、製品フォームにまったく関係の無い材質テーブルの材質番号を、製品フォームに表示させて、検索、閲覧したいということなのです。
Accessもですが、VB&VBA等初心者ですので、できれば使用しない方法がありましたらよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
希望されているような表示を行いたい場合、次のような条件が必要になります。
・「材質番号」の取得元テーブルに「製品番号」もしくは「予算番号」と同じルー
ルのデータを収納しているフィールドがあり、データ型が図1テーブルの前述フ
ィールドと一致している。
・上記を満たした上で「製品番号」もしくは「予算番号」(とそれに相応するフィ
ールド)は、図1テーブルと「材質番号」のあるテーブル間で同じ製品に関して
同じ番号を使用している。
この条件を満たした上で、下記の方法でクエリとフォームを作成します。
1.図1テーブルを元に、「選択クエリ」を作成する。
(フィールドは「製品番号」および「予算番号」だけを選択)
2.作成したクエリをデザインモードで開き、メニューの「クエリー(Q)」-「テー
ブルの表示(T)」から「材質番号」のフィールドを含むテーブルを表示させる
3.図1テーブルのフィールドリストのボックスから、「製品番号」もしくは「予
算番号」のうちの双方にあるほうのフィールドを手順「2.」で開いたテーブ
ルのフィールドリスト内の同名フィールド(かそれに順ずるもの)のところま
でドラッグアンドドロップする
4.「3.」の手順で双方のフィールドリスト間に線が表れたら、クエリのフィー
ルドリストにフィールド:材質番号、テーブル:「2.」で開いたテーブル名
のフィールドを追加する
5.クエリを保存して閉じ、ここまでの手順で作成したクエリを元にしたフォーム
を作成する
以上です。すこし難しいかもしれませんが、上記は「リレーションシップ」という機能を利用する方法です。条件が合うようでしたら利用してみてください。
No.5
- 回答日時:
#2、#3で回答させていただいたSarukanです。
>クエリに材質番号フィールドを作成しようと思ったのですが、「パラメータの入
>力」と画面が開いて何かを入力するように言われるのですが、フィールドの追加
>は項目名を入力しただけではいけないのでしょうか?
その通りです。
条件にも書きましたが、リレーションシップを作成するためには双方のテーブルの関連付けるフィールドに1対1、1対多、多対多のいずれかのかたちで同じデータが保存されている事が絶対条件になります。そのため、「図1テーブルは毎日書き換わってしまう」という条件のもとでは材質テーブルのほうに製品番号フィールドを作成し、地道にその製品番号がどの材質番号の材質を使用しているか…といったレコードを製品番号分作製するというのが一番確実な方法となります。
おそらくは気の遠くなるような作業とも思われるかもしれませんが、Excelなどで製品番号一覧をつくり、そこに材質番号を付帯させた表を作成、それをAccessにインポートさせて材質テーブルを再作成すればすこしは楽になると思います。
参考までに解決方法のひとつとしてご覧いただければ幸いです。
ご回答ありがとうございます。
また、お返事が遅くなり申し訳ありません。
時間はかかりそうですが私にもできそうですので、がんばってやってみます。
大変勉強になります、本当にありがとうございます。
No.4
- 回答日時:
確認したい事があります。
一つの製品(「製品番号」)に対して、日によっては違う「材質番号」が割り当てられることがあると言うことですか?
>やはり関連性がないと無理でしょうか
図2(フォーム) では、一緒のフォームに「製品番号」と「材質番号」を表示しています。
と言うことは、このフォームで表示する段階では何らかの関連性も持っていると考えられます。
多分、フォームを表示しているクエリー(今は明確になっていませんが)が日時のテーブルを現していて、その中では「製品番号」と「材質番号」の関連があるはずです。
この回答への補足
補足要求ありがとうございます。
また、遅くなりまして申し訳ありません。
>一つの製品(「製品番号」)に対して、日によっては違う「材質番号」が割り当てられることがあると言うことですか?
いいえ、そうではなく毎日数件の新しいデータが増えていくと言うことです。
>図2(フォーム) では、一緒のフォームに「製品番号」と「材質番号」を表示しています。
と言うことは、このフォームで表示する段階では何らかの関連性も持っていると考えられます。
すみません、図2は私がこうしたいと言う理想で書いたものなので、実際は材質番号はフォームに表示されておりません。
No.3
- 回答日時:
補足です。
もし#2で書き込ませていただいた条件を満たしていない場合、図1のテーブルに材質番号フィールドそのまま作成して手入力sるのが一番早い方法となってしまいますが、もし表記されていない右のほうのフィールドに材質名等のフィールドがある場合でも#2の方法は使用可能です。
どちらにせよ、材質の一覧テーブルガある場合、図1のテーブルに材質名などのフィールドを作成しておくことをお勧めいたします。おそらくその方が何かと便利だと思いますよ。
この回答への補足
補足ありがとうございます。
図1のテーブルは毎日書き変わってしまいますので、クエリに材質番号フィールドを作成しようと思ったのですが、「パラメータの入力」と画面が開いて何かを入力するように言われるのですが、フィールドの追加は項目名を入力しただけではいけないのでしょうか?
たびたびすみませんが、よろしくお願いいたします。
No.1
- 回答日時:
テーブル図1の中の項目と「材質番号」と関連がある項目はありますか?
どうゆう条件で「材質番号」と関連付けているのですか?
例えば「材質番号」の入っているテーブルの中には「製品番号」が入っていると言うことです。(「材質番号」のテーブルも教えて貰わないと分からない気がします)
この回答への補足
早速のお返事ありがとうございます。
説明が足りなくてすみません。
図1と材質テーブル(材質番号)とはまったく関連づいておりません。
材質テーブルの中身ですが
|材質番号|材質名称|材質カナ|製造場所|・・・
8000001| 金 |キン | 埼玉 |・・・
8000002| 鉄 |テツ | 千葉 |・・・
・ ・ ・ ・
・ ・ ・ ・
といったデータが入っております。
やはり関連性がないと無理でしょうか、たとえば関連する項目を作ってしまうというようなことも出来るのでしょうか?
おかしな質問をしてましたらすみません、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
INSERT INTO ステートメントに...
-
ExcelのデータをコピーでACCESS...
-
Accessのフィールド数が255しか...
-
SQLServer2005のSQL文での別名...
-
ACCESSでの改行コード
-
Access 昇順・降順で並び替え...
-
Accessでテーブルの値をテキス...
-
アクセス エラーを数値「0」に...
-
アクセス メモ型 255文字...
-
ACCESS VBAにてCSV...
-
電話番号のデータの書式を変換...
-
【Access】フォームで自動計算...
-
Accessで、固定アルファベット+...
-
view作成時にデータ型を変更し...
-
ファイルメーカーでの集計
-
Accessで同一作業の繰り返し
-
ODBC--リンクテーブル'XXXX'で...
-
アクセスで複数行の一括入力す...
-
AccessVBA:TransferSpreadShee...
-
主キーはオートナンバー型のID...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INSERT INTO ステートメントに...
-
Accessのフィールド数が255しか...
-
Accessでテーブルの値をテキス...
-
ACCESSでの改行コード
-
アクセス エラーを数値「0」に...
-
accessで重複を防ぎたい
-
ACCESSで400以上のフィールドが...
-
accessのレポートで元になるテ...
-
Accessで、固定アルファベット+...
-
SQLServer2005のSQL文での別名...
-
【Access】フォームで自動計算...
-
ACCESS VBAにてCSV...
-
ExcelのデータをコピーでACCESS...
-
Access:リンクテーブルマネー...
-
ACCESSでオートナンバーを任意...
-
主キーはオートナンバー型のID...
-
ACCESSで和暦を西暦に・・・
-
ACCESSでテーブルのチェックを...
-
ACCESS検索★ある文字を複数のフ...
-
Access 昇順・降順で並び替え...
おすすめ情報