EXCELマクロのSQL文での引用符の使い方
EXCELで社外サーバーにある、postgreSQLのデーターベーステーブルに接続し、テーブルにフォームに入力した値でフィルタをかけた結果をシートに転記するマクロを作ろうと思っています。
ACCESSではVBE扱ったことありますが、EXCELはほとんど経験なく、特にSQL(クエリ)の扱いが良く分からず、エラーの連続です。
いろんな、事例をググったのですがどうしても解決できす、どなたかお教えできないでしょうか?
以下標準モジュールに書き込み、Callで呼び出しています。
Sub tbl_copy()
Dim QT As QueryTable
Dim MySql As String
Dim oCoN As New ADODB.Connection
Dim oRS As ADODB.Recordset
Dim day1 As Variant
Dim day2 As Variant
Dim s_num As Variant
day1 = form1.date1
day2 = form1.date2
s_num = form1.NUMBER
oCoN.Open "Driver={PostgreSQL Unicode}; Server=***.***.***.***; Database=DB001; UID=*****; PWD=*******; Port=****;"
MySql = " select start_date, end_date, name, place, note from schedule" & _
" where owner_id LIKE s_num and (start_date Between #"" & day1 & ""# AND #"" & day2 & ""#) " & _
" order by start_date ASC; "
Set oRS = New ADODB.Recordset
oRS.Open MySql, oCoN, adOpenStatic, adLockReadOnly, adCmdText ’ここでエラー!
Set QT = ActiveSheet.QueryTables.Add(Connection:=oCoN, Destination:=Range("A3"))
QT.name = "MyQuery"
QT.Refresh
oRS.Close
oCoN.Close
Set oRS = Nothing
Set oCoN = Nothing
End Sub
SQL文の書き方がまずいのかな?と思うのですが、ご教授願えれば幸いです。