Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Анатолий (Киев)
Этот код закрывает БД в текущем окне и затем снова открывает ее же или другую, указанную в DBNew. Фишка в создании и выполнении VBS файла.

Sub ReopenDB(Optional ByVal DBNew As String)
Dim strExpr As String, strTempFile As String, hFile As Integer
Dim wShell As Object
    
 If Len(DBNew) = 0 Then DBNew = CurrentDb.Name

    strExpr = "Dim AccApp" & vbCrLf _
     & "Set AccApp = GetObject(""" & CurrentDb.Name & """)" & vbCrLf _
     & "WScript.Sleep 500" & vbCrLf _
     & "AccApp.CloseCurrentDatabase" & vbCrLf _
     & "AccApp.OpenCurrentDatabase """ & DBNew & """"

    Set wShell = CreateObject("WScript.Shell")
    strTempFile = wShell.ExpandEnvironmentStrings("%TEMP%")
    strTempFile = strTempFile & "\RestartDB.vbs"
    
    hFile = FreeFile
    Open strTempFile For Output Access Write As hFile
    Print #hFile, strExpr
    Close hFile
    
    wShell.Run """" & strTempFile & """", vbMinimizedNoFocus
    Kill strTempFile
End Sub


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.