スプレッドシートに表示されたデータの絞り込み

解決


たまご  2005-09-29 17:12:37  No: 125847

お世話になります。

※VB6.0(SP5)、Spread2.5

スプレッドに表示されたレコードをさらに絞り込みを行おうと考えております。
今、スプレッドにあるデータから、キーとなる項目のデータを抜き出し、
コンボボックスへリストとして登録しまして、
そのコンボボックスからデータを選択すると、
それに該当するスプレッドシートのレコードが、絞り込まれる。
ということをやりたいのですが、
コンボボックスまでもっていくことは出来ました。が、
そこから、さらに絞り込む方法で、詰まっています。

表示されたデータを一度全て配列などに入れ込み、
該当するデータのみを表示させるなど考えたのですが、
あまりにも効率が悪いと思い。。。

なにか参考になる方法などないでしょうか?
ご教授いただければと思います。


特攻隊長まるるう  2005-09-29 18:29:00  No: 125848

レコードという単語を使っておられますが、もととなるデータは
データベースに格納されているのでしょうか?…であれば、検索
結果を操作するより、絞り込まれた条件でもう一度データベース
検索する方がプログラム的には簡単なのでは?

ローカルにあるデータを操作する方法もありますが…例えば
レコードセットを使ってるなら検索、並べ替え、フィルタ処理
をおこなう事ができます。
[ADODB.Recordset を使ったデータの操作]
http://www.microsoft.com/japan/msdn/library/ja/jpdnofftalk/htm/office02032000.asp


たまご  2005-09-29 18:30:21  No: 125849

続きですみません。

コンボボックスの値と違うレコードがあった場合、
その行を削除するようにしました。
FormMei.SP_kekka(spno%).Action = SP_kekka(spno%)_ACTION_DELETE_ROW
"= SP_kekka(spno%)_"で、
コンパイルエラー
不正な文字列です
となってしまいます。

これは、オブジェクト名を変更するしかないのでしょうか?


たまご  2005-09-29 18:32:28  No: 125850

特攻隊長まるるうさま、早速ありがとうございます。
入れ違い?になってしまいました。
>[ADODB.Recordset を使ったデータの操作]
>http://www.microsoft.com/japan/msdn/library/ja/jpdnofftalk/htm/office02032000.asp
こちら、確認して見ます。


たまご  2005-10-04 03:45:32  No: 125851

解決いたしました。

今回、ココで質問させていただいたのは、
削除するコードをスプレッドシートのヘルプを元に、
>Rowプロパティが示す行を削除します。
>SS.Row = 4  '行を設定
>SS.Action = SS_ACTION_DELETE_ROW  '行の削除
で実装したのですが、どうも上手く動かなかった為でした。

が、よくよくヘルプをみてみると、
>書式  [form.]SS.Action[ = integer%]
>設定値  整数型
とありまして、
SS.Row = 4  '行を設定
SS.Action = 5  '行の削除(※5 = SS_ACTION_DELETE_ROW)
で、行を削除することが出来ました。

ヘルプをよく読むよう気をつけますm(__)m


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

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






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