Удаление открытого файла из Access

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Ee-ex
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 07.08.2006 (Пн) 15:38

Удаление открытого файла из Access

Сообщение Ee-ex » 07.08.2006 (Пн) 16:21

Г-да, вопрос примитивный, но прошу не пинать, ибо поиск мне не помог (мож плохо искал)
Суть:
открываем файл, получаем из него данные, отправляем по почте, потом удаляем.
Проблема:
Никак не пойму, как этот файл закрыть перед удалением.
Код:

Dim PathFile, PathDir, Path, ZP As String
Dim xl As Excel.Application
Dim WB As Excel.Workbook
Dim WS As Excel.Worksheet

Dim myolapp As Object
Dim myItem As MailItem
Dim myAttachments As Attachments

PathDir = "\\NemeComp\Dir\"
PathFile = Dir(PathDir)
Path = PathDir + PathFile

Set xl = CreateObject("Excel.Application")
xl.Visible = False
Set WB = Excel.Workbooks.Open(Path)
DoCmd.SetWarnings (False)
Set WS = WB.Worksheets(1)
ZP = WS.Cells(4, 3).Value

Set myolapp = CreateObject("Outlook.Application")
Set myItem = myolapp.CreateItem(0)
myItem.To = "user@mail.ru"
myItem.Subject = ZP + " " + PathFile
Set myAttachments = myItem.Attachments
myAttachments.Add Path, olByValue, 1, " "
myItem.Send

DoCmd.SetWarnings (True)
xl.Quit
WB.Close
Set WS = Nothing
Set WB = Nothing
Set xl = Nothing
MsgBox ZP
Kill Path

Нофинги, куайт и клоз ставил наугад, надеясь что хоть что-то закроет этот файл, но увы...

Спасибо.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.08.2006 (Пн) 16:34

БРЕД :lol:

Код: Выделить всё
PathDir = "\\NemeComp\Dir\"
PathFile = Dir(PathDir)
Path = PathDir + PathFile

Ee-ex
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 07.08.2006 (Пн) 15:38

Сообщение Ee-ex » 07.08.2006 (Пн) 16:45

Это не бред. просто часть проги я убрал, дабы не постить простыни.
ЗЫ. там цикл, который проверяет наличие файлов, если есть файл, то его открывает (имя файла всегда уникально), берет данные, обрабатывает, удаляет, потом снова проверяет наличие файла, и т.п.
Но к проблеме это отношения не имеет.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.08.2006 (Пн) 17:12

у тебя скорее всего сетевые проблемы, попробуй присоединить сетевой ресурс, в качестве диска

Ee-ex
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 07.08.2006 (Пн) 15:38

Сообщение Ee-ex » 07.08.2006 (Пн) 17:17

Присоеденил. тож самое, "ошибка выполнения 70. нет разрешения".
Да, забыл сказать - Access 97 по ряду корпоративных причин, увы...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.08.2006 (Вт) 13:52

так нет разрешения - вот и причина :!:
давай права тому юзеру, под которым твоя прога работает, на запись в эту присоединенную папку.

Ee-ex
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 07.08.2006 (Пн) 15:38

Сообщение Ee-ex » 08.08.2006 (Вт) 14:19

нет разрешения - вот и причина


увы нет. без открытия файла Excel все прекрасно грохается, причина в том, что не закрывается процесс (я в диспетчере задач отлавливаю "лишний" excel).

я применил xl.Application.Quit и первый по списку файл удаляется влет, а вот на втором просходит вышеописанный затык.

Процесс фоново сидит, заразза!

UPD:

Эх вы, ладно я, ламер, но вы то! :lol:

дело было в том что Workbooks я закрывал после закрытия Excel.Application, т.е. соответственно ничего и не закрывалось. Поменял местами строки, и все заработало.

ЗЫ. Однако на самом деле благодарен за помощь, т.к. смог посмотреть на прогу как бы "со стороны", благодаря чему и нашел ошибку. Спасибо.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.08.2006 (Вт) 15:52

чтобы удобно было разбираться в вашем коде, в следующий раз заключайте его в тэги
Код: Выделить всё
CODE


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList