powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Автоматизированное обновления программы
13 сообщений из 63, страница 3 из 3
Автоматизированное обновления программы
    #40137170
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
час58
но мне нужна интеграция в мою программу.

такого у меня нет.
А разве не проще просто версию на клиентах менять?

можно и версию менять, но у каждого раб места свои настройки , записанные в таблицах.
Так что не вариант.
А добавка таблицы - это минутное или меньше дело.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137171
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
но у каждого раб места свои настройки , записанные в таблицах.

Ясно - я в INI файлах храню локальные настройки клиента ...
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137172
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
А добавка таблицы - это минутное или меньше дело.

... Да! согласен! - .... если клиентов не 350 штук в разных зданиях ... :)
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137174
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
час58
А добавка таблицы - это минутное или меньше дело.

... Да! согласен! - .... если клиентов не 350 штук в разных зданиях ... :)

Каждый на своём раб месте , в удобное время, нажимает кнопочку
ОБНОВИТЬ.
и ЧЕРЕЗ НЕСКОЛЬКО СЕКУНД ПОЛУЧАЕТ ОТВЕТ
готово.
мне только нужен был совет - это нормально или есть более простой способ.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137179
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
час58
но мне нужна интеграция в мою программу.

Или у вас всё "в одном флаконе" (Интерфейс и Данные)?
Тогда могу только посочувствовать ...

Нет, конечно. Зачем себя ставить в такое неудобное положение.?
Интерфейс отдельно, данные отдельно, настройки и справочники отдельно.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137287
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS,

а КАК ПЕРЕНЕСТИ таблицу из одной базы в другую, находясь с кнопкой в руках в третьей базе?
Код: vbnet
1.
2.
DoCmd.CopyObject "ПутьБазыНазначения", _
"НовоеИмяТаблицы", acTable, "ИмяТаблицыИсточника"



Куда всунуть "ПутьБазыИсточник" ?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137305
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub DOBAVKA_TABLICI_V_MDB(BAZA_NAME As String )
'Добавление таблицы в базу
Dim appAccess As New Access.Application
Dim obj As Object

   If FSO.FileExists(CurrentProject.Path & "\ZAGRUZKI\" & BAZA_NAME) = False Then
   MsgBox " файл " & BAZA_NAME & " не найден"
   Exit Sub
   End If

appAccess.OpenCurrentDatabase (CurrentProject.Path & "\ZAGRUZKI\" & BAZA_NAME)
   
    For Each obj In appAccess.CurrentProject.AllForms
    DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentProject.Path & "\COMPONENTS\TABLICI\" & "OPTION_TBL.mdb", acTable, obj.Name, obj.Name
    Next obj
appAccess.CloseCurrentDatabase
Set appAccess = Nothing

End Sub


Подскажите. что не так с кодом.
Он не видит ни одной таблицы в файле.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137308
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
Подскажите. что не так с кодом.

Тут:
In appAccess.CurrentProject. AllForms
...
Не торопитесь! :)
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137316
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
час58
Подскажите. что не так с кодом.

Тут:
In appAccess.CurrentProject. AllForms
...
Не торопитесь! :)

да.
Но и In appAccess.CurrentProject.AllTables
не прокатывет.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137333
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
не прокатывет.

А если так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub PrintAllTablesInImmediate()
' Выводим в Immediate Window:
' Список всех таблиц кроме системных
Dim tdf As DAO.TableDef
Dim i%
Dim s As String
    s = String(65, "-") & vbCrLf
    For Each tdf In CurrentDb.TableDefs
        If (tdf.Attributes And dbSystemObject) = False Then
            i = i + 1
            s = s & Format(i, "000") & " - """ & tdf.Name & """" & vbCrLf
        End If
    Next
    s = s & String(65, "-") ' & vbCrLf
    Debug.Print s
    Debug.Print "Всего: " & i & " таблиц."
End Sub
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137349
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS,
Да, спасибки.
попробую через TableDefs
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137429
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, сделаешь решение)) скинь ... интересно
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137554
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот итог
Часть кода не моё изобретение, а позаимствовано из сети интернет.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
кусок переноса файла из сети, поближе к программе

        'Проверка доступности файла
        If FUN_PROVERKA_FILES_V_SETI(FOLDER_ZAGRUZKA & "\" & FILE_NAME) = False Then
            MESS "Сетевой файл не доступен. " & vbCrLf & FOLDER_ZAGRUZKA & "\" & FILE_NAME
            Exit Function
        End If
        STR_PATCH_FILE = FOLDER_ZAGRUZKA & "\" & FILE_NAME
    End If
    ' индикатор
    Form_ZAGRUZKA_VIGRUZKA_KASSIRA_FRM!ZAGRUZAEM_NADPIS.Visible = True

    MESS "Нажмите   ОК " & vbCrLf & "и дождитесь окончания загрузки " & vbCrLf & "Не нажимайте мышку во время загрузки."

' перенос файла из сетевой папки  в папку ZAGRUZKI
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Call FUN_DELETE_FILE_NAME(CurrentProject.Path & "\" & FILE_NAME)
    Call FUN_DELETE_FILE_NAME(CurrentProject.Path & "\ZAGRUZKI\" & FILE_NAME)
    FSO.CopyFile STR_PATCH_FILE, (CurrentProject.Path & "\ZAGRUZKI\" & FILE_NAME)

=============================================

Public Function FUN_PERENOS_TABLIC() As Boolean
' Перенос таблиц в базу из доп файла UPDATES.mdb
    Dim DB_2 As DAO.Database
    Dim tdf As DAO.TableDef

  On Error GoTo FUN_PERENOS_TABLIC_Error
'-----------------------------------------------------------------------------

FUN_PERENOS_TABLIC = False

            TEMP_PATCH_TO_BASE = CurrentProject.Path & "\ZAGRUZKI\UPDATES.mdb"
            Set DB_2 = OpenDatabase(TEMP_PATCH_TO_BASE)   

            For Each tdf In DB_2.TableDefs
                If Mid(tdf.Name, 1, 4) <> "Msys" Then   'если  не системная таблица тогда смотрим
                   FUN_PERENOS_TABLICI_V_MDB (tdf.Name)
                   'присоединим таблицу
                   Call FUN_LINK_TBL(CurrentProject.Path & "\COMPONENTS\TABLICI\OPTION_TBL.mdb", tdf.Name, tdf.Name)
                End If
            Next tdf
            DB_2.Close
            Set DB_2 = Nothing
            
FUN_PERENOS_TABLIC = True

'-----------------------------------------------------------------------------
   On Error GoTo 0
   Exit Function
FUN_PERENOS_TABLIC_Error:


 Call FUN_ZAPIS_V_TEXT_FILE(CurrentProject.Path & "\Ошибки программы.txt", "Функция: FUN_PERENOS_TABLIC в модуле: ZAGRUZKA_MOD" & vbTab & Nz(Err.Description))

End Function

==================================================

Public Function FUN_PERENOS_TABLICI_V_MDB(TABLE_NAME As String)
' Сам перенос таблицы
Dim appAccess As Access.Application
Dim OTKUDA$, KUDA$
    
  On Error GoTo FUN_PERENOS_TABLICI_V_MDB_Error
'-----------------------------------------------------------------------------

    OTKUDA = CurrentProject.Path & "\ZAGRUZKI\UPDATES.mdb"
    KUDA = CurrentProject.Path & "\COMPONENTS\TABLICI\OPTION_TBL.mdb"
    Set appAccess = CreateObject("Access.Application")
    With appAccess
        .OpenCurrentDatabase KUDA
        If TABLE_NAME_YES_NO(TABLE_NAME, KUDA) = True Then
        .DoCmd.DeleteObject acTable, TABLE_NAME
        End If
        .DoCmd.TransferDatabase acImport, "Microsoft Access", OTKUDA, acTable, TABLE_NAME, TABLE_NAME
    End With
   
    Set appAccess = Nothing

'-----------------------------------------------------------------------------
   On Error GoTo 0
   Exit Function
FUN_PERENOS_TABLICI_V_MDB_Error:

 Call FUN_ZAPIS_V_TEXT_FILE(CurrentProject.Path & "\Ошибки программы.txt", "Функция: FUN_PERENOS_TABLICI_V_MDB в модуле: ZAGRUZKA_MOD" & vbTab & Nz(Err.Description))

End Function

=======================================================

Public Function FUN_LINK_TBL(sBasePath As String, _
                srsTblName As String, _
                Optional newTblName As String = "", _
                Optional MakeHidden As Boolean = False) As Long
'es 30.06.2011
'Подключение указанной таблицы MDB файла
'--------------------------------------------------------------------
'Аргументы:
'   sBasePath     = Строка пути вида: "C:\Temp\MyDB.mdb"
'   srsTblName    = Исходное название таблицы в базе
'   newTblName    = Новое имя таблицы (по умолч. = srsTblName)
'   makeHidden    = Сделать скрытой (по умолч. = нет)
'При ошибке возвращает ее код
'--------------------------------------------------------------------
Dim db As DAO.Database
Dim tdf As DAO.TableDef
    
'Имя создаваемой таблицы
    If newTblName = "" Then newTblName = srsTblName
'Удаление старой (если есть)
On Error Resume Next
    Set db = CurrentDb
    db.TableDefs.Delete newTblName
    Err.Clear
'Создание и подключение
On Error GoTo ConnectToTableErr
    Set tdf = db.CreateTableDef(newTblName)
    tdf.Connect = ";DATABASE=" & sBasePath
    tdf.SourceTableName = srsTblName
    db.TableDefs.Append tdf
    db.TableDefs.Refresh
'Если указано что должна быть скрытая
'    If MakeHidden = True Then tdf.Attributes = dbHiddenObject

ConnectToTableBye:
    On Error Resume Next
    Set tdf = Nothing
    db.Close
    Set db = Nothing
    Exit Function

ConnectToTableErr:
    FUN_LINK_TBL = Err.Number
    'Debug.Print Err.Description
    Resume ConnectToTableBye
End Function
...
Рейтинг: 0 / 0
13 сообщений из 63, страница 3 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Автоматизированное обновления программы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]