Access VBA質問箱 IV

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

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


5849 / 9994 ←次へ | 前へ→

【7357】Re:雛形ファイルへのリッセトについて
回答  小僧  - 06/2/22(水) 14:10 -

引用なし
パスワード
   ▼kama さん:
こんにちは。

>「実行時エラー3061:パラメータが少なすぎます、11を指定してください」

こちらについては、現在 C:\ABC.xls は A 列にしか値が入っていない状態ではないでしょうか。

A 〜 L と12個の値を格納するのに、
受け皿が狭い為にパラメータを要求されているのだと思います。

>[QTemp$A1:L210]

は残念ながら認識してくれない模様です。


さて、kama さんの行いたい事はもう一つ厄介な点を抱えています。

MS の技術情報より
http://support.microsoft.com/kb/904953/#kb1

2005年10月18日に発表された Office の update を適用すると、
DAO による Excel の更新ができなくなってしまいます。
(実行時エラー '3073' 更新可能なクエリである事が必要です。 と表示されます)

この問題は現在の所、オートメーションを用いて回避する方法が一般的です。


Sub T_056改()
'要参照 DAO x.x Object Library
Const csXlPath As String = "C:\ABC.xls"
Dim i As Long
Dim xlsApp As Object
Dim xlsWkb As Object
Dim RS As DAO.Recordset

  Set RS = CurrentDb.OpenRecordset("syu", dbOpenSnapshot)
  Set xlsApp = CreateObject("Excel.Application")
  Set xlsWkb = xlsApp.Workbooks.Open(csXlPath)
  'xlsApp.Visible = True
  With xlsWkb.Sheets("QTemp")
    .Range("A1:L210").ClearContents
    
    For i = 1 To RS.Fields.Count
      .Cells(1, i).Value = RS(i - 1).Name
    Next
    
    .Range("A2").CopyFromRecordset RS
  End With
  
  xlsWkb.Close True: Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing
End Sub


クエリ名が「syu」で、Excelシート名が「QTemp」なのが気になりますが、
適宜改良して使用してみて下さい。
790 hits

【7356】雛形ファイルへのリッセトについて kama 06/2/22(水) 12:44 質問
【7357】Re:雛形ファイルへのリッセトについて 小僧 06/2/22(水) 14:10 回答
【7360】Re:雛形ファイルへのリッセトについて kama 06/2/22(水) 18:30 質問
【7365】Re:雛形ファイルへのリッセトについて 小僧 06/2/23(木) 11:18 発言
【7368】Re:雛形ファイルへのリッセトについて kuma 06/2/23(木) 11:50 お礼

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