エクセルをデータベースとして使いたい


社員B  2006-09-12 04:25:21  No: 133199

はじめましてよろしくお願いいたします。皆様にお知恵を拝借させて頂きたく
メールを差し上げました。

VBAを使用してSQLにて別のデータベースとして使用するエクセルファイルから
データを取得したいと考えております。

下記コードを実行すると、Excel2003の環境では問題なくコンパイル実行されイミディエイト
ウィンドに表示されるのですが、

Excel2002の環境で実行すると下記のエラーが発生します。

実行時エラー'3436'
ファイルを作成できませんでした。

ヘルプファイルによると「組み込み可能なISAMを作成しようとしましたが
エラーが発生しました。」と表示されます。。
2002には適切なISAMドライバが入っていないということになるのでしょうか。

SQLを使用した代替手段があれば、お教え頂けませんでしょうか。

大変お手数ですが、よろしくお願いいたします。

Sub test()

    Dim daoDB As DAO.Database
    Dim daoRs As DAO.Recordset
    Dim strXLSName As String
    Dim strSQL As String
    strXLSName = "C:\業務ファイル.xls"
    Set daoDB = DBEngine.Workspaces(0).OpenDatabase(strXLSName, _      ←ここでエラー
                False, False, "EXCEL 8.0; HDR=YES;")                  ←ここでエラー
    strSQL = " Select 実績合計 From [Sheet1$]" & "Where 社員コード = 111111 "
    Set daoRs = daoDB.OpenRecordset(strSQL, dbOpenDynaset)
    'レコードセットの内容を表示する
    Do Until daoRs.EOF
        Debug.Print daoRs!実績合計
        daoRs.MoveNext
    Loop
    'レコードセットを閉じる
    daoRs.Close
    

End Sub


ヤマ@文系  2006-09-13 14:18:00  No: 133200

レイトバインドでなく
アーリーバインドでやってみたらいかがでしょうか?
参照設定するやりかたです。


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




  


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