VB2010でアクセスのクエリのSQL文を変更したい。


ルー  2012-02-25 03:29:43  No: 103233

VB2010でアクセスのクエリのSQL文を変更したいのですが
下記のようなコードで、データは取り出せたのですが
このデータをSQLで処理することはできるのですが
他のプログラムに渡すためにアクセスのクエリが変更できればと
思うのですが、参考になるサイトなどありますでしょうか?

       Dim CnString As String
        Dim UserID As String = "Admin"
        Dim Password As String = ""
        Dim SQL As String
        Dim SQL2 As String
        Dim sfina As String = "c:\data.mdb"
        Dim DaAdap As OleDb.OleDbDataAdapter
        Dim Tbl As New DataTable()
        Dim Bds As New BindingSource
        ''Dim CN As New ADODB.Connection

        CnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sfina & ";"
        CnString = CnString & "User ID=" & UserID & ";"
        CnString = CnString & "Jet OLEDB:Database Password=" & Password


魔界の仮面弁士  2012-02-28 01:59:32  No: 103234

ここは、VB2-VB6 用の掲示板です。
VB.NET に関する話題は、お隣の掲示板でお願いします。

一応回答しておくと:

> 下記のようなコードで、データは取り出せたのですが
いや、これだけのコードでは取り出せないはずですよ。

Tbl 等の変数は、ただ宣言して New しただけであって、
その変数を利用している個所(Tbl に値を取り込む処理)が
ありませんし、そもそもクエリー名もSQLも指定されていませんから。

> 他のプログラムに渡すためにアクセスのクエリが変更できればと
Access 等で事前に mdb 内に含めておいたクエリーを書き換えたい
ということだとしたら、それは ADO.NET ではできません。

OleDbCommandAdapter で DROP および CREATE の SQL を実行すれば、
一応、削除 & 再作成ぐらいはできますが…あまり細かい指定はできません。

正攻法としては、DAO の QueryDef オブジェクト経由で書き換えるか、
ADOX を使うかですね。いずれにしても .NET のマネージオブジェクトでは無く
COM コンポーネントでのアクセスということになります。


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

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






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