入れたい項目と入れたくない項目をわけるには??

解決


ピン  2007-01-23 22:36:37  No: 134951

こんにちは。
SQL Serverを接続して項目をComboBoxにいれることはできたのですが、入れたい項目と入れたくない項目をわけたいのですが、どのような関数を使ったらよいのでしょうか??


ささき  2007-01-23 22:44:11  No: 134952

>入れたい項目と入れたくない項目をわけたいのですが

判別するだけならばIF文やSelect Case文がありますが
※そんなことを聞きたいんじゃないですよね?。

入れたくない項目をどのように表現するか?
を説明しないことには、誰もピンさんの期待するような
回答はできないと思います。


ピン  2007-01-23 22:54:49  No: 134953

説明がへたなのでどう言ったらいいのかよくわかりませんが、家計簿を作っていて、
私が今作成してるのは、Form1にボタンが2つあって、ボタンを押すと次のFormにいくようになってます。そこにComboBoxがあります。今ComboBoxには、収入と出費の詳細の項目が入ってます。その項目を出費と収入とにわけたいんです。


ささき  2007-01-23 23:41:03  No: 134954

あ〜、なるほど
本当に分類分けをしたいだけなのかも知れないですね。

えっと、例えば、
SQLサーバから項目(収入の詳細 Or 出費の詳細)を取ってくる際
別の項目、出費か収入かを判別できる項目はありませんか?

また、出費の項目、収入の項目ってひょとしたら別のテーブルなのかしら?


ピン  2007-01-23 23:47:12  No: 134955

出費と収入の項目は一緒に混ざっています。費目というのにはいってるのですが、そのなかには、収入と出費の項目とIDが入ってるだけです。


ささき  2007-01-24 00:20:04  No: 134956

でわでわ

その費目テーブルのIDと
収入Or出費の区分を判別するテーブルはありますか?

例えばそれを区分というようなテーブル名とした場合

SELECT
  費目.ID
  費目.出費収入の項目
  区分.区分 →★で収入か出費かがわかる
FROM
  費目,区分
WHERE
  費目.ID = 区分.ID


ピン  2007-01-24 00:27:13  No: 134957

費目というテーブル名でIDと出費収入の項目が入ってます。
区別するのは、トランザクション(テーブル名)と書いてある日付や金額などを登録する場所があるんですが、そこに出費と収入を入れる場所があって、項目は一緒に書いてあるんですが、金額だけが別々に書いてあるだけになっています。


ピン  2007-01-24 00:28:56  No: 134958

伝えるの忘れてましたが、ADO.NETで作成しています。


ピン  2007-01-24 18:20:00  No: 134959

わかるかたいらっしゃいましたらお願いします。


大吉末吉  2007-01-24 22:17:30  No: 134960

> わかるかたいらっしゃいましたらお願いします。

ささき  さんの回答では解決しなかったってことですか?

#単に、表示用のデータを検索するSQL文に、
#「表示したい方の区分」を条件として追加するだけじゃないんでしょうか?

だとすると、「何に困っているのか」が良く分かりせんね・・・

> トランザクション(テーブル名)と書いてある日付や金額などを
> 登録する場所があるんです
> そこに出費と収入を入れる場所があって、項目は一緒に書いてある

そんな、「貴方が独自で使用しているルーチン」の事を尋ねられても・・・

独自のルーチンを使用していて、独自の指定方法を行う必要があるんなら、
使い方は、そのルーチンの作成者に聞いてください。(or仕様書/ドキュメントを熟読する)

#一般的な掲示板で質問されても答えようが・・・


ピン  2007-01-24 22:59:35  No: 134961

ささきさんが教えてくださったプログラムを使ってみたのですが、エラーが出てしまいました。あと、区分.区分というところが自分的にわからなかったです。
ごめんなさい。


大吉末吉  2007-01-24 23:21:11  No: 134962

> エラーが出てしまいました。

SQLエラーですか?

> 区分.区分というところが自分的にわからなかったです
これは「区分と言うテーブルの中の、区分と言うフィールド」と言う意味ですね。

うーん・・・

「費目」テーブルと言うのは、どういう構造で、どういうデータが入っているんでしょうか?具体的に提示してください。

例えば・・・
テーブル構造が
---------------------
ID
出費収入の項目
---------------------
となっていて、データとし
---------------------
001 給与
002 賞与
003 臨時収入
004 食費
005 光熱費
---------------------
の様な物が入っている。

とか・・・
#ちなみに、上記の構造だと、ささきさんが言われている「収入Or出費の区分を判別する」為の情報がありませんね。

で、どうコンボボックスに表示したいんです?

後、「トランザクション(テーブル名)と書いてある日付や金額などを登録する場所」って何です?
画面?テーブル?

#画面の事を言われても意味無いです。
#「収入Or出費の区分を判別するテーブル」の説明をしてください。


ささき  2007-01-24 23:26:28  No: 134963

質問の回答と関係ないレスでごめんなさい。

昨日の夕方あたりから、
娘が貰ってきたノロウィルスに感染してダウン中です。(><

えっと私が言いたかったのは、
リレーショナルデータベースの一般的な考え方でして、
費目テーブルにIDと、詳細、金額、日付などがあって
収入、支出の判断がつけられるテーブルが何らかのIDで管理されているのでは?
費目テーブル
ID        詳細       金額     日付
---------+----------+-------+--------
001       食費       500     2007/01/23
002       給与       500000  2007/01/25
001       公共料金   3000    2007/01/28

区分テーブル
ID             区分
---------+---------
001       収入
002       支出

というイメージでテーブルを考えていました。
テーブルのイメージがちょっとわからなかったので、勝手イメージですが
参考になれば幸いです。


ささき  2007-01-24 23:30:54  No: 134964

>これは「区分と言うテーブルの中の、区分と言うフィールド」と言う意味ですね。

大吉末吉さん フォローありがとうございます。
私の脳内補完では、その認識で正しいです。

ささき 2007/01/24(水) 14:26:28 <192.51.44.48>

の投稿のイメージでテーブルを作ってます。


ピン  2007-01-25 02:20:02  No: 134965

遅れてすみません。

費目
構造は
ー------------------
hmID  himoku  chk
--------------------
1    給料
2    食費
3    水道光熱費
4    賞与

このような形になっています。
みたいな感じになっています。
トランザクションというのは、
-----------------------
year  month  day  ・・・
ー---------------------
とそこにすべて書きこまれるところです。

で、表示したいのは、
Form1に出費ボタンと収入ボタンがあります。
出費ボタンを押すとForm2に移動するようになってて、その場所では、費目の食費・水道光熱費だけを表示したいのです。
収入ボタンも同じで給料・賞与だけを表示させたいんです。


ささき  2007-01-25 02:31:59  No: 134966

ん〜、、、
hmIDの1と4、もしくは2と3は
共通の値を持っている項目はないの?
収入と出費を分ける項目が存在しないのならば

一番やりたくない方式だけれども
hmIDによる直接絞込みしかないんじゃ?

収入
SELECT himoku FROM 費目 WHERE (HmID = 1 Or HmID = 4)
出費
SELECT himoku FROM 費目 WHERE (HmID = 2 Or HmID = 3)

(この呼び方に抵抗があるけれど)
トランザクションの中にもhmidはあるんだよね?


ピン  2007-01-25 04:04:44  No: 134967

トランザクションの中にもhmIDはあります。


大吉末吉  2007-01-25 04:50:11  No: 134968

> トランザクションの中にもhmIDはあります。

あるのは良いですけど・・・
それは、「収入・出費の判断に利用できる」様なものなんでしょうか?

例えば『トランザクション』テーブルに、「収入か出費か」の情報もあるんでしょうか?

必要なのは「収入Or出費の区分を判別する」為の情報です。
それは、「貴方が自分で」探すしかないです。

#どういうテーブルにどういう項目があり、それがどういうタイミングで作成されるか
#の詳しい説明があれば、アドバイスできるかもしれませんが・・・

テーブルのどこにも無い(or見つけられない)なら、
ささき さんの  2007/01/24(水) 17:31:59の投稿コードの様に、
プログラムで、「どれとどれが収入で、どれとどれが出費か」をゴリゴリに書くしかありませんよ。


ささき  2007-01-25 05:38:42  No: 134969

費目のテーブルに、
出費 Or 収入がわかるIDがあればいいんだけれども・・・。

費目
構造は
ー--------------------
hmID  himoku  chk  Kbn
----------------------

とか言うようにして、
Kbnが0は出費、
Kbnが1は収入というようにしてしまえば・・・。

SELECT himoku ,year  month  day  ・・・
FROM 費目,トランザクション
WHERE
    費目.hmID = トランザクション.hmID
AND
    費目.Kbn = 1  ★ここを0にするだけで出費

とかできるんだけれども・・・。
そういったDB設計になっていなければ
先のようなSQLで対応するしかないのよね。


ピン  2007-01-25 22:47:40  No: 134970

解決できました。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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