Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


51141 / 76738 ←次へ | 前へ→

【30471】Re:ADOを使用して権限設定
発言  ichinose  - 05/10/28(金) 10:08 -

引用なし
パスワード
   ▼じぇっと さん、こたつねこさん、こんにちは。

>久々に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

の「権限の設定」を参考にしてみてください。

尚、私もやったことがないのであしからず・・・。

0 hits

【30461】ADOを使用して権限設定 じぇっと 05/10/27(木) 22:37 質問
【30465】Re:ADOを使用して権限設定 こたつねこ 05/10/27(木) 23:19 発言
【30471】Re:ADOを使用して権限設定 ichinose 05/10/28(金) 10:08 発言
【30507】Re:ADOを使用して権限設定 じぇっと 05/10/29(土) 0:56 お礼

51141 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free