| 
    
     |  | ▼じぇっと さん、こたつねこさん、こんにちは。 
 >久々にADOを使用しています。
 >かなり忘れています(汗)
 >ご教授願います。
 >
 >*環境
 >・OS:WinNT4.0
 >・Excel:97
 >・Access:2.0
 >(XPでも同じ事象が発生します)
 >
 >*目的
 >エクセルからADOを使用して、アクセスのテーブルからデータを抽出(読み取り)する。
 >アクセスのテーブルには、ユーザーがデータの読み取りをできないようになっている。
 >この権限設定をSQLを使用して、ユーザーからもデータの読み取りができるようにしてから、データの抽出を行う。
 >
 >*問題点
 >権限設定の変更が実行できない。
 >
 >*組んだコード
 >下記のようなコードを組みました。
 >始めにも申し上げましたが、久々にADOを使用しているので、見当違いのコードを組んでいるかもしれません。ご容赦願います。
 >下記コード内のコメント文「'☆エラー」の部分でエラーが発生してしまいます。
 >エラーの内容は『実行時エラー '-2147467259(80004005)';Jet データベースエンジンのワークグループ情報ファイルを開くことができません。』です。
 >
 >
 >Sub プロシージャ()
 >
 >Dim cnn As Object
 >Dim rst As Object
 >Dim cmd As Object
 >
 >Set cnn = CreateObject("ADODB.Connection")
 >Set rst = CreateObject("ADODB.Recordset")
 >Set cmd = CreateObject("ADODB.Command")
 >
 >cnn.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;" _
 >           & "Data Source=C:\アクセス.mdb"
 >cnn.Open
 >Set cmd.activeConnection = cnn
 >cmd.CommandText = "GRANT ALL PRIVILEGES ON テーブル TO PUBLIC;"
 >Set rst = cmd.Execute  '☆エラー
 >
 >rst.Open "Select * FROM テーブル", cnn
 >
 >Rem 読み取り処理
 >
 >End Sub
 まず、
 
 GRANT ALL PRIVILEGES ON テーブル TO PUBLIC
 このSqlって、Mdbファイルで使えましたっけ?
 私が調べた限りでは、その記述が見当たらないんですが・・・。
 仮に可能だとして、
 
 権限の変更を 読み取りも許されていないユーザーが
 Sql一行で変更できたら、権限の意味があるのかなあ?
 これは、管理者で接続して権限変更するのではありませんか?
 
 ADOでの権限変更ですが、以下のサイトが参考に
 なりませんか?
 
 http://www.microsoft.com/japan/msdn/data/techmat/ado/dao2ado_6.asp
 
 の「権限の設定」を参考にしてみてください。
 
 尚、私もやったことがないのであしからず・・・。
 
 
 |  |