###実現したいこと
- VBAで既存のテーブルに対してフィールドごとにデータ型を一括変更
- VBAでExcelファイルをAccessへインポートする際にフィールドごとにデータ型を指定
上記のどちらか、もしくは下記問題を解決できる方法
###問題
TransferSpreadsheetで新規テーブルとしてExcelファイルをAccessにインポートする際に「長い文字列」になって欲しいフィールドが「短い文字列」としてインポートされてしまいデータが途切れているレコードが発生している。
###前提
- Accessの仕様上最初の数行のデータからフィールドの型を自動判別しているらしいということはわかりましたが判別させるためだけに無駄に長い文字列を作るということは出来かねます。
- インポート元のExcelファイルのフィールド、フィールド数は変動します。
###該当のソースコード
VBA
1Private Sub convertDataCsv2_Click() 2'CSVファイルの選択 3ReturnArray = GetFileName(True, "Excelファイル (*.xlsx)|*.xlsx", "インポート") 4importFilePath = ReturnArray(1) 5 6If importFilePath <> "" Then 7 'CSVインポートの実行 8 Debug.Print importFilePath & " のインポート開始" 9 DoCmd.TransferSpreadsheet acImport, 10, "data", importFilePath, True, "" 10 Debug.Print importFilePath & " のインポート完了" 11Else 12 MsgBox "キャンセルされました" 13End If 14 15End Sub
###補足情報(言語/FW/ツール等のバージョンなど)
Access 2013
以上、よろしくお願いいたします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/01 06:03
2017/06/01 06:37
2017/06/01 06:43