Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/1: Рейтинг темы: голосов - 1, средняя оценка - 5.00
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925

Инструменты разработчика Access. Библиотека программ, надстроек и справочного материала

06.02.2020, 22:15. Показов 95772. Ответов 96

Студворк — интернет-сервис помощи студентам
Сайты появляются и исчезают. Такова жизнь. Но вместе с ними исчезают материалы и программы, которые были размещены ни них. Это плохо. Кое-что потом удаётся разыскать в интернете на каком-нибудь старом сайте или файлообменнике. Но есть такие, что исчезают бесследно.

Предлагаю создать Библиотеку инструментов и надстроек для разработчика.

В отличие от ветки "Делимся наработками",
здесь будут размещены именно программы-инструменты разработчика,
а не программы, предназначенные для конечного пользователя.

Например, известная многим надстройка MZTools3VBA распространялась разработчиками совершенно бесплатно. Но сейчас она удалена с официального сайта. Её ещё можно найти на файлообменниках и отдельных сайтах у коллекционеров подобных программ.

Немного непонятно, как быть с программами, которые ещё живут на сайтах разработчиков. Помещать сюда программы или только ссылки на скачку программ? Правилами сайта вообще-то предусмотрен второй вариант.

Предлагаю следующую структуру сообщения

Название программы
Разработчик программы
Сайт программы
Назначение программы
особенности программы.

Ну и в конце сама программа или ссылка, где её можно скачать.

Вот такое предложение.
________________________________________ _____________________
СОДЕРЖАНИЕ
3
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2020, 22:15
Ответы с готовыми решениями:

Инструменты разработчика
Добрый день) Есть задача, работать с бд firebird через дельфи. БД представляет собой таблицу из 5 столбцов, и 300000 строк. Как долго будет...

Топ-инструменты разработчика С++
напишите топ-инструменты разработчика С++!

Инструменты разработчика Google Chrome
Добрый день! Пишу с просьбой о помощи. Проблема заключается в том, что работая в инструментах разработчика и устанавливая масштаб 100% для...

96
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
27.04.2024, 15:35  [ТС]
Студворк — интернет-сервис помощи студентам
Часто здесь упоминалась надстройка (Addon) MZTools. Вот только никто её так и не выложил. Решил исправить это досадное упущение.
Выкладываю 3 версии MZTools3VBA , в разное время скаченные из интернета. Эта версия была бесплатна. Сейчас она убрана с сайта разработчика, но в интернете её можно найти. На сайте разработчика сейчас лежат платные версии 8.0. Тестовый срок - 30 дней.
Выложенные версии отличаются шаблонами для вставок процедур, заголовков, обработчика ошибок. Других различий не обнаружил. Если и есть, то глубоко спрятанные.
Надстройка работает на всех 32-х разрядных Даже в 2019 и 2021. Недостаток. При выходе из Access 2019 и 2021 надстройка выключается и в следующий раз её необходимо загрузить вручную через пункт меню Add-Ins в редакторе VBA. Поставьте птичку в пункте Loaded/Unloaded и нажмите OK. Надстройка подключится.
Я это делал под Windows 10. Почему флажки о загрузке надстройки сбрасываются при выходе из Access я не знаю. Может там что-то связано с разрешениями. Такое было на Windows Server 2008R2. Но системщик справился с этой проблемой. Как он это сделал - говорить отказался. Мол оно тебе надо? Работает - вот и работай.

