Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
DoCmd.TransferSpreadsheet acExportでエラー発生
投稿日時: 18/12/12 16:11:25
投稿者: けん太

 
 
「"が見つかりません。パラメータや別名が正しいこと、 無効な文字や区切り記号が含まれていないこと、または名前が長すぎないことを確認してくだい」となります。
 
出力するクエリのフィールド名に「D#」と言う項目がある為でしょうか?
エラー回避の方法があれば、ご教授お願いいたします。

回答
投稿日時: 18/12/12 18:43:22
投稿者: hatena
投稿者のウェブサイトに移動

フィールド名を [D#] というように角カッコで囲んだらどうでしょうか。

回答
投稿日時: 18/12/12 20:00:06
投稿者: hatena
投稿者のウェブサイトに移動

Accessには # で囲むと日付を表すという規則があります。
 

#2018/12/12#
 
このように特別な意味を持つ記号をフィールド名に使っている場合は、
フィールド名を[]で囲むとエラーにならないです。

投稿日時: 18/12/13 09:29:59
投稿者: けん太

hatenaさん
ありがとうございます。 出力定義は下記記載しております。
〇は全角文字です。
 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "出力A", path_name & "\〇〇〇〇_〇〇〇_yyyymm.xls", True
 

引用:
フィールド名を [D#] というように角カッコで囲んだらどうでしょうか。

 
DBの定義自体を変えると言うことでしょうか?
 

回答
投稿日時: 18/12/13 09:36:42
投稿者: sk

MS サポートより:
https://support.microsoft.com/ja-jp/help/826763/error-message-when-you-use-special-characters-in-access-databases
 

引用:
Microsoft Excel ファイル形式、HTML ファイル形式、またはテキスト ファイル形式など、
他のファイル形式にデータベース オブジェクトをエクスポートする場合は、
データベースのオブジェクト名またはフィールド名に番号記号 (#) やピリオド (.) を
使用しないでください

投稿日時: 18/12/13 09:42:15
投稿者: けん太

skさん
 
ご指摘、ありがとうございました。