プロが教える店舗&オフィスのセキュリティ対策術

http://blog.moug.net/archives/51335290.htmlにレコードセット
のコピーについて書かれているのですが、フィルターで絞りを
かけた後のレコードセットを別のレコードセットに代入というのは
できないものでしょうか?

A 回答 (3件)

私はこのような作業が必要なときはSQLをADOのコネクションで実行させています。



CON.EXECUTE "INSERT INTO TABLE2 SELECT FROM TABLE1 WHERE FIELD1 = 'HOGE'"

のような感じで。
    • good
    • 0

WHERE句の後ろにそのフィルタの文字列を入れれば絞り込んだレコードセットになります。


↓フォームモジュールの例
myRS.Open "SELECT * FROM 商品tbl WHERE " & Me.Filter , myCN 'レコードセットを開く

フォームのモジュール以外の時は「Me.Filter」を「Forms!フォーム名.Filter」に変更すると取得できます。

この回答への補足

いい例がありました。
http://www.geocities.jp/cbc_vbnet/ADO/append.html

このような、Tableに基づかないレコードセットを他の
レコードセットにフィルターをかけた後にコピーしたいのです。

例のようにループさせて代入すればいいのですが、
http://blog.moug.net/archives/51335290.html
のようにSetで代入できないものかと思いました。

補足日時:2008/11/11 20:24
    • good
    • 0

テーブル名のかわりに、条件を指定したクエリ名、または、SQLのSelect文を指定すれば、抽出されたレコードを対象にできます。



myRS.Open "商品tbl", myCN 'レコードセットを開く

myRS.Open "クエリ名", myCN 'レコードセットを開く
OR
myRS.Open "SELECT * FROM 商品tbl WHERE コード = '0001'", myCN 'レコードセットを開く

こんな感じで。

この回答への補足

ありがとうございます。

その方法もわかりますが、今回はFilterをかけた
後のレコードセットをコピーする必要があるもので。

補足日時:2008/11/08 17:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A