А так, очень полезная надстройка. Я без неё как без рук.
Вложения
Тип файла: zip MZTools3VBASetup1.zip (727.7 Кб, 33 просмотров)
Тип файла: zip MZTools3VBASetup2.zip (861.2 Кб, 36 просмотров)
Тип файла: zip MZTools3VBASetup3.zip (1.10 Мб, 61 просмотров)
1
788 / 67 / 4
Регистрация: 28.05.2015
Сообщений: 114
10.05.2024, 15:15
Цитата Сообщение от Silur Посмотреть сообщение
На сайте разработчика сейчас лежат платные версии 8.0
Учитывая совсем непартнерские отношения с присваивателями наших активов в зарубежных банках политическими спаринг-партнерами, не обязательно скачивать надстройку с официального сайта. После инсталляции и раскрякивания надстройки обязательно убрать галочку в настройках об автоматическом обновлении, которое сбрасывает лицензию в случае согласия на предложенное обновление.
Вложения
Тип файла: rar MZ-Tools 8.0.1.2944 for VBA.rar (4.95 Мб, 178 просмотров)
2
788 / 67 / 4
Регистрация: 28.05.2015
Сообщений: 114
12.05.2024, 00:09
Цитата Сообщение от Silur Посмотреть сообщение
Надо только привыкнуть им пользоваться. Основной его недостаток - не понимает русские буквы в названиях элементов и процедур.
И шаблонов для написания кода много и список Code Explorer с перечнем процедур без проблем понимает русский язык.
По умолчанию этот список открывается внизу редактора vba, но легко переносится в список между между окнами Project Explorer и Properties. Для этого нужно отпустить мышку при перетаскивании этого окна на заголовке списка Properties.
Вложения
Тип файла: rar CDVBA.10.rar (5.03 Мб, 41 просмотров)
2
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
19.05.2024, 17:49
Цитата Сообщение от UUMprimor Посмотреть сообщение
лежат платные версии 8.0
А я вот купил (давно, сразу после выхода 8.0.1. ...).
Дурак?!
Думаю нет - (MZ-Tools) реально много времени экономят.
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
19.06.2024, 10:27  [ТС]
Посоветовали сделать тут ссылку на следующую ветку Access Runtime для версий 365, 2021, 2019, 2016, 2013, 2010, 2007

Микрософт убрала со своего сайта Access Runtime для версий 2010 и 2007. Возможно скоро уберёт и для 2013. Это типа она заботится о клиентах, чтобы они использовали более продвинутые версии. Ага, Мы согласны, согласны, согласны....
Я по прежнему считаю, что наиболее продуманной и оптимальной была версия 2010. Это лично моё мнение, не претендующее на истинность в последней инстанции. Она ещё поддерживала репликации, проекты ADP, формат SNP (он может быть мало кому был нужен и его заменил PDF, но всё же...). За 30 лет Микрософт так и не смогла сделать нормальный редактор для SQL -запросов, нормальный экспорт в Word. Экспорт в Excel так же не избавился от проблем. Попытка вывести Access в интернет через SharePoint так же заглохла.

Советую скачать себе и хранить разные версии Access Runtime. Могут пригодиться. Брать можно с сайта https://softcomputers.org/blog... s-runtime/
3
788 / 67 / 4
Регистрация: 28.05.2015
Сообщений: 114
26.06.2024, 16:25
Цитата Сообщение от UUMprimor Посмотреть сообщение
Доработал меньше половины, но стимул с выходными как-то улетучился.
Обе половины 1-го этапа отработал. Глядишь, в следующие новогодние праздники захочется закончить второй
Переименование таблиц, отчетов и форм, так чтобы их название заменилось везде
Вложения
Тип файла: rar Ремкомплект 1.2.rar (199.8 Кб, 29 просмотров)
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
27.06.2024, 08:55  [ТС]
Не совсем в тему, но что поделаешь...

Есть много старых программ, справка для которых выполнена в формате HLP. Но Микрософт посчитала этот формат не безопасным и забила на него. Отказалась от его использования. Раньше программа для чтения этого формата входила в состав Windows, но начиная с 7 версии (или Vista) эту программу убрали. Она называлась winhlp32.exe. Вот эту вещь я нашел на просторах интернета. Она позволит решить проблему чтения файлов HLP.

Может кому-то пригодится.
Вложения
Тип файла: rar winhlp32-windows-Vista-7-8-10_x86-x64.rar (139.7 Кб, 22 просмотров)
1
788 / 67 / 4
Регистрация: 28.05.2015
Сообщений: 114
09.07.2024, 01:18
Переименование таблиц, отчетов и форм, так чтобы их название заменилось везде
Прошу администратора удалить все предыдущие мои сообщения на эту тему, оставив эту ссылку на тему обсуждения и этот файл:
Спасибо.
Вложения
Тип файла: rar Ремкомплект 1.2.2.rar (278.6 Кб, 53 просмотров)
1
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
26.08.2024, 11:44  [ТС]
Лучший ответ Сообщение было отмечено Eugene-LS как решение

Решение

Что делать, если случайно удалили таблицу?

