投稿日 | : 2006/05/30(Tue) 10:13 |
投稿者 | : インテグラ |
Eメール | : |
URL | : |
タイトル | : Accessレコードの抽出処理 |
初投稿失礼いたします。
プログラマ暦半年のヒヨッコです。
私の全力をかけて改善方法を模索してみましたが
一向に解決方法が見つからないので、どうかご教授願います。
環境
・OS WindowsXP
・VB6.0
・Access2003
Access2003の"REC001"という名簿の中から条件に一致した
フィールドを取り出し印刷をしたいのですが、うまく抽出できません。
以下のようなコードになります。
Private Sub Form_Load()
Dim Conn As New ADODB.Connection
Dim RS As New ADODB.Recordset
Conn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0;DATA source=D:\abc.mdb"
Conn.Open
sql = "SELECT * FROM REC001 ORDER BY KA01, KA02, KA03"
RS.CursorLocation = adUseClient
RS.Open sql, Conn, adOpenDynamic, adLockPessimistic
RS.Filter = " KA01 Not Like '○○*' " '@
RS.Filter = " KA01 Like '*○○' " 'A
Debug.Print RS.RecordCount
' 〜〜〜印刷処理〜〜〜
RS.Close
Conn.Close
End Sub
@の所でエラー
「実行時エラー'3001':
引数が間違った型、許容範囲外、または競合しています」
がでてしまいます。
先頭が「○○」以外のデータを抽出したいのですがなんともうまくいかない状況です。
実際のコードでは@の上にも処理が入るのでOpen時のSQLとは別で抽出したいと思っております。
また、Aでは最後が「○○」で終わるデータを抽出したいのですが
これも上記エラーメッセージが発生し抽出できません。
MSDNではFilterプロパティのワイルドカードは
「○○*」もしくは「*○○*」という使い方しかできない。
と表記されていますが、他にいい抽出の仕方はないでしょうか?
稚拙な文章で大変読みにくいとは思いますが、どうか救いの手を差し伸べてください。。