LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: No Subjec...
 Тема: No Subject
 
 15.06.2007 21:01:56
Юрий4
6 сообщения


Тема: No Subject
Помогите найти способ программно выставить несколько настроек Access-2000 таких как:

1. Поведение курсора при входе в поле - в конец поля.
2. Подтверждение запросов на изменения,удаление - без всяких вопросов
3. Сжимать базу данных при закрытии.


Дело в том, что пользователей много и каждому нужно рассказать как выставить эти настройки в параметрах уже надоело. Хочется, чтобы Access сам их выставил. Заранее спасибо.


P.S. Общие вопросы по базе данных
Автор: Юрий от 01.02.2002 22:50:06 Источник ...
 15.06.2007 21:01:56
All
4316 сообщения
1-ый


RE: No Subject
Наберите в поиске справки VB "Startup Properties Example", там как раз пример по изменению параметров запуска
Кроме того просмотрите свойства образцовой БД

Function PR()
Dim i As Long
On Error Resume Next
With CurrentDb.Properties
For i = 0 To .Count - 1
Debug.Print .Item(i).Name, .Item(i).Value
Next i
End With
End Function

Многие свойства присущи непосредственно Access (в смысле для всех БД)
Настройте как надо, затем откройте реестр

HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Access\Settings

и сохраните эту ветвь в файл(или только выбранные параметры)


А дальше по-моему проще просто на машине клиента занести эти данные в реестр, чем упражняться в работе VB с реестром.

Конкретно Ваш вопрос:

Создайте модуль, занесите в него

Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Private Const REG_DWORD = 4
Private Const HKEY_CURRENT_USER = &H80000001

Function EE()
Dim hKey As Long
Dim strKey As String
Dim lRetVal As Long

CurrentDb.Properties.Item("Auto Compact") = 1
strKey = "Software\Microsoft\Office\9.0\Access\Settings"
lRetVal = RegOpenKey(HKEY_CURRENT_USER, strKey, hKey)
RegSetValueEx hKey, "Confirm Action Queries", 0&, REG_DWORD, 1, 4
RegSetValueEx hKey, "Confirm Document Deletions", 0&, REG_DWORD, 1, 4
RegSetValueEx hKey, "Confirm Record Changes", 0&, REG_DWORD, 1, 4
RegSetValueEx hKey, "Behavior Entering Field", 0&, REG_DWORD, 2, 4

RegCloseKey hKey
End Function

Затем создайте макрос AutoExec на выполнение при старте функции EE()

Теперь эти настройки будут обновляться при открытии БД

ВНИМАНИЕ! Если Вы не уверены, то при работе с реестром рекомендуется его предварительно сохранить


P.S. Общие вопросы по базе данных
Автор: Николай от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: No Subjec...
ПоискПоиск  Список форумовСписок форумов  
right