Взято тут

Вы когда-нибудь удаляли таблицу Access… и вдруг чувствовали боль в животе? Что ж, будьте в хорошем настроении, потому что не все может быть потеряно. Есть как минимум 2 способа восстановить удаленную таблицу — один очень простой, а другой требует кода. Но вы должны действовать быстро, потому что существуют ограничения на то, что можно восстановить… и когда.

Старый добрый Ctl-Z

Прежде чем приступить к сложному решению DAO, всегда стоит попробовать простую команду отмены Ctl-Z. Этот процесс сработает только в том случае, если вы не выполнили другие комбинации действий Cut, Copy Paste Undo перед тем, как попытаться восстановить таблицу. Тем не менее, за попытку отмены не взимается дополнительная плата, так что попробуйте. Если это не удалось, вам нужно написать код.

Решение на основе кода VBA

Приведенный ниже код можно скопировать и вставить в модуль доступа и выполнить из окна Immediate, выполнив эту строку кода.
Visual Basic
1
UndeleteTable("МояТаблица")
Как я уже говорил во введении, есть некоторые ограничения относительно того, что может быть восстановлено… и когда. Вот список исключений:

- База данных не была закрыта с момента удаления таблицы.
- База данных не была сжата с момента удаления таблицы.
- Таблица была удалена с помощью пользовательского интерфейса Microsoft Access.

Хорошо, учитывая все это, вот код. Скопируйте код ниже и поместите его в свой набор инструментов MS Access на тот черный день, когда вы совершите глупый трюк и удалите какую-нибудь драгоценную таблицу, резервную копию которой вы не удосужились сделать.
Visual Basic
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
' ***************  BEGIN CODE HERE  *********************************
' This code was previously posted at Comp.Databases.MS-Access by a
' kind soul some years ago.  I forgot to record that person's name so
' I am unable to give credit where it is due :-(
' 
' It seems to have been adapted from the Knowledge Base Article  Q179161.
'
' This module contains simple Visual Basic for Applications function
' that you can use to recover a table deleted from a Microsoft Access
' for Windows 95 and Microsoft Access 97 database under the following
' conditions:
'
' - The database has not been closed since the deletion of the table.
' - The database has not been compacted since the deletion of the table.
' - The table was deleted using the Microsoft Access user interface.
'
' NOTE: If multiple tables have inadvertently been deleted, this function
' recovers only the last table that was deleted. The other tables are lost.
 
 
Function UnDeleteTable(Optional sName As String)
 
Dim db As DAO.DATABASE
Dim tdf As DAO.TableDef
Dim sTable As String
Dim sSQL As String
Dim sMsg As String
 
    If IsMissing(sName) Then sName = "RestoredTable"
    If Len(sName) = 0 Then sName = "RestoredTable"
    
    Set db = CurrentDb()
 
    For Each tdf In db.TableDefs
        If Left(tdf.Name, 4) = "~tmp" Then
           sTable = tdf.Name
           sSQL = "SELECT [" & sTable & "].* INTO " & sName
           sSQL = sSQL & " FROM [" & sTable & "];"
           
           db.Execute sSQL
           
           sMsg = "A deleted table has been restored as " & sName
           MsgBox sMsg, vbOKOnly, "Restored"
           GoTo Exit_Undelete
        End If
    Next
    
    ' If the code has fallen to this point, then no deleted
    ' tables exist in the catalog and none are recoverable.
    MsgBox "No Recoverable Tables Found", vbOKOnly, "Not Found"
 
Exit_Undelete:
     Set db = Nothing
     Exit Function
     
Err_Undelete:
     MsgBox Err.Description
     Resume Exit_Undelete
 
End Function
' ****************  END CODE HERE  **********************************
1
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
02.09.2024, 12:42
Импорт (миграция) данных из БД Access на сервер SQL (программная)
Приветствую всех, путем поиска в интернете и небольших доработок, набросал программу переноса данных из разделенной БД на сервер (например MySQL).
По сравнению со встроенным импортом MySQL Workbench, мне кажется плюсов больше в программном исполнении.
Требования: драйвер mysql-connector-odbc-9.0.0-winx64.msi, VC_redist.x64 (2015-2019).exe, Windows x64
Import
Visual Basic
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
Public Const name_db As String = "bd.db"
Public name_shema As String
Public Const Server_name As String = "192.168.1.xxx"
Public Const Server_port As String = "3306"
Public Const User_ID As String = "xxxx"
Public Const Password As String = "xxxx"
Public Const pass_db As String = "xxxx"
 
