過去の桐井戸端BBS (桐ver.8)
18206 文字列や日時データの二つの項目を一つにしたい ぱんだ 2002/12/11-20:37
文字列や日時データの項目を一つにすることは可能でしょうか?
例えば 「出席1」「出席2」という二つの項目を一つの項目に合併する。
    「雑誌1」「雑誌2」「雑誌3」という項目を一つにする。
計算式の入力など色々ためしてみたのですが、どうもうまくいきません。
よろしくお願いします。
18207 二つの項目を一つに ぱんだ 2002/12/11-20:40
記事番号18206へのコメント

ちなみに桐V.8です。
18208 Re:二つの項目を一つに DIDI 2002/12/11-23:04
記事番号18206へのコメント
新たな項目を、もうけて計算式を入れてはどうでしょうか?

例、[項目A],[項目B]->[項目C]に合計
A,Bが数値、日時等の文字列以外の場合、文字列にして合計する
項目Cの項目式 #STR(A)+$STR(B)

うまくいくと思いますが。


18209 Re:二つの項目を一つに 悲しげ 2002/12/11-23:50
記事番号18206へのコメント
どもっ、はんださん
DIDIさんのコメントを読んで、もうひとつ思いつきました。
例えば
[出席]項目は、#str([出席1])+","+#str([出席2])+・・・
[雑誌]項目は、#str([雑誌1])+","+#str([雑誌2])+","+#str([雑誌3])+・
・・
のように、半角カンマを介して連結しておく方法。
そのココロは、「#対応文字列」関数を使って、個々の項目値を
取り出すことが可能になるから。
・・・と、書いてみましたが、でも、元々は別項目だったものですから、
あんまし意味ないですね。(^^;)

何のために「二つの項目を一つに」したいのか、その理由を書けば、
もっといい考え方が出てくるような気がします。

18210 Re:二つの項目を一つに 悲しげ 2002/12/11-23:59
記事番号18206へのコメント
それとも

>例えば 「出席1」「出席2」という二つの項目を一つの項目に合併する。
>    「雑誌1」「雑誌2」「雑誌3」という項目を一つにする。

とは

[出席1] [出席2] [雑誌1] [雑誌2] [雑誌3]
あああ  いいい  ううう  えええ  おおお



[出席] [雑誌]
あああ ううう
いいい えええ
    おおお

のように展開したいと云うことでしょうか?
だとすれば、いわゆる「横のものを縦に」と云うことで、
定石的な方法があったと思います。 → cf.過去ログ検索
18223 項目は分けておくのが原則です 佐田 守弘 2002/12/13-01:50
記事番号18206へのコメント
ぱんださん
「二つの項目を一つに」とは、異なるデータ型の項目の場合も含めて、
値をつなげて1つの項目にしたいと言う意味と解釈します。

●原則論を先に申し上げます
データベースは、できる限り項目を分けておくか、[雑誌1][雑誌2]の様な引出し型(子データベース型)の場合には、
正規化して複数の表でデータを持つのが原則です。
なぜならデータをつなげるのはいつでも簡単にできますが、分離するのは大変に難しいからです。
例えば、氏名を記述するなら氏と名を別の項目とするか、
どうしても1つにするなら、間にスペースを入れて、
後から分けられる様にしておく事が大切です。

●データをつなげるには
これは「+」演算子を使えば、簡単につなげられます。
ただし、日時型や数値型はつなげる事に意味を持ちませんから、
文字列型に変換してつなげます。
おそらく質問の主旨は、「日付型と文字列型をどうやってつなげるか」
なのかと思います。この様な場合には、
「#日時文字列」関数などを使って、文字列型に変換してからつなげます。

●つなげたデータを元通りに区切るには
区切りを入れずに単純に羅列してつなげたら、計算式では元に戻せないと思って下さい。
データの打ち込み直しをしなければならなくなるでしょう。
ですからつなげる前の区切ってあるデータを残しておく事が必要です。

冒頭にも述べた通り、データは分けて持っておき、印刷その他の必要な
場所で計算式でつなぎ合わせて目的データを作り出します。

佐田守弘(KS-00119)

戻る