G
Guest
Hi:
I'm using the following code to transfer a spreadsheet into the database and
display the fields.
It generally works OK, but the problems I have are:
1. I can't edit the database after loading a spreadsheet as Access says that
another user has the DB open.
2. Sometimes Access can't find the spreadsheet when it's transfered (Can't
find object), even though it's visible in the DB Window. I have that issue in
another part of the database too when I copy the transfered table, when I try
to open it as a recordset Access complains that it can't find it??
Thanks,
Perry
On Error Resume Next
DoCmd.DeleteObject acTable, "Spreadsheet"
DoCmd.DeleteObject acTable, "DuplicateSpreadsheet"
Application.RefreshDatabaseWindow
On Error GoTo Err_btnLoadSpreadsheet_Click
SpreadsheetFileName = GetOpenFile(, "Import a Spreadsheet")
If SpreadsheetFileName = "" Then Exit Sub
Dim lngAdded As Long, strSQL As String
On Error GoTo Err_btnLoadSpreadsheet_Click
DoCmd.TransferSpreadsheet acImport, , "Spreadsheet",
SpreadsheetFileName, True
Application.RefreshDatabaseWindow
Dim tblSpreadsheet As Recordset, fld As Field, dbs As Database
Set dbs = CurrentDb
Set tblSpreadsheet = dbs.OpenRecordset("Spreadsheet")
For x = 0 To lstFields.ListCount - 1
lstFields.RemoveItem (0)
Next
For Each fld In tblSpreadsheet.Fields
Me.lstFields.AddItem fld.Name
Next
Call ShowFileButtons(False)
lstFields.Visible = True
[Available Fields_Label].Visible = True
Me.btnReload.Visible = True
Me.lblLoadedSpreadsheet.Caption = Mid(SpreadsheetFileName,
InStrRev(SpreadsheetFileName, "\") + 1)
dbs.Close
Set dbs = Nothing
I'm using the following code to transfer a spreadsheet into the database and
display the fields.
It generally works OK, but the problems I have are:
1. I can't edit the database after loading a spreadsheet as Access says that
another user has the DB open.
2. Sometimes Access can't find the spreadsheet when it's transfered (Can't
find object), even though it's visible in the DB Window. I have that issue in
another part of the database too when I copy the transfered table, when I try
to open it as a recordset Access complains that it can't find it??
Thanks,
Perry
On Error Resume Next
DoCmd.DeleteObject acTable, "Spreadsheet"
DoCmd.DeleteObject acTable, "DuplicateSpreadsheet"
Application.RefreshDatabaseWindow
On Error GoTo Err_btnLoadSpreadsheet_Click
SpreadsheetFileName = GetOpenFile(, "Import a Spreadsheet")
If SpreadsheetFileName = "" Then Exit Sub
Dim lngAdded As Long, strSQL As String
On Error GoTo Err_btnLoadSpreadsheet_Click
DoCmd.TransferSpreadsheet acImport, , "Spreadsheet",
SpreadsheetFileName, True
Application.RefreshDatabaseWindow
Dim tblSpreadsheet As Recordset, fld As Field, dbs As Database
Set dbs = CurrentDb
Set tblSpreadsheet = dbs.OpenRecordset("Spreadsheet")
For x = 0 To lstFields.ListCount - 1
lstFields.RemoveItem (0)
Next
For Each fld In tblSpreadsheet.Fields
Me.lstFields.AddItem fld.Name
Next
Call ShowFileButtons(False)
lstFields.Visible = True
[Available Fields_Label].Visible = True
Me.btnReload.Visible = True
Me.lblLoadedSpreadsheet.Caption = Mid(SpreadsheetFileName,
InStrRev(SpreadsheetFileName, "\") + 1)
dbs.Close
Set dbs = Nothing