Function IMPORTO()
    Dim aConn As Object, db As Object, td As TableDef
    Dim path_db As String, tables_skip As String
    Dim countrowsinserted As Long
    ' *************************** БД (в текущей папке) для экспорта на сервер
    path_db = CurrentProject.Path & "" & name_db: If Dir(path_db) <> name_db Then Exit Function
    ' *************************** Подключение к БД для экспорта на сервер
    Set db = getConnDAO(path_db, pass_db)
    ' *************************** Подключение к серверу
    name_shema = Split(name_db, ".")(0)
    Set aConn = Connection(True): If aConn.state = 0 Then Exit Function
    ' *************************** Создание схемы на сервере
    aConn.Execute "DROP DATABASE IF EXISTS " & name_shema
    aConn.Execute "CREATE SCHEMA " & name_shema
    ' *************************** Подключение к серверу
    Set aConn = Connection(): If aConn.state = 0 Then Exit Function
    ' *************************** Импорт таблиц и данных из текущей БД на сервер
    Debug.Print Now
    For Each td In db.TableDefs
        If td.Attributes = 0 And InStr(1, tables_skip, td.Name) = 0 Then
            Call DELTABLE(aConn, td) ' удаление таблицы с сервера (необязательно, если ранее используется DROP DATABASE)
            Call CREATETABLE(aConn, td) ' создание таблицы на сервере
            ' при необходимости - предварительно удалить некорректные символы из указанной таблицы
            countrowsinserted = GenDataInsertStatements(aConn, db, td) ' запись данных в таблицу на сервер
        End If
    Next
    ' ***************************
    Set aConn = Nothing: Set db = Nothing
End Function
 
' ***************************************** Удаление таблицы
Function DELTABLE(ByRef conn, ByRef td)
    Dim result As String
    result = "DROP TABLE IF EXISTS `" & td.Name & "`;"
    conn.Execute result
End Function
 
' ***************************************** Создание таблицы
Function CREATETABLE(ByRef aConn, ByRef td As TableDef)
    Dim result As String
    result = CreateTableStatement(td)
    aConn.Execute result
End Function
Connection
Visual Basic
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
' ***************************************** Соединение с БД (DAO)
Function getConnDAO(path_db As String, PWD As String) As Object
    Set getConnDAO = CreateObject("DAO.DBEngine.120").OpenDatabase(path_db, False, False, "MS Access;PWD=" & PWD)
End Function
 
' ***************************************** Соединение с сервером
Function Connection(Optional noshema As Boolean) As Object
    On Error GoTo er_
    Set Connection = CreateObject("ADODB.Connection")
    Connection.Open getStrConnect(noshema)
    Exit Function
er_:
    MsgBox "AttachDSNLessTable encountered an unexpected error: " & vbCrLf & Err.Number & " - " & Err.Description
End Function
 
' *****************************************
Function getStrConnect(noshema As Boolean) As String
    getStrConnect = "DRIVER={MySQL ODBC 9.0 Unicode Driver}" _
        & ";Connect Timeout=10" _
        & ";SERVER=" & Server_name _
        & ";PORT=" & Server_port _
        & IIf(noshema, "", ";DATABASE=" & name_shema) _
        & ";UID=" & User_ID _
        & ";PWD=" & Password _
        & ";OPTION=16427"
End Function
Fields statement
Visual Basic
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
' ***************************************** Свойства поля
Function getProperties(ByRef fld As field2, propname As String) As String
    On Error Resume Next
    getProperties = fld.Properties(propname)
    If Err.Number <> 0 Then
        Debug.Print fld.Name; " "; Err.Description
    End If
End Function
 
' ***************************************** SQL создания полей
Function CreateFieldStatement(ByRef td As TableDef, ByRef fld As field2) As String
    result = "  `" & fld.Name & "`"
    Select Case fld.Type
        Case dbDate
            prop = getProperties(fld, "format")
            Select Case prop
                Case "general date"
                    result = result & " DATETIME(0)"
                Case "short date"
                    result = result & " DATE"
                Case "short time"
                    result = result & " TIME"
                Case Else
                    result = result & " DATETIME(0)"
            End Select
        Case dbTime
            Stop
        Case dbTimeStamp
            Stop
        Case dbMemo ' Memo/Long Text, Hyperlinks
            result = result & " LONGTEXT"
        Case dbByte
            result = result & " TINYINT(3) UNSIGNED"
        Case dbInteger
            result = result & " INTEGER"
        Case dbLong
            result = result & " INTEGER"
        Case dbNumeric, dbDecimal
            result = result & " DECIMAL(" & ADOXCol.Precision & ", " & ADOXCol.NumericScale & ")"
        Case dbSingle, dbFloat
            result = result & " FLOAT"
        Case dbDouble
            result = result & " DOUBLE"
        Case dbGUID
            result = result & " GUID"
        Case dbBoolean
            result = result & " TINYINT"
        Case dbCurrency
            result = result & " DECIMAL(19,4)"
        Case dbText
            result = result & " VARCHAR(" & fld.Size & ")"
        Case Else
            result = result & " ????"
            Stop
    End Select
 
    If fld.DefaultValue <> "" Then
        If fld.Type = dbBoolean Then
            result = result & " DEFAULT " & IIf(fld.DefaultValue = "NO", 0, 1)
        Else
            result = result & " DEFAULT " & fld.DefaultValue
        End If
    End If
    If (fld.Attributes And dbAutoIncrField) Then result = result & " AUTO_INCREMENT"
    If fld.Required Then result = result & " NOT NULL"
    CreateFieldStatement = result & "," & vbCrLf
End Function
 
' ***************************************** SQL создания таблицы
Function CreateTableStatement(ByRef td As TableDef)
    Dim fld As field2
    result = result & "CREATE TABLE `" & td.Name & "`(" & vbCrLf
    For Each fld In td.Fields
        result = result & CreateFieldStatement(td, fld)
        DoEvents: Debug.Print td.Name & " " & fld.Name
    Next fld
    result = result & GenPKStatement(td) ' GET PK Field to define the INDEX
    Do While Right(result, 1) = Chr(10) Or Right(result, 1) = Chr(13) Or Right(result, 1) = ","
        result = Mid(result, 1, Len(result) - 1)
    Loop
    CreateTableStatement = result & ")" & ";"
End Function
 
' *****************************************
Function GenPKStatement(tdf) As String
    Dim sPkFlds               As String
    Dim aPkFlds()             As String
    If tdf.Indexes.Count > 0 Then
        sPkFlds = Replace(tdf.Indexes("PrimaryKey").Fields, "+", "")
        aPkFlds = Split(sPkFlds, ";")
        If UBound(aPkFlds) = 0 Then
            GenPKStatement = "  PRIMARY KEY (`" & sPkFlds & "`)" & vbCrLf
        End If
    End If
End Function
Data statement
Visual Basic
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
Public Function GenDataInsertStatements(ByRef conn, ByRef db, ByRef tbl) As Long
    Dim sSQLFields As String, dStr As String, i As Long
    Dim rs As Recordset2
    Set rs = db.OpenRecordset(tbl.Name, dbOpenSnapshot)
 
    For i = 0 To rs.Fields.Count - 1  '
        If i > 0 Then sSQLFields = sSQLFields & ", "
        Select Case rs.Fields(i).Type
            Case dbDate
                Select Case getProperties(rs.Fields(i), "format")
                    Case "general date"
                        strFormat = "yyyy-mm-dd" & IIf(Len(Nz(rs.Fields(i))) > 10, " hh:mm:ss", "")
                    Case "short date"
                        strFormat = "yyyy-mm-dd"
                    Case "short time"
                        strFormat = "hh:mm:ss"
                    Case Else
                        strFormat = "yyyy-mm-dd"
                End Select
                sSQLFields = sSQLFields & "'"" & IIF(ISNULL([" & rs.Fields(i).Name & "]), NULL, FORMAT([" & rs.Fields(i).Name & "], '" & strFormat & "')) & ""'"
            Case dbTime
                Stop
            Case dbTimeStamp
                Stop
            Case dbGUID, dbMemo, dbText
                If (rs.Fields(i).Attributes And dbHyperlinkField) = dbHyperlinkField Then
                    sSQLFields = sSQLFields & "'"" & HyperlinkPart(Nz([" & rs.Fields(i).Name & "]), 5) & ""'"
                Else
                    sSQLFields = sSQLFields & "'"" & NZ([" & rs.Fields(i).Name & "],'NULL') & ""'"
                End If
            Case dbByte, dbInteger, dbLong, dbNumeric, dbDecimal, dbSingle, dbFloat, dbDouble
                If rs.Fields(i).Type = dbSingle Then
                    sSQLFields = sSQLFields & "'"" & STR([" & rs.Fields(i).Name & "]) & ""'"
                Else
                    sSQLFields = sSQLFields & "'"" & NZ([" & rs.Fields(i).Name & "],'NULL') & ""'"
                End If
            Case dbCurrency
                sSQLFields = sSQLFields & "'"" & STR([" & rs.Fields(i).Name & "]) & ""'"
            Case dbBoolean
                sSQLFields = sSQLFields & """ & Replace([" & rs.Fields(i).Name & "], -1, 1) & """
            Case Else
                Stop
        End Select
    Next
    
    rs.Close
    Set rs = Nothing
    
    Set rsExport = db.OpenRecordset("SELECT ""INSERT INTO `" & tbl.Name & "` VALUES(" & sSQLFields & ")"" AS InsertCmd FROM [" & tbl.Name & "]", dbOpenSnapshot)
    With rsExport
        If .RecordCount > 0 Then
            Do While Not .EOF
                dStr = rsExport![InsertCmd]
                dStr = Replace(dStr, "'NULL'", "NULL")
                dStr = Replace(dStr, ", '')", ", NULL)")
                dStr = Replace(dStr, "('',", "(NULL,")
                Do While InStr(1, dStr, ", '',") > 0
                    dStr = Replace(dStr, ", '',", ", NULL,")
                Loop
                conn.Execute dStr
                .MoveNext
            Loop
            GenDataInsertStatements = .RecordCount
        End If
    End With
 
    rsExport.Close
    Set rsExport = Nothing
End Function
2
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
08.01.2025, 11:42  [ТС]
DBFShow - Бесплатная программа, предназначена для просмотра и редактирования файлов DBF( dBase III, dBase IV, FoxPro, VFP). Разрабатывается как замена DBF Viewer 2000. Для запуска не требует никаких сторонних библиотек кроме Net Framework 2.0.

С 11.09.2019г.начиная с версии 0.116 для запуска необходим NET 4.0 плюс с программой распространяется dll для работы с xlsx файлами
Вложения
Тип файла: zip dbfshow_115.zip (223.0 Кб, 14 просмотров)
Тип файла: zip dbfshow_123.zip (781.4 Кб, 14 просмотров)
Тип файла: pdf Редактор DBF файлов - DBFShow _ Разработки для работы.pdf (754.0 Кб, 14 просмотров)
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
08.01.2025, 11:51  [ТС]
Ссылка на сайт на всякий случай.
Это к предыдущему посту.
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
08.01.2025, 11:59  [ТС]
CDBF - вьювер (просмотрщик) и редактор файлов DBF формата
Вложения
Тип файла: rar cdbf-setup.rar (3.76 Мб, 12 просмотров)
Тип файла: pdf CDBF - вьювер (просмотрщик) и редактор файлов DBF формата.pdf (179.2 Кб, 12 просмотров)
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
08.01.2025, 12:28  [ТС]
Ещё один просмотрщик и редактор DBF файлов
Вложения
Тип файла: rar setupdbf.rar (2.64 Мб, 12 просмотров)
Тип файла: pdf Редактор DBF - setupdbf.pdf (151.3 Кб, 9 просмотров)
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
08.01.2025, 12:49  [ТС]
DBFNavigator - моя любимая программа по просмотру и редактированию содержания и структуры DBF файлов.
Вложения
Тип файла: rar DBFNavigator.rar (261.9 Кб, 15 просмотров)
1
 Аватар для VinniPuh
9148 / 6183 / 594
Регистрация: 27.03.2013
Сообщений: 20,060
08.01.2025, 19:57
Шапокляк, в где ты только всё это находишь?
Прям генератор всякой справочной литературы.
Мне хоть это и не особо нужно, но однозначно тебя за это следует поощрить.
Другие только за деньги делятся информацией.
Одним словом - Буржуины.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
09.01.2025, 04:17
Цитата Сообщение от Silur Посмотреть сообщение
CDBF - вьювер (просмотрщик) и редактор файлов DBF формата
Меня ностальгия аж накрыла

Добавлено через 1 минуту
Цитата Сообщение от VinniPuh Посмотреть сообщение
где ты только всё это находишь?
В прошлом, Пух, в далёком прошлом
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
18.02.2025, 10:50  [ТС]
Старая утилита от Сергея Гаврилова

MDB DeCryptor v1.1
Эта небольшая утилита предназначена для расшифровки баз данных, созданных MS Access
95/97/2000 (возможно, также на 2002 год, но я не проверял это).
Это может быть полезно, если зашифрованная база данных была повреждена и не может быть
восстанавливаются авторизованными инструментами и необходимо получить содержимое
файл базы данных расшифрован для дальнейшего восстановления.
Он также может использоваться в случае потери прав доступа к базе данных.

Serge Gavrilov.
26 May 2002
Вложения
Тип файла: zip mdbdc.zip (4.3 Кб, 9 просмотров)
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
05.03.2025, 12:02  [ТС]
MDB Admin 1.3
Автор: Марсиэль Дегаспери
Сайт: https://mdb-admin.software.informer.com/

MDB Admin позволяет открывать, просматривать и редактировать файлы MDB без установки Access. Используйте MDBDump.exe для создания резервных копий баз данных через командную строку.

Характеристики:

- Откройте существующую базу данных или создайте пустой файл.
- Создавайте, удаляйте или редактируйте таблицы, представления, процедуры, индексы и ключи.
- Выполняйте команды SQL (DDL и DML).
- Экспортируйте таблицы в различных форматах (XML, JSON, CSV, SQL).
- Экспортируйте всю базу данных MDB в файл SQL. Вы можете выбрать диалект SQL (MSAccess, MSSQL, Oracle, MySQL, PostgreSQL или SQLite).
- Восстановите последние выполненные запросы.
— Экспортируйте базу данных MDB в виде таблицы XLS.
— Сгенерируйте HTML-документацию на основе базы данных.

Примечание.
Документации не нашел. Осваивал методом тыка.
Вложения
Тип файла: rar mdbadmin_installer.rar (4.03 Мб, 13 просмотров)
0
 Аватар для Silur
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
05.03.2025, 15:01  [ТС]
Обход свойства запуска базы Access и макроса AutoExec

Многие об этом знают, но я решил написать об этом
Microsoft Access Shift Bypass — это функция, которая позволяет пользователям открывать базу данных Access без запуска параметров запуска или макросов AutoExec. Эта функция может быть крайне важна для разработчиков и администраторов, но может представлять угрозу безопасности в развёрнутых приложениях.

Как это работает.

При открытии базы данных Microsoft Access пользователи могут удерживать нажатой клавишу SHIFT, чтобы обойти свойства запуска и макрос AutoExec. Эта функция особенно полезна для устранения неполадок и доступа к базам данных, в коде запуска которых могут быть ошибки.

Отключение обхода Shift С помощью свойства базы данных AllowBypassKey

По умолчанию функция Shift Bypass включена во всех базах данных Microsoft Access. Однако эту функцию можно отключить, задав свойство AllowBypassKey в базе данных.

К сожалению, свойство AllowBypassKey невозможно изменить с помощью графического интерфейса и его необходимо настраивать с помощью кода VBA.

Свойство AllowBypassKey - это логическое свойство, где:
Истина - SHIFT Обход защиты разрешен/включен (незащищенный) Состояние базы данных Access по умолчанию
Ложь - блокировка SHIFT отключена (защищено)

Определение текущего значения свойства AllowBypassKey

Чтобы проверить текущее значение свойства AllowBypassKey для текущей базы данных, мы можем просто сделать что-то вроде этого:

Visual Basic
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
Function Local_GetAllowBypassKey() As Boolean
 Dim oDb As DAO.Database
 
 On Error GoTo Error_Handler
 
 Set oDb = CurrentDb
 Local_GetAllowBypassKey = oDb.Properties("AllowBypassKey")
 
Error_Handler_Exit:
 On Error Resume Next
 Set oDb = Nothing
 Exit Function
 
Error_Handler:
 If Err.Number = 3270 Then ' Property not found
 Local_GetAllowBypassKey = True 'If not set, it is allowed/True
 Else
 MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
 "Error Source: Local_GetAllowBypassKey" & vbCrLf & _
 "Error Number: " & Err.Number & vbCrLf & _
 "Error Description: " & Err.Description & _
 Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
 , vbOKOnly + vbCritical, "An Error has Occurred!"
 End If
 Resume Error_Handler_Exit
End Function
Помните, что если свойство не существует, то это то же самое, что если для него установлено значение «Истина».

Установка значения свойства AllowBypassKey

Если мы захотим задать значение, то можем изменить приведённую выше команду на что-то вроде:

Visual Basic
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
Sub Local_SetAllowBypassKey(bAllowBypassKey As Boolean)
 Dim oDb As DAO.Database
 Dim oProp As DAO.Property
 
 On Error GoTo Error_Handler
 
 Set oDb = CurrentDb
 oDb.Properties("AllowBypassKey") = bAllowBypassKey
 
Error_Handler_Exit:
 On Error Resume Next
 Set oProp = Nothing
 Set oDb = Nothing
 Exit Sub
 
Error_Handler:
 If Err.Number = 3270 Then ' Property not found, so create it and add it to the db
 Set oProp = oDb.CreateProperty("AllowBypassKey", dbBoolean, bAllowBypassKey)
 oDb.Properties.Append oProp
 Else
 MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
 "Error Source: Local_SetAllowBypassKey" & vbCrLf & _
 "Error Number: " & Err.Number & vbCrLf & _
 "Error Description: " & Err.Description & _
 Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
 , vbOKOnly + vbCritical, "An Error has Occurred!"
 End If
 Resume Error_Handler_Exit
End Sub
Чтобы отключить обходной путь SHIFT и «защитить» вашу базу данных перед отправкой конечным пользователям, мы просто сделаем следующее:
Visual Basic
1
Local_SetAllowBypassKey False
и чтобы снова включить Shift, надо сделать:
Visual Basic
1
Local_SetAllowBypassKey True
Утилита настройки свойств Shift

Есть несколько утилит для управления свойством Shift. Вот например утилита ShiftAdmin от akkorn (1.5.6) и утилита ShiftBypass от Даниэля Пино.

Примечание.
Важно отметить, что, хотя отключение Shift Bypass может помешать обычным пользователям обходить параметры запуска, это не является комплексным решением для обеспечения безопасности. Опытные пользователи, обладающие достаточными знаниями, всё равно могут найти способы обойти эти ограничения, повторно включив функцию.

Таким образом, хотя функция Shift Bypass в Microsoft Access является ценным инструментом для разработчиков, она не является надёжным средством и должна быть частью более комплексного подхода к обеспечению безопасности.
Вложения
Тип файла: zip os_ShiftAdmin.zip (183.1 Кб, 16 просмотров)
Тип файла: zip ShiftBypass.zip (101.8 Кб, 19 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2025, 15:01

AMD Mantle SDK (инструменты разработчика)
Не так давно задумался о создании SDK для графического интерфейса AMD Mantle API. Хоть AMD и обещала выложить полноценный SDK (в твитах...

Перестали работать инструменты разработчика в браузерах
Не знал куда написать так что написал сюда. в яндексе да и в хроме тоже перестали работать инструменты разработчкиа, &quot;посмотреть...

Firefox инструменты разработчика переключение между табами
Доброго времени суток. Не знал в какой раздел написать этот пост, поэтому оставлю это тут. Дело в том, что когда я форматирую...

Инструменты и подход к работе fullstack ASP.NET разработчика
Всем привет. у меня есть проблема и необходим совет по её решению. Вот суть вопроса: бэкэнд я делаю на ASP.NET core в VS, верстаю на чистом...

Google Chrome инструменты разработчика. Не возможно редактировать js файлы на вкладке source
Всем привет! Я раньше без проблем модифицировал js файлы сторонних сайтов на вкладке source. Вносил изменения как мне нужно, CTRL+S и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru