「平成」を感じるもの

Access2007からExcelへデータ出力するときにパラメータで日付を入力して得たデータをExcelへエクスポートしたいのですがエラーになってしまいます。アドバイスをお願いします。

プロシージャは

Private Sub 徴収簿_Click()
Dim xlsm As Excel.Application
Dim wkb As Excel.Workbook
Dim wks As Excel.Worksheet

'----- クエリのデータをADOで取り出す
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

Set cn = CurrentProject.Connection
Set cmd.ActiveConnection = cn
cmd.CommandText = "決定通知書2"

Set rs = cmd.Execute →ここでエラー「SQLステートメントが正しくありません」

Set xlsm = CreateObject("Excel.Application")

質問者からの補足コメント

  • つらい・・・

    早速の回答有難うございました。とりあえずDim cn As New ADODB.ConnectionのNewを消しました。ご指摘の通り”決定通知書2”がパラメータクエリで日付を入力します。既存のクエリを使用して Recordset オブジェクトを開くのhttps://msdn.microsoft.com/ja-jp/library/cc37662 …を見ましたが、すみませんどこをどう直したら良いのかわかりません。お手数かけますがご指導ください。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/04/09 18:13

A 回答 (2件)

よく読んでもらえば分るかと思うのですが・・・。


"決定通知書2"のSQL文を上げてもらわないと具体的な回答はできません。

PS.
自ファイルを対象としているのでDAOの方が簡単な気がします。
#083 パラメータクエリーをVBAから使うには
http://www.tsware.jp/tips/tips_083.htm
Microsoft Office 14.0 Access database engine Object Library または
Microsoft DAO 3.6 Object Library に参照設定のチェックを入れて試してみては?
なお、
Dim rst As Recordset → Dim rst As dao.Recordset に修正しておいた方が吉。
    • good
    • 0
この回答へのお礼

nicotinismさん回答有難うございました。DAOをもっと勉強してみます。
とりあえず更新クエリを作成して使用しておきます。もっと勉強が必要ですね。

お礼日時:2016/04/10 16:23

とりあえず、


Dim cn As New ADODB.Connection
の New は、CurrentProject.Connection なので不要。

"決定通知書2" がパラメータクエリっぽい様ですので、
既存のクエリを使用して Recordset オブジェクトを開く
https://msdn.microsoft.com/ja-jp/library/cc37662 …
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報