「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:1894
現在:4


Accessのような複数値を持つフィールドを作りたい

ページOpenOffice.org FAQの登録ページ
投稿者takeru
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2011-07-18 01:37:28 (月)
OSWindows7 64bit
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

AccessもBaseもまったくの初心者です

下記リンク先のAccessのように複数値を持つフィールドを作成したいと思いますが
どのようにすればよろしいよろしいでしょうか?
http://office.microsoft.com/ja-jp/access-help/HA001233722.aspx  


複数値を持つフィールド

M.Kamataki (2011-07-18 07:43:02 (月))

http://office.microsoft.com/ja-jp/access-help/HA001233722.aspx#BM1

こちらに「Office Access 2007 のデータベース エンジンは、実際には、複数の値を 1 つのフィールドに格納しているのではなく、非表示のシステム テーブルに個別に格納し、管理しています。」とありますから、「複数値を持つフィールド」が作成されているわけではないようです。続く部分「データを分割し、分割したデータを再度まとめて 1 つのフィールドに表示する処理は、Access データベース エンジンで自動的に行われます。」を読むと、これはUIで実現しているんでしょう。

つまり、データベースとしてのAccessの機能ではなく、フォームを含めたUIの機能で実現していると言えます。このUI(コンボボックスで複数の値をチェックボックスで選べるもの)はBaseで実現するのは難しいです。

したがって、Baseで実現するなら、単純に複数のフィールドを用意しておく、フォームでも複数の入力用コントロールを用意する必要があります。カンマ区切りで1つのフィールドのように見せるには、クエリーでCONCAT関数を用いて複数フィールドを1つにまとめれば実現できると思います。

同じ趣旨の質問が以下の「教えて!goo」でも投稿されていますね。

http://oshiete.goo.ne.jp/qa/5862205.html

※Baseが標準で使用するデータベースHSQLDBでは、CONCAT関数でまとめられるのは2フィールドまでだったりします。3つ以上のフィールドをまとめるためにはネストする必要があります。faq/6/181「フィールドとフィールドの連結」をご覧ください。

ありがとうございます

takeru (2011-07-23 00:14:01 (土))

CONCAT関数というものがあるんですね
3つ以上のフィールドだと入れ子にしないといけないなんて少し面倒ですね

お名前:
題名: