Excel VBA質問箱 IV

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

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


54831 / 76732 ←次へ | 前へ→

【26685】エクセルからアクセスのクエリー実行について
質問  sawa  - 05/7/14(木) 9:34 -

引用なし
パスワード
   エクセルからアクセスのクエリーを実行したいのですが、他の掲示板で質問したところ、下記の回答をいただきました。
ただ、クエリーは選択できるのですが、実行するとエラーが出るのです。
どこでエラーが出てるのかさっぱりわかりません(>_<)
どなたか分かる方がいらっしゃったら、ご指導お願いしたいのですが。。。

↓これをシートモジュールへ

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancl As Boolean)
  Dim Lp As Single, Wp As Single, Hp As Single
  Dim ObjDB As DAO.Database
  Dim i As Long
  Const MyDB As String = _
  "C:\Documents and Settings\User\My Documents\DB_Files\test.mdb"

  With Target
    If .Row > 1 Then Exit Sub
    Lp = .Left: Wp = .Width * 2: Hp = .Height
  End With
  Cancel = True
  Set ObjDB = DBEngine.Workspaces(0).OpenDatabase(MyDB)
  If ObjDB.QueryDefs.Count = 0 Then GoTo ELine
  With ActiveSheet.DropDowns.Add(Lp, 0.1, Wp, Hp)
   For i = 0 To ObjDB.QueryDefs.Count - 1
    .AddItem ObjDB.QueryDefs(i).Name
   Next i
   .OnAction = "Exc_MySQL"
  End With
ELine:
  ObjDB.Close: Set ObjDB = Nothing
End Sub

↓これは標準モジュールへ

Sub Exc_MySQL()
  Dim x As Variant
  Dim ObjDB As DAO.Database
  Dim i As Integer
  Dim SQLSt As String
  Const MyDB As String = _
  "C:\Documents and Settings\User\My Documents\DB_Files\test.mdb"

  x = Application.Caller
  If VarType(x) <> 8 Then Exit Sub
  With ActiveSheet.DropDowns(x)
   i = .ListIndex - 1
   .Delete
  End With
  Set ObjDB = DBEngine.Workspaces(0).OpenDatabase(MyDB)
  SQLSt = ObjDB.QueryDefs(i).SQL     
  ObjDB.Execute SQLSt, dbFailOnError
  ObjDB.Close: Set ObjDB = Nothing
End Sub 

まず、VBE画面のメニューで「ツール」「参照設定」を選択し、
"Microsoft DAO 3.? Object Library" にチェックをつけて下さい。
イベントマクロを入れたシートの1行目の任意のセルをダブルクリックすると、
コンボボックスが現れます。そこに
"C:\Documents and Settings\User\My Documents\DB_Files\test.mdb"(仮)
で登録しているクエリーの名前がリストアップされますから、選択してください。
Exc_MySQLが呼び出されて実行されます
2 hits

【26685】エクセルからアクセスのクエリー実行について sawa 05/7/14(木) 9:34 質問
【26694】Re:エクセルからアクセスのクエリー実行... 小僧 05/7/14(木) 11:23 発言
【26703】Re:エクセルからアクセスのクエリー実行... sawa 05/7/14(木) 13:32 質問
【26705】Re:エクセルからアクセスのクエリー実行... 小僧 05/7/14(木) 14:29 発言
【26707】Re:エクセルからアクセスのクエリー実行... sawa 05/7/14(木) 15:10 質問
【26708】Re:エクセルからアクセスのクエリー実行... 小僧 05/7/14(木) 15:35 発言
【26714】Re:エクセルからアクセスのクエリー実行... sawa 05/7/14(木) 16:51 発言

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