過去の桐井戸端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) |