Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2055 / 2272 ツリー ←次へ | 前へ→

【4086】同じIDを持つテーブル同士をつなぐには you 05/1/7(金) 17:00 質問[未読]
【4092】Re:同じIDを持つテーブル同士をつなぐには かろちん 05/1/8(土) 1:13 発言[未読]
【4096】ありがとうございます! you 05/1/9(日) 18:39 回答[未読]
【4100】Re:ありがとうございます! かろちん 05/1/9(日) 20:36 回答[未読]

【4086】同じIDを持つテーブル同士をつなぐには
質問  you  - 05/1/7(金) 17:00 -

引用なし
パスワード
   こんにちは。初めて投稿致します。最近Accessを使い始めた初心者です・・!
現在、ネットショップのホームページのcsvファイルをAccessにローカルとしておとし、編集しています。
ホームページのURLは、
例えば、http://www.xxx.co.jp/○○○/AAA/bbb
というようになっていて、AAA、BBBのところは、それぞれサーバ側から与えられた分類ID、商品IDとなっています。
はじめは、ホームページビルダで作っていたそうなのですが、分類ページから商品ページへのリンクが切れてしまっているようなので、Accessでつなげないかと聞かれました。
つまり、

TOPページ → カテゴリ(分類IDがついている) → 商品(商品IDがついている)
となっていて、仮にカテゴリのひとつにネックレスがあったとして、あるブランドがAAAというIDを持っていたら、そのあるブランドAAAの中にbbbとかcccとかのIDのついている商品があるという状態です。

これをcsvファイルとして、Accessにインポートしてみたのですが、二つのテーブルには親IDとついた共通のIDのフィールドがあるほかは、同じフィールドはありません。
どうにかこの親IDを使って二つのテーブルをつなげ、うまくホームページ上でリンクできるようにしたいのですが、どうすればいいのでしょうか。

まったくやり方がわからず困っています。
よろしくお願いいたします。
    

【4092】Re:同じIDを持つテーブル同士をつなぐには
発言  かろちん  - 05/1/8(土) 1:13 -

引用なし
パスワード
   OSとAccessバージョンを記載してくださいね。
バージョンによって回答が異なる場合があります。

さて本題ですが、分からない部分があり、レスがつきにくいと思います。
1)それぞれのテーブル内で親IDは重複するデータは存在しない
 のでしょうか?
2)親IDでつなぐと書いてありますが、テーブルの構成はどう
 なっていますか?
テーブルの構造(フィールドの種類やデータの中身)をUPしていただける
と、回答しやすいと思います。

【4096】ありがとうございます!
回答  you  - 05/1/9(日) 18:39 -

引用なし
パスワード
   >かろちん さん

レスありがとうございます!まず、OSとAccessのバージョンのことですが、
OS:office2003
Accessバージョン:2003
です。

>さて本題ですが、分からない部分があり、レスがつきにくいと思います。

そうですね…。全くの初心者で、わかりにくい文章になってしまいました。すみません(>−<)

>1)それぞれのテーブル内で親IDは重複するデータは存在しない
のでしょうか?

テーブルは、csvファイルを三つ取り込んであるので、カテゴリ(分類ページ)、アイテムページ(商品ページ)、あと恐らく商品の画像などの入っているアイテム(商品)の三つのテーブルがあります。親IDは、このカテゴリとアイテムページの二つのテーブルにあります。カテゴリのテーブルの中で親IDが重複することはありませんが、アイテムページの中では、重複しているものもあります。よって主キーが設定できませんでした。

>2)親IDでつなぐと書いてありますが、テーブルの構成はどう
なっていますか?
テーブルの構造(フィールドの種類やデータの中身)をUPしていただける
と、回答しやすいと思います。

現在データが会社の方にあるのですが、この休み中に自分でも勉強したいので、今自分が覚えている範囲で書き込みしてもよろしいでしょうか??
<カテゴリ>以下はフィールド名です。
フラグ 親ID 分類ページ 分類ページID ヘッドライン 説明文上 説明文下 フッター 

<アイテムページ>
フラグ 親ID 商品ページ 商品ページID ヘッドライン 説明文上 説明文下
フッター

→親IDや分類ページID、商品ページIDは長整数型だったような気がします。「分類ページ」には、そのメーカーの名前、「商品ページ」には個々の商品の名前が入っていて、これはテキスト型だったと思います。ヘッドラインや説明文は、長いのでメモ型です。ヘッドラインなどは、もとはテキスト型だったのですが、FTPにcsvファイルをおとして、Accessにインポートする際に、普通にインポートするとインポートエラーが出てしまったので、メモ型にしました。勝手にデータ型を変えてよいのかも疑問なのですが…。

目的は親IDを使ってこの分類ページと商品ページをつなぐcsvファイルを作ることだそうなのです。

まだわかりにくい説明でしたら、本当にすみません…。月曜にはまたきちんとしたデータの中身やフィールドの種類をupできるのですが、今覚えているのはこれが精一杯の状態です。自分でも本などを読んでいるのですが、全く。。。

どうか、少しでも何か教えていただけることがありましたら、よろしくお願いいたします。

【4100】Re:ありがとうございます!
回答  かろちん  - 05/1/9(日) 20:36 -

引用なし
パスワード
   youさん こんばんは

結果がどのようになればよいのかもうひとつ良く分からないのですが、
テーブルの構造上で、youさんが仰っている親IDでカテゴリテーブルと
アイテムテーブルをつなぐだけなら、下記のクエリーを作れば可能かと
思います。

SELECT
  カテゴリ.フラグ,
  カテゴリ.親ID,
  カテゴリ.分類ページ,
  カテゴリ.分類ページID,
  カテゴリ.ヘッドライン AS アイテムヘッドライン,
  カテゴリ.説明文上 AS アイテム説明文上,
  カテゴリ.説明文下 AS アイテム説明文下,
  カテゴリ.フッター AS アイテムフッター,
  アイテムページ.商品ページ,
  アイテムページ.商品ページID,
  アイテムページ.ヘッドライン,
  アイテムページ.説明文上,
  アイテムページ.説明文下 ,
  "http://www.xxx.co.jp/" & カテゴリ.分類ページID &
  "/" & アイテムページ.商品ページID AS リンク
FROM カテゴリ
INNER JOIN アイテムページ
ON カテゴリ.親ID = アイテムページ.親ID

こうするとつながります。
念のため、リンクの作成も一緒にしています。
リンクの部分は、スレッド幅の関係上折り返して記述しています。

2055 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free