VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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プロパティのワイルドカードは
「○○*」もしくは「*○○*」という使い方しかできない。
と表記されていますが、他にいい抽出の仕方はないでしょうか?

稚拙な文章で大変読みにくいとは思いますが、どうか救いの手を差し伸べてください。。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -