10.2 Создать клиентский файл в один клик

Поделиться
HTML-код
  • Опубликовано: 14 окт 2024
  • В данном видео рассмотрим, как сделать создать в один клик индивидуальный клиентский файл, в именной папке. Алгоритм предусматривает создание именной папки клиента, в которой содержится откомпилированный файл клиента.
    Код на событие текущей записи формы «Создать клиента»:
    Private Sub Form_Current()
    'на событии текущей записи проверяется, заполнены ли поля "Новая роль" и "Файл источник",
    'в положительном случае становится видимой кнопка24 (запуск процесса создания клиента)
    If Not IsNull(Me.НоваяРоль) And Not IsNull(Me.ФайлИсточник) Then
    Me.Кнопка24.Visible = True
    Else
    Me.Кнопка24.Visible = False
    End If
    End Sub
    Этот код вставляем на событие нажатия кнопки Создать клиента:
    Private Sub Кнопка24_Click()
    'При нажатии кнопки сначала отключаются сообщения и запускаются запросы
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "Назначить в кадры2"
    DoCmd.RunCommand acCmdRefresh
    DoCmd.OpenQuery "Назначить в файл2"
    'Экспорт из файла Администратора в файл-источник (в папке ACCDE) таблицы "Назначить идентификатор" с данными нового клиента
    DoCmd.TransferDatabase acExport, "Microsoft Access", "E:\ACCDE\" & [ФайлИсточник] & ".accde", acTable, "Назначить идентификатор", "Назначить идентификатор"
    'удаление старой папки со старым клиентским файлом - при наличии
    Set fso = CreateObject("Scripting.FileSystemObject")
    'если этой папки нет, возникнет ошибка, поэтому при её возникновении переходим к метке
    On Error GoTo ttDIR:
    Set Folder = fso.GetFolder("E:\Сервер\БД КБ\03_Клиентские файлы\" & [Персональная папка] & "")
    Folder.Delete 'удаляем папку клиента с её содержимым
    ttDIR:
    'создать новую именную папку
    MkDir "E:\Сервер\БД КБ\03_Клиентские файлы\" & [Персональная папка] & ""
    'копирование типового файла и создание его копии в именной папке с типовым именем и текущей датой
    Dim fsACCDE As Object
    Set fsACCDE = CreateObject("Scripting.FileSystemObject")
    fsACCDE.CopyFile Me.Откуда, Me.Куда
    Set fsACCDE = Nothing
    'по окончании процесса открываем клиентскую папку для просмотра результата
    Application.FollowHyperlink Forms![Создать клиента]![ПФ_Адрес].[Form]![Клиенты] & "\" & [Персональная папка]
    End Sub

Комментарии • 2

  • @msaccess-gk
    @msaccess-gk  9 месяцев назад

    ВНИМАНИЕ! Поддержать канал можно через Сбербанк 2202 2023 5272 6164

  • @pavelzaytsev_moscow
    @pavelzaytsev_moscow 9 месяцев назад

    Спасибо Вам за проделанную работу. Всё толково и по делу. Ценная информация для новичков.