If intRet <> 0 Then
'ファイルが選択されたとき
'そのフルパスを返り値に設定
GetFileName = Trim(.SelectedItems.Item(1))
Else
'ファイルが選択されなければブランク
GetFileName = ""
End If
End With
'選択されたフルパスをテキストボックスへ表示
Form_F_Form.テキストn.Value = GetFileName
Private Sub コマンド0_Click()
' On Error Resume Next
'変数定義
Dim intRet As Integer 'ダイアログ用変数
Dim GetFileName As String 'フルパスの値
With Application.FileDialog(msoFileDialogFilePicker)
'ダイアログのタイトルを設定
.Title ="ファイルを開くダイアログ"
'ファイルの種類を設定
.Filters.Clear
.Filters.Add "csvファイル","*.csv"
'複数ファイル選択を許可しない
.AllowMultiSelect = False
'初期パスを設定
.InitialFileName = CurrentProject.Path
'ダイアログを表示
intRet =.Show
If intRet <>0 Then
'ファイルが選択されたとき
'そのフルパスを返り値に設定
GetFileName =Trim(.SelectedItems.Item(1))
Else
'ファイルが選択されなければブランク
GetFileName =""
End If
End With
'選択されたフルパスをテキストボックスへ表示
Me.テキスト1.Value = GetFileName
DoCmd.TransferText acImportDelim,,"テーブル1", GetFileName, True
End Sub
'選択されたフルパスをテキストボックスへ表示
Me.テキスト1.Value = GetFileName
If GetFileName ="" Then Exit Sub 'これを追加してください。
DoCmd.TransferText acImportDelim,,"テーブル1", GetFileName, True
ダイアログの表示方法は分かりました。
ダイアログから選択したファイルを「テキストボックス」に
表示させインポートする方法を教えてください。
ダイアログ表示は下記のようにしました
Private Sub コマンド6_Click()
On Error Resume Next
'変数定義
Dim intRet As Integer 'ダイアログ用変数
Dim GetFileName As String 'フルパスの値
With Application.FileDialog(msoFileDialogOpen)
'ダイアログのタイトルを設定
.Title = "ファイルを開くダイアログ"
'ファイルの種類を設定
.Filters.Clear
.Filters.Add "Microsoft Office Excelファイル", ".xls,.csv"
.FilterIndex = 1
'複数ファイル選択を許可しない
.AllowMultiSelect = False
'初期パスを設定
.InitialFileName = CurrentProject.Path
'ダイアログを表示
intRet = .Show
If intRet <> 0 Then
'ファイルが選択されたとき
'そのフルパスを返り値に設定
GetFileName = Trim(.SelectedItems.Item(1))
Else
'ファイルが選択されなければブランク
GetFileName = ""
End If
End With
'選択されたフルパスをテキストボックスへ表示
Form_F_Form.テキストn.Value = GetFileName
End Sub
CSVファイルのインポートは DoCmd.TransferTextメソッドでできます。
詳細は下記で確認してください。
DoCmd.TransferText メソッド (Access) | Microsoft Learn
フォーム上にコマンドボタン「コマンド0」、テキストボックス「テキスト1」か配置してあり、
「テーブル1」にインポートするとすると下記のコードになります。
hatena様
ありがとうございます。


ダイアログからCSVファイルを選択しますと
テキストボックスにフルパスが入りますが
以下のエラーが表示されました。
何度か試しましたが同じ状態です。
hatena 様
説明が不足してました。申し訳ありません。
あらかじめ用意したインポート用のテーブルがあり
そのテーブルにインポートするとエラーになります。(先投稿の)
(ウィザードで手動ではインポートできます。)
hatena 様
前投稿の
説明が不足してました。申し訳ありません。
あらかじめ用意したインポート用のテーブルがあり
そのテーブルにインポートするとエラーになります。(先投稿の)
(ウィザードで手動ではインポートできます。)
勘違いでした。
インポートできてましたが文字化けと
インポートエラーのテーブルができます。
また、望んでいる状態のデータインポートに
なっておりませんでした。
画像の順番は
インポートエラーの画像
テーブル1の状態
手動での状態です(理想状態)
手動手順
※インポートしたいCSVファイルのアップロードはできないのでしょうか?
宜しくお願いします。



hatena 様
インポート定義を追加したらできました。
DoCmd.TransferText acImportDelim, "インポート定義", "テキスト1", GetFileName, True
※ダイアログ開いてから「キャンセル」を選ぶとエラーになります。
解決策はありますでしょうか?
なんども申し訳ありません。
下記でどうでしょう。
hatena 様
ありがとうございました。
プログラムを停止させれば良かったのですね!
勉強になりました。