こんにちは。
SQL Serverを接続して項目をComboBoxにいれることはできたのですが、入れたい項目と入れたくない項目をわけたいのですが、どのような関数を使ったらよいのでしょうか??
>入れたい項目と入れたくない項目をわけたいのですが
判別するだけならばIF文やSelect Case文がありますが
※そんなことを聞きたいんじゃないですよね?。
入れたくない項目をどのように表現するか?
を説明しないことには、誰もピンさんの期待するような
回答はできないと思います。
説明がへたなのでどう言ったらいいのかよくわかりませんが、家計簿を作っていて、
私が今作成してるのは、Form1にボタンが2つあって、ボタンを押すと次のFormにいくようになってます。そこにComboBoxがあります。今ComboBoxには、収入と出費の詳細の項目が入ってます。その項目を出費と収入とにわけたいんです。
あ〜、なるほど
本当に分類分けをしたいだけなのかも知れないですね。
えっと、例えば、
SQLサーバから項目(収入の詳細 Or 出費の詳細)を取ってくる際
別の項目、出費か収入かを判別できる項目はありませんか?
また、出費の項目、収入の項目ってひょとしたら別のテーブルなのかしら?
出費と収入の項目は一緒に混ざっています。費目というのにはいってるのですが、そのなかには、収入と出費の項目とIDが入ってるだけです。
でわでわ
その費目テーブルのIDと
収入Or出費の区分を判別するテーブルはありますか?
例えばそれを区分というようなテーブル名とした場合
SELECT
費目.ID
費目.出費収入の項目
区分.区分 →★で収入か出費かがわかる
FROM
費目,区分
WHERE
費目.ID = 区分.ID
費目というテーブル名でIDと出費収入の項目が入ってます。
区別するのは、トランザクション(テーブル名)と書いてある日付や金額などを登録する場所があるんですが、そこに出費と収入を入れる場所があって、項目は一緒に書いてあるんですが、金額だけが別々に書いてあるだけになっています。
伝えるの忘れてましたが、ADO.NETで作成しています。
わかるかたいらっしゃいましたらお願いします。
> わかるかたいらっしゃいましたらお願いします。
ささき さんの回答では解決しなかったってことですか?
#単に、表示用のデータを検索するSQL文に、
#「表示したい方の区分」を条件として追加するだけじゃないんでしょうか?
だとすると、「何に困っているのか」が良く分かりせんね・・・
> トランザクション(テーブル名)と書いてある日付や金額などを
> 登録する場所があるんです
> そこに出費と収入を入れる場所があって、項目は一緒に書いてある
そんな、「貴方が独自で使用しているルーチン」の事を尋ねられても・・・
独自のルーチンを使用していて、独自の指定方法を行う必要があるんなら、
使い方は、そのルーチンの作成者に聞いてください。(or仕様書/ドキュメントを熟読する)
#一般的な掲示板で質問されても答えようが・・・
ささきさんが教えてくださったプログラムを使ってみたのですが、エラーが出てしまいました。あと、区分.区分というところが自分的にわからなかったです。
ごめんなさい。
> エラーが出てしまいました。
SQLエラーですか?
> 区分.区分というところが自分的にわからなかったです
これは「区分と言うテーブルの中の、区分と言うフィールド」と言う意味ですね。
うーん・・・
「費目」テーブルと言うのは、どういう構造で、どういうデータが入っているんでしょうか?具体的に提示してください。
例えば・・・
テーブル構造が
---------------------
ID
出費収入の項目
---------------------
となっていて、データとし
---------------------
001 給与
002 賞与
003 臨時収入
004 食費
005 光熱費
---------------------
の様な物が入っている。
とか・・・
#ちなみに、上記の構造だと、ささきさんが言われている「収入Or出費の区分を判別する」為の情報がありませんね。
で、どうコンボボックスに表示したいんです?
後、「トランザクション(テーブル名)と書いてある日付や金額などを登録する場所」って何です?
画面?テーブル?
#画面の事を言われても意味無いです。
#「収入Or出費の区分を判別するテーブル」の説明をしてください。
質問の回答と関係ないレスでごめんなさい。
昨日の夕方あたりから、
娘が貰ってきたノロウィルスに感染してダウン中です。(><
えっと私が言いたかったのは、
リレーショナルデータベースの一般的な考え方でして、
費目テーブルにIDと、詳細、金額、日付などがあって
収入、支出の判断がつけられるテーブルが何らかのIDで管理されているのでは?
費目テーブル
ID 詳細 金額 日付
---------+----------+-------+--------
001 食費 500 2007/01/23
002 給与 500000 2007/01/25
001 公共料金 3000 2007/01/28
区分テーブル
ID 区分
---------+---------
001 収入
002 支出
というイメージでテーブルを考えていました。
テーブルのイメージがちょっとわからなかったので、勝手イメージですが
参考になれば幸いです。
>これは「区分と言うテーブルの中の、区分と言うフィールド」と言う意味ですね。
大吉末吉さん フォローありがとうございます。
私の脳内補完では、その認識で正しいです。
ささき 2007/01/24(水) 14:26:28 <192.51.44.48>
の投稿のイメージでテーブルを作ってます。
遅れてすみません。
費目
構造は
ー------------------
hmID himoku chk
--------------------
1 給料
2 食費
3 水道光熱費
4 賞与
このような形になっています。
みたいな感じになっています。
トランザクションというのは、
-----------------------
year month day ・・・
ー---------------------
とそこにすべて書きこまれるところです。
で、表示したいのは、
Form1に出費ボタンと収入ボタンがあります。
出費ボタンを押すとForm2に移動するようになってて、その場所では、費目の食費・水道光熱費だけを表示したいのです。
収入ボタンも同じで給料・賞与だけを表示させたいんです。
ん〜、、、
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はあるんだよね?
トランザクションの中にもhmIDはあります。
> トランザクションの中にもhmIDはあります。
あるのは良いですけど・・・
それは、「収入・出費の判断に利用できる」様なものなんでしょうか?
例えば『トランザクション』テーブルに、「収入か出費か」の情報もあるんでしょうか?
必要なのは「収入Or出費の区分を判別する」為の情報です。
それは、「貴方が自分で」探すしかないです。
#どういうテーブルにどういう項目があり、それがどういうタイミングで作成されるか
#の詳しい説明があれば、アドバイスできるかもしれませんが・・・
テーブルのどこにも無い(or見つけられない)なら、
ささき さんの 2007/01/24(水) 17:31:59の投稿コードの様に、
プログラムで、「どれとどれが収入で、どれとどれが出費か」をゴリゴリに書くしかありませんよ。
費目のテーブルに、
出費 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で対応するしかないのよね。
解決できました。ありがとうございました。
ツイート | ![]() |