掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SQLでDataGridに表示させる場合 (ID:108220)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DataGrid、という事は ADO接続ですよね。 その場合、JETのANSI-92クエリモードが使用されますので、 Like演算子のワイルドカードは、"%", "_"になります。 つまり、"*" のかわりに "%" を使って、 mySQL2 = "SELECT SYA.社員番号, SYA.名前, …… " _ & " AND SYA.社員番号 LIKE '%" & Syain.Text & "%' " という感じですね。 > Accessの選択クエリを使って試してみると、ちゃんとデータの抽出と 「Accessの選択クエリ」画面やDAOでは、ANSI-89クエリモードが 使用されますので、ワイルドカードは、"*", "?"となるのです。 ただしAccess2002では、オプション設定を変更する事によって、 クエリ画面でもANSI-92モードを利用できます。 # ANSI-89 SQLモードと ANSI-92 SQLモードの違いに付いては、 # Access 2000または2002のヘルプを参照して下さい。 もう一つ。Like未使用時には表示できているので、大丈夫だとは思いますが、 mdbファイルの内容をDataGridに表示させる時は、ADODB.Recordsetの (あるいは、ADOデータコントロールの)CursorLocationプロパティを adUseClientモードにしておいて下さい。そうしないと表示できません。 もしも adUseServerモードで接続したいのであれば、あらかじめ IRowsetIdentityダイナミックプロパティをTrueにしておく必要があります。 http://support.microsoft.com/default.aspx?scid=kb;ja;224192 ねろさん: > クエリーの条件文の文字列は > " ではさむのではなく 'ではさみます JETの場合は、「"」、「'」のどちらで挟んでも良かったりします。(^-^A ちなみに、文字列を16進数表記で表す事もできたりします。 ……まぁ、まず使う事が無い表現方法だとは思いますけれども。 SELECT * FROM [テーブル] WHERE [列] = 0x715C2C67 # Access 97/JET 3.5x以下の場合は、Shift_JISの16進数。 # Access 2000/JET 4.0以上の場合は、UTF-16BEの16進数。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.