ここから本文です

access初心者です ACCESS2003の文字列の結合を使用して別テーブルのセルに入れ込...

このエントリーをはてなブックマークに追加

質問者

inamasa001さん

2010/5/3011:26:08

access初心者です
ACCESS2003の文字列の結合を使用して別テーブルのセルに入れ込みたいと思っております。
結合をする際、定型分があるので別テーブルにマスター登録データを組み合わせたいと思っております

例えば
<メインテーブル>
A文字列(100文字程度)
B文字列(20文字程度)
C文字列(500文字程度)

<マスターテーブル>
M1文字列(30文字程度)
M2文字列(100文字程度)

<結果テーブル>
結果セル ←(M1文字列+A文字列+M1文字列+B文字列+M2文字列+C文字列)
で結構な文字数を結合したいです。

説明が悪いと思いますが本当の目的はHTMLデータをACCESSで作成したいと思って質問させていただきました。
回答をよろしくお願いいたします

閲覧数:
2,304
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

編集あり2010/5/3012:52:38

基本的には、2つのテーブルからクエリを作ることになります。

デザインビューにメインテーブルとマスタテーブルを表示させ、グリッドのフィールドに

結果: [M1文字列] & [A文字列] & [M1文字列] & [B文字列] & [M2文字列] & [C文字列]

と記述すれば、文字列が連結されて表示されます(プラスを使った場合、Null(空白のフィールド)があると、結果がNull(空白)になってしまうので、アンパサンドのほうをお勧めします)。

このクエリを、クエリ1という名前で保存します。



ただし、2つ、問題があります。


まず、この2つのテーブルのレコード同士を結び付けるキーとなる項目はあるのでしょうか?

もし、そのような項目があれば、それで両方のテーブルを結合します。
たとえば、メインテーブルにもマスタテーブルにも ID という項目があり、ID の値が同じレコード同士を結び付けるのなら、メインテーブルの ID をマスタテーブルの ID にドラッグします。こうすると両方の ID が線で結ばれて表示され、結び付けが行われます。

そのような項目がない場合、クエリの結果には、両方のレコードの可能な組み合わせのすべてが表示されます。
そのため、両方のテーブルとも、2件以上のレコードがあった場合、メインテーブルのレコード数かけるマスタテーブルのレコード分のレコードが表示され、そのうちのほとんどは無効な組み合わせとなることが考えられます。
ただし、マスタテーブルには1件のレコードしかなく、マスタテーブルの内容を、メインテーブルのすべてのレコードと結び付けて結果を表示したいのであれば、結び付けを行う必要はありません。



もう1つは、クエリの結果の出力についての問題です。


> 本当の目的はHTMLデータをACCESSで作成したい

とうことは、クエリの結果をテキストファイルにエクスポートするなどの処理がこの後に続くかと思いますが、この場合、クエリ1をそのままエクスポートすると、結果フィールドはテキスト型とみなされて処理されるため、255文字までしか書き出しがされません。
結果フィールドのすべての内容をエクスポートするには、次の手順が必要になります。

まず、書き出し用のテーブル(名前をテーブル1とします)を作ります。このテーブルには、結果という名前のメモ型フィールドを設けます。
次に、クエリ1を追加クエリに変更します(デザインビューで、クエリの種類を「追加クエリ」に変更します)。その際、追加先のテーブル名を入力すrダイアログが表示されますので、そこで「テーブル1」と入力します。
クエリ1を実行すると、結果がテーブル1に追加されますので、テーブル1からエクスポートを行います。

質問した人からのコメント

2010/6/2 12:12:43

降参 丁寧な回答をありがとうございました。
大変助かりましたm(__)m

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル
  • このエントリーをはてなブックマークに追加

このQ&Aで解決しましたか?質問する

閉じる

ベストアンサー以外の回答
1〜1件/1件中

ftouyamaさん

2010/5/3014:08:45

97とかは1セルあたり
文字列は255文字限界なのだけれど2003ははずれているのかな
データベースはしたいことを前提に要素の抽出とクオリティを前提にサイズの確定をして
設計してから進めないと作成と同時進行は変更がきかない場合があったりツールが
働かなかったりして2度手間3度手間が発生するよ

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する