ここから本文です

ACCESS2010でファイル選択をしてインポート

hir********さん

2012/3/1121:13:21

ACCESS2010でファイル選択をしてインポート

CSVファイルをダイアログボックスでファイルを指定してインポートしたいのですが、よろしくお願いします。

補足クリック時以下のイベントプロシジャー設定で何も動きません。

Private Sub コマンド14_Click()
Dim FN As String
Dim Res As Integer

WizHook.Key = 51488399
Res = WizHook.GetFileName(0, "", "", "", FN, "", "CSVファイル (*.csv)|*csv", 0, 0, 4, True)
WizHook.Key = 0

If Res = 0 Then
DoCmd.TransferText acImportFixed, "登録用規制情報", "20120229提出データ", CurrentProject.Path & "\kisei.csv", True
End If
End Sub

閲覧数:
28,483
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

lll********さん

2012/3/1122:08:39

サンプルです。


Sub sample()
Dim msg As String

msg = getFilePicker
If msg = "" Then Exit Sub

On Error GoTo err_sample
DoCmd.TransferText acImportDelim, , "インポート先テーブル名", msg, True
MsgBox "インポートが終了しました。"
Exit Sub
err_sample:
Select Case Err.Number
Case 3011
MsgBox "ファイルが見つかりません。処理を終了します。"
Case Else
MsgBox Err.Number & ":" & Err.Description
End Select
End Sub
Function getFilePicker(Optional dTitle As String = "ファイル選択")
'2003以降
Const msoFileDialogFilePicker As Integer = 3
Dim fDlg As Object
Set fDlg = Application.FileDialog(msoFileDialogFilePicker)

fDlg.Title = dTitle
fDlg.InitialFileName = CurrentProject.Path
fDlg.AllowMultiSelect = False
fDlg.Filters.Clear
fDlg.Filters.Add "すべてのファイル", "*.*"
fDlg.Filters.Add "CSV ファイル (*.csv)", "*.csv"
fDlg.FilterIndex = 1

If fDlg.Show Then getFilePicker = fDlg.SelectedItems(1) Else getFilePicker = ""
End Function



●「sample」を実行してください。

●「インポート先テーブル名」を直接書き換えてください。

●このサンプルでは、ファイル選択ダイアログが表示される時の最初のフォルダは当該MDBファイルが格納されているフォルダと同じです。
「 fDlg.InitialFileName = CurrentProject.Path」の箇所を以下に書き換えれば好きに変更できます。
「fDlg.InitialFileName = "C:\xxx\xxx\xxx"」←パスを入れてください。

質問した人からのコメント

2012/3/12 19:45:54

成功 おかげさまでできました。ありがとうございました。また関連の質問もできればお願いします。

ベストアンサー以外の回答

1〜1件/1件中

tky********さん

2012/3/1122:09:21

Dim FN As String
Dim Res As Integer

WizHook.Key = 51488399
Res = WizHook.GetFileName(0, "", "", "", FN, "", "CSVファイル (*.csv)|*csv", 0, 0, 4, True)
WizHook.Key = 0

If Res = 0 Then
MsgBox FN
End If


FNにファイルのフルパスが入りますので、MsgBox FNのところを
前回の質問で教わったTransferTextに変えてください。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる