テーブルにデータを入力するために使用DoCmd.TransferSpreadsheet
しています。このコマンドは、フォームのボタンを使用して呼び出されています。転送が完了したら、追加されたレコードの数をユーザーに通知したいと思います。私が使用するこれを実行するためdb.OpenRecordset("select * from tblImport")
にMsgBox(rs.RecordCount)
、問題は、転送が完了する前にレコードカウントが呼び出されていることです。これを同期的に呼び出す方法はありますか?
これが完全なコードです
Private Sub cmdVIT_Click()
On Error Resume Next
Dim strPath As String
Dim filePicker As FileDialog
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set filePicker = Application.FileDialog(msoFileDialogFilePicker)
With filePicker
.AllowMultiSelect = False
.ButtonName = "Select"
.InitialView = msoFileDialogViewList
.Title = "Select File"
With .Filters
.Clear
.Add "All Files", "*.*"
End With
.FilterIndex = 1
.Show
End With
strPath = filePicker.SelectedItems(1)
Debug.Print strPath
DoCmd.TransferSpreadsheet TransferType:=acImport, SpreadsheetType:=acSpreadsheetTypeExcel12, TableName:="tblImport", FileName:=strPath, HasFieldNames:=True
Set rs = db.OpenRecordset("select * from tblImport")
MsgBox rs.RecordCount & " records"
End Sub