Как Вы используете управление версиями с разработкой Доступа?

Эмпирические правила

(Вы, вероятно, хотите читать на деталях также:

Плохой

Сканирования таблицы Нескольких Больших Таблиц

Хороший

Используя Индекс уникального индекса
включают все обязательные поля

Наиболее распространенная Победа

приблизительно в 90% проблем производительности, которые я видел, самая легкая победа должна разбить запрос с партиями (4 или больше) из таблиц в 2 меньших запроса и временную таблицу.

159
задан Nathan DeWitt 9 October 2008 в 14:25
поделиться

4 ответа

Я использую Надстройку Access 2003: Контроль исходного кода . Работает нормально. Одна проблема - недопустимые символы, такие как ":".

Я проверяю и ухожу. Внутренне надстройка делает то же самое, что и код там, но с большей поддержкой инструментов. Я могу видеть, зарегистрирован ли объект, и обновлять объекты.

1
ответ дан 23 November 2019 в 21:37
поделиться

Оливерс отвечает круто, но ссылка CurrentProject у меня не работает. В итоге я вырвал кишки из середины его экспорта и заменил его этим, основываясь на аналогичном решении Арвина Мейера . Имеет преимущество экспорта запросов, если вы используете mdb вместо adp.

' Writes database componenets to a series of text files
' @author  Arvin Meyer
' @date    June 02, 1999
Function DocDatabase(oApp)
    Dim dbs 
    Dim cnt 
    Dim doc 
    Dim i
    Dim prefix
    Dim dctDelete
    Dim docName

    Const acQuery = 1

    Set dctDelete = CreateObject("Scripting.Dictionary")

    Set dbs = oApp.CurrentDb() ' use CurrentDb() to refresh Collections
    Set cnt = dbs.Containers("Forms")
    prefix = oApp.CurrentProject.Path & "\"
    For Each doc In cnt.Documents
        oApp.SaveAsText acForm, doc.Name, prefix & doc.Name & ".frm"
        dctDelete.Add "frm_" & doc.Name, acForm
    Next

    Set cnt = dbs.Containers("Reports")
    For Each doc In cnt.Documents
        oApp.SaveAsText acReport, doc.Name, prefix & doc.Name & ".rpt"
        dctDelete.Add "rpt_" & doc.Name, acReport
    Next

    Set cnt = dbs.Containers("Scripts")
    For Each doc In cnt.Documents
        oApp.SaveAsText acMacro, doc.Name, prefix & doc.Name & ".vbs"
        dctDelete.Add "vbs_" & doc.Name, acMacro
    Next

    Set cnt = dbs.Containers("Modules")
    For Each doc In cnt.Documents
        oApp.SaveAsText acModule, doc.Name, prefix & doc.Name & ".bas"
        dctDelete.Add "bas_" & doc.Name, acModule
    Next

    For i = 0 To dbs.QueryDefs.Count - 1
        oApp.SaveAsText acQuery, dbs.QueryDefs(i).Name, prefix & dbs.QueryDefs(i).Name & ".txt"
        dctDelete.Add "qry_" & dbs.QueryDefs(i).Name, acQuery
    Next

    WScript.Echo "deleting " & dctDelete.Count & " objects."
    For Each docName In dctDelete
        WScript.Echo "  " & Mid(docName, 5)
        oApp.DoCmd.DeleteObject dctDelete(docName), Mid(docName, 5)
    Next

    Set doc = Nothing
    Set cnt = Nothing
    Set dbs = Nothing
    Set dctDelete = Nothing

End Function
14
ответ дан 23 November 2019 в 21:37
поделиться

Для тех, кто использует Access 2010, SaveAsText не является видимым методом в Intellisense, но, похоже, это допустимый метод, поскольку сценарий Арвина Мейера упомянутый ранее отлично сработал для меня.

Интересно, что SaveAsAXL является новинкой 2010 года и имеет ту же подпись, что и SaveAsText, хотя, похоже, он будет работать только с веб-базами данных, для которых требуется SharePoint Server 2010.

2
ответ дан 23 November 2019 в 21:37
поделиться

Некоторое время назад у нас была такая же проблема.

Нашей первой попыткой был сторонний инструмент, который предлагает прокси SourceSafe API для Subversion для использования с MS Access и VB 6. Инструмент можно найти здесь .

Поскольку этот инструмент нас не удовлетворил, мы перешли на Visual SourceSafe и подключаемый модуль VSS Acces.

2
ответ дан 23 November 2019 в 21:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: