powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Использование своих библиотек или как правильно построить масштабируемое приложение
12 сообщений из 37, страница 2 из 2
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36967932
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharkЕсли в браузере нажмете вид-исходный код страницы, увидите пример htm файла
Если запишете его бейсиком на диск, то будет пример формирования
))

Понял:)) Вот я и хотел пример того, как бэйсиком это всё делается:)
Самому лень:))
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36967934
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

СПАСИБО:) Классный!!! Пример:)
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36967936
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

Правильно ли я понимаю, что вывод в HTM и последующее его открытие в Excel
позволяет достичь намного более высокой скорости вывода в Excel?
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36967962
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NeboПЕНСИОНЕРКА,

Правильно ли я понимаю, что вывод в HTM и последующее его открытие в Excel
позволяет достичь намного более высокой скорости вывода в Excel?

естественно, только ругнется при открытии

если доработать теги по правилам ексель, то и ругани не будет
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36967970
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nebo,

и надо будет выводить особенно если не используется синтаксис тегов, учитывающий формат ексель
-длинные коды 00000000001254 как '00000000001254 . чтобы не терять нули
-иногда это надо для текстовых типа 1.02, чтобы не переводило в даты

у меня основное было
- печать в ворд с автоподбором высоты и ширины клеток
- убирание хвостика (1-3 строки в предыдущий лист при печати)
- просмотр слабовидящими в броузере и ворде в крупном виде, но печать в ворде в нормальном
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36967973
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndDestrЕсли не сложно ссылку на "трюк" и на "штатный способ" :) буду очень благодарен
Штатный способ
В приложении пример mdb 2003. Не забудьте при открытии app.mdb переподключить ссылку на lib.mdb.

Ссылку на трюк поппробую посмотреть на работе. Дома не оказалось.
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36968351
AndDestr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
П-ЛAndDestrЕсли не сложно ссылку на "трюк" и на "штатный способ" :) буду очень благодарен
Штатный способ
В приложении пример mdb 2003. Не забудьте при открытии app.mdb переподключить ссылку на lib.mdb.


Спасибо большое.
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36968356
AndDestr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NeboБудет желание напишите сюда побольше про CodeDB.
Как Вы с ним работаете. Ну какой-нибудь примерчик:)

Простейший вариант: запускной файл app.mdb (2000)
не забудьте в переподключить библиотеку lib.mdb
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36968823
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndDestr,

Спасибо:) Скачал, посмотрел.
Сразу увидел, что Lib видит свои таблицы.
И что форма может открываться не в диалоговом режиме.

А что Вы делаете для того, чтобы Lib видел, например,
те-же присоединённые таблицы, что и основной модуль??

Другими словами как Вы программно переподключаете присоединённые таблицы
одновременно сразу во всех модулях и в основном модуле??
Ведь они же все должны быть синхронно подключены в случае если изменился путь к базе?
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36968911
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как и обещал, ссылка нашлась: рецепт для использования New с классом из библиотеки от Сергея Гаврилова. Ссылка
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36969967
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Более свежий "рецепт" для (New) классов в библиотечном файле:
Serge Gavrilov 05.09.2009 в 23:03Я сейчас делаю проще, в окне отладки выполняю
vbe.VBProjects("ProjectName").VBComponents("ClassName").Properties("Instancing")=5
...
Рейтинг: 0 / 0
Использование своих библиотек или как правильно построить масштабируемое приложение
    #36970382
AndDestr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NeboAndDestr,
Другими словами как Вы программно переподключаете присоединённые таблицы
одновременно сразу во всех модулях и в основном модуле??
Ведь они же все должны быть синхронно подключены в случае если изменился путь к базе?

Сложного ничего нет. я уложился в 4-ре нормализованные таблицы (можно обойтись одной не нормализованной и около 100 строчек кода :)
основой переподключения таблиц служит две функции:
1-я отключение всех прилинкованных таблиц, перечень которых задается рекордсетом, в указанной базе
Private Function DisconectTablesForModule(ByRef ARst As DAO.Recordset, ByRef ADb As DAO.Database) As Boolean
Dim tdf As TableDef
On Error GoTo ERR_DisconectTablesForModule
DisconectTablesForModule = False
ARst.MoveFirst
Do While Not ARst.EOF
For Each tdf In ADb.TableDefs
If tdf.Name = ARst.Fields("TableName") Then
ADb.TableDefs.Delete tdf.Name
Exit For
End If
Next
ARst.MoveNext
Loop
ARst.MoveFirst
DisconectTablesForModule = True
Exit Function
ERR_DisconectTablesForModule:
' сообщение об возникшей ошибке при отключении таблицы
End Function

2-я собственно само подключение таблиц:
кусок кода из функции:
strSQL1 = "SELECT BaseFileName, TableName FROM ListFileBases "
Set rst1 = CodeDb.OpenRecordset(strSQL1)

If Not rst1.EOF Then
Set db = DBEngine.OpenDatabase(strPathToModule)
If Not DisconectTablesForModule(rst1, db) Then: GoTo END_FUNCTION

strBaseFileName = ""
Do While Not rst1.EOF
If strBaseFileName <> rst1.Fields("BaseFileName") Then
strBaseFileName = rst1.Fields("BaseFileName")
If Not gFileExists(strPathToBase & "\" & strBaseFileName) Then: GoTo END_FUNCTION
End If
Set tdfLinking = db.CreateTableDef(rst1.Fields("TableName"))
tdfLinking.Connect = ";DATABASE=" & strPathToBase & "\" & strBaseFileName
tdfLinking.SourceTableName = rst1.Fields("TableName")
db.TableDefs.Append tdfLinking

rst1.MoveNext
Loop
rst1.Close
db.Close
Set db = Nothing
end if

плюс еще пару десятков сервисных строк, которые позволяют перебрать перечень библиотек и таблиц и собирают нужный рекордсет (ну это уже зависит от реализации самой структуры таблиц в которых расписывается из какой базы, какую таблицу в какую библиотеку линковать)
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Использование своих библиотек или как правильно построить масштабируемое приложение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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