|
|
|
Forum Member
      
участник
Last Login: 05.09.2008 18:12
Сообщ.: 27,
Visits: 226
|
|
| Ни для кого не секрет, что проблемы с сервером могут остановить работу всего офиса на неопределенный период. В моем случае это неприемлемо. Создается 2 БД - серверная (SQL) и локальная. Как дать пользователю возможность выбрать какую из этих БД открывать, если отсутствует подключение к SQL- серверу?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.03.2008 19:04
Сообщ.: 328,
Visits: 1 857
|
|
Создаете форму, в которой предоставляете возможность выбора базы с данными и которую указываете в качестве стартовой (меню Сервис->Параметры запуска...->Вывод формы/страницы). Тогда эта форма будет автоматически открываться при запуске приложения
Еще есть: "Специальный макрос AutoExec позволяет автоматически выполнить макрокоманду или набор макрокоманд при открытии базы данных. В процессе открытия базы данных Microsoft Access проводит поиск макроса с этим именем и, если такой макрос существует, автоматически запускает его."(Help). Но так как с макросами никогда не работал, то ничего путевого по его начинке посоветовать не могу.
Невольно напрашивается вопрос: а не возникнут ли у Вас проблемы по синхронизации этих баз?
|
|
|
|
|
Forum Member
      
участник
Last Login: 05.09.2008 18:12
Сообщ.: 27,
Visits: 226
|
|
| Когда сервер заработает, все данные из локальных таблиц будут добавлены в серверные таблицы. Таблицы учета разных данных между собой не пересекаются. Справочники (таблицы подстановки) каждый вечер будут сбрасываться в локалки. Вот такая логика.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 13.03.2008 11:35
Сообщ.: 839,
Visits: 8 738
|
|
| Вам нужно сделать форму, которая при запуске будет пытаться подключиться к серверу (или просто обратиться по сети к файлу - не выключен ли сервер?). Если получите ошибку, то подключаетесь к локальному файлу. А если ошибки не возникает, то подключаетесь к серверу...
|
|
|
|
|
Forum Member
      
участник
Last Login: 05.09.2008 18:12
Сообщ.: 27,
Visits: 226
|
|
| А можно поподробней на тему примерного синтаксиса такого обращения к серверу? Если в AutoExec поставить запуск функции при отключенном сервере выдает стандартное сообщение об отсутствии подключения к SQL-серверу и предлагает проверку подключения. Это можно как-то обойти? Set Warnings false не помогает. А-то девочки обязательно будут мучиться и подключаться. И еще. Перерыла все форумы, но так и не нашла как открыть .mdb-файл из другого .mdb-файла. А может я че-то не так искала... Помогите, чем можете, а то мне через три дня это все запускать (сижу и плачу).
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.03.2008 19:04
Сообщ.: 328,
Visits: 1 857
|
|
sloniha (25.06.2007) И еще. Перерыла все форумы, но так и не нашла как открыть .mdb-файл из другого .mdb-файла. А может я че-то не так искала... Помогите, чем можете, а то мне через три дня это все запускать (сижу и плачу).
Не совсем понял, что Вам конкретно нужно: OpenCurrentDatabase или OpenDatabase, но оба метода неплохо (с примерами) описаны в Help.
|
|
|
|
|
Forum Member
      
участник
Last Login: 05.09.2008 18:12
Сообщ.: 27,
Visits: 226
|
|
| Мне нужно, чтобы физически открылся другой файл .mdb, в котором таблицы локальные, а тот, в котором таблицы подключены к серверу, который на данный момент не работает, закрылся.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.03.2008 19:04
Сообщ.: 328,
Visits: 1 857
|
|
Рабочий пример из Access97
Option Compare Database
Option Explicit
Dim appAccess As Access.Application
Private Sub Кнопка0_Click()
Dim strDB As String
strDB = "c:\Program Files\Microsoft Office97\Office\Samples\Борей.mdb"
Set appAccess = CreateObject("Access.Application.8") 'Если на компе Access2003, то вместо 8 поставить 11
' Открывает базу данных в новом окне Microsoft Access.
appAccess.OpenCurrentDatabase strDB
' Открывает форму "Заказы".
appAccess.DoCmd.OpenForm "Заказы"
appAccess.Visible = True
' Закрывает текущее приложение
Application.Quit
End Sub
|
|
|
|
|
|
| | |