Microsoft Access 掲示板

レコードセットのエクセルへの出力と保存 / 1

4 コメント
views
4 フォロー
1
hiroton 2023/06/08 (木) 11:26:50 修正 dd05a@f966d

id名を取得しておいて、保存はExcel VBAでの記述をそのまま使えばいいですね

       Dim id名 As String
       For j = 0 To rs.Fields.Count - 1
           .cells(1, j + 1) = rs(j).Name
           If rs(j).Name = "id名" Then id名 = rs(j)
       Next j
       .cells(2, 1).copyfromrecordset rs
       .Visible = True

'// ここでできたエクセルを、名前を自動でつけて(id名でよい)、指定のパスに保存したい
  .ActiveWorkbook.SaveAs "(指定のフォルダパス)" & "\" & id名

コード全体に関しては
ループ内でやるべき(何度も繰り返す必要がある)処理か?
With ~ End With内の省略記述は正しくオブジェクトが指定できているか?
あたりを見つめてみるといいと思います


コードミスを見落としてました
openに対してcloseがないですね

   Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)  '//これに対応するcloseがない

なくても動くといえば動くんですが(たいていエラーも起きないでしょう)だいぶ良くないので指摘しておきます

通報 ...