Выбор исходного файла через диалог открытия файла и импорт его в акссес - VB
Формулировка задачи:
Народ подскажите плиз ! =) вот задание :
1. выбор исходного файла через диалог открытия файла (лист 1.xls)
2.импорт содержимого файла
1. выбор исходного файла через диалог открытия файла (лист 1.xls)
2.импорт содержимого файла
Решение задачи: «Выбор исходного файла через диалог открытия файла и импорт его в акссес»
textual
Листинг программы
' открытие файла Excel, импорт из оного
private sub HZ_click()
const S_TABLE$="tHZ", S_HZB$="Твоя кнопка [HZ]", S_CDB$="Твой Access"
dim xl, wb, wbn$, ws$, sql$
wb=msgbox( _
"Предпринимается попытка импорта данных из выбираемого файла Excel в таблицу ["& S_TABLE &"]." & vbcrlf & _
"Если таблица ["& S_TABLE &"] существует, она будет удалена перед импортом." & vbcrlf & _
"Продолжать?", _
vbinformation+vbyesno+vbdefaultbutton2,S_HZB)
if wb<>vbyes then exit sub
on error resume next
currentdb.execute "drop table " & S_TABLE
select case err.number
case 0,3376:err.clear
case else: msgbox "Ошибка при удалении таблицы ["& S_TABLE &"]"& vbcrlf &" :(",vbexclamation,S_HZB:exit sub
end select
set xl=createobject("excel.application")
if err.number<>0 then _
msgbox "Не получилось создать COM-сервер Excel",vbexclamation,S_HZB: exit sub
wb=xl.getopenfilename
if wb=false then _
xl.quit: set xl=nothing: msgbox "Не выбран файл для импорта",vbinformation,S_HZB: exit sub
if len(dir(wb))=0 then _
xl.quit: set xl=nothing: _
msgbox "Файл не найден" & vbcrlf &"'"& wb &"'",vbexclamation,S_HZB: exit sub
set wb=xl.workbooks.open(wb,0)
if err.number<>0 then _
xl.quit:set xl=nothing: _
msgbox "Excel не осилил открыть файл"& vbcrlf &"'"& wb &"'",vbcritical,S_HZB: exit sub
wbn=wb.fullname
ws=wb.worksheets(1).name
wb.close 0:set wb=nothing
sql="select * into [" & S_TABLE &"] from ["& ws &"$] in '"& wbn &"' 'Excel 8.0;'"
currentdb.execute sql
if err.number<>0 then _
xl.quit:set xl=nothing: _
msgbox "Не сложился импорт из Excel."& vbcrlf &"Файл '"& wbn &"',"& vbcrlf &"лист '"& ws &"'",vbcritical,S_CDB: exit sub
xl.workbooks.open wbn,0
xl.visible=true:set xl=nothing
end sub