Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: получить вариант ответа пользователя при работе с docmd.outputto
 
 автор: ludmil   (24.06.2010 в 12:49)   личное сообщение
 
 

Необходимо чтобы пользователь всегда отвечал ДА перезаписать или получить вариант ответа и обработать его т.к. после ответа нет или отказ -повисает файл.Как это обработать

  Ответить  
 
 автор: osmor   (24.06.2010 в 21:02)   личное сообщение
 
 

а в параметрах самого outputto нет соответствующего параметра? (не помню, сто лет им не пользовался)
если нет, то проверить наличие файла (например Dir) и спросить msgbox, при необходимости удалить, и только потом вызывать outputto

  Ответить  
 
 автор: snipe   (25.06.2010 в 05:29)   личное сообщение
 
 

Удалить файл безапелляционно если он есть и потом вывести данные
например как-то так

Private Sub Кнопка6_Click()
On Error GoTo ФайлЗанят_Err

'необходимо подключение библиотеки Microsoft Scripting Runtime
Dim fs As New FileSystemObject
'если файл существует то удаляем файл если файл занят приложением то возникнет ошибка
'которую чуть ниже отловим
If fs.FileExists("c:\1.xls") = True Then fs.DeleteFile ("c:\1.xls")
DoCmd.OutputTo acQuery, "Запрос1", "MicrosoftExcelBiff8(*.xls)", "c:\1.xls", True, "", 0
Set fs = Nothing

ФайлЗанят_Exit:
Exit Sub
ФайлЗанят_Err:
If Err = 70 Then
MsgBox "В настоящее время выгрузка невозможна - повторите попытку чуть позже"
Else
MsgBox Error$
End If
Resume ФайлЗанят_Exit
End Sub

  Ответить  
 
 автор: ludmil   (25.06.2010 в 09:35)   личное сообщение
 
 

СПасибо! выручили. Где можно почитать о составе и функциях подключаемых библиотек.?

  Ответить  
 
 автор: snipe   (25.06.2010 в 09:39)   личное сообщение
 
 

ну вообще-то можно и без библиотеки
убрать строку Dim fs As New FileSystemObject
вместо If fs.FileExists("c:\1.xls") = True Then fs.DeleteFile ("c:\1.xls")
написать If Dir("c:\1.xls") <> "" Then Kill ("c:\1.xls")
убрать строку Set fs = Nothing

почитать про FSO
вот например
http://www.vbnet.ru/articles/showarticle.aspx?id=35
но там не все

  Ответить  
 
 автор: ludmil   (25.06.2010 в 12:46)   личное сообщение
 
 

Спасибо! Но суть еще и в том что в одном блоке создаю а потом вновь открываю для корректуры только что созданный файл .Пытаюсь открыть его с параметрами на чтение и запись а выдает ошибку в синтаксисе
Set xlApp = CreateObject("excel.application")
xlApp.Visible = False
Workbooks.Open(imf,0,False, , , ,True) тут меняла и 2 вместо 0 почитав описание в excel . Именно в этом месте и идет запрос на потверждение замены - хотела обойти но что-то не получается ...

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList