|
|
|
| Имеется БД, разделнная на табличную и форменную части. Табличная часть лежит на сервере1. Как сделать так, что бы при выходе из БД пользователь мог сохранить табличную часть на любой другой сервер или флешку (ну на выбор пользователя)? | |
|
| |
|
|
|
| Если имеется в виду файл-серверная конструкция, то задача сводится к:
1. Определить момент выхода из приложения.
Это можно сделать на Unload формы (возможно скрытой, и загруженной во время старта приложения), на реакции своей кнопки меню и т.д.
2. Закрыть все формы, отчеты и прочая, источники данных которых основаны на прилинкованных таблицах.
3. Получить путь файла прилинкованных таблиц (запросом из системных)
4. Проверить наличие файла блокировок.
5. Спросить пользователя, желает ли он делать резервную копию (не обязательно)
6. Открыть файл-диалог определения нового размещения файла копии.
7. Копировать файл, возможно с указанием даты-времени копии в названии файла.
8. Закрыть приложение.
Может чего и забыл. | |
|
| |
|
|
|
| Спасибо) А распишите поподробнее пунктики 3, 4 и 6 | |
|
| |
|
|
|
| п.3
Запрос:
SELECT MSysObjects.Database FROM MSysObjects GROUP BY MSysObjects.Database HAVING (((MSysObjects.Database) Is Not Null));
|
Остальные поиском. | |
|
| |
|
|
|
|
| может поможет по пункту 6:
Public Function DBname() As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Dim sDBname As String
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "Выберите файл БД"
With fd
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
DBname = vrtSelectedItem
Next vrtSelectedItem
Else
DBname = ""
End If
End With
Set fd = Nothing
End Function
|
| |
|
| |
|
|
|
| СПАСИБО
Пригодится все ) | |
|
| |