Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / экспорт/импорт исходников / 4 сообщений из 4, страница 1 из 1
08.01.2003, 11:50
    #32087316
Sinner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт/импорт исходников
Господа, вопрос таков!!!
Могет кто видел тулзу такую, которая позволяет
MS Access работать с VSS (ссылка бы очень порадовала:)
или доку, как работать в Модулями экспорт/импорт в файл.
...
Рейтинг: 0 / 0
08.01.2003, 12:28
    #32087351
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт/импорт исходников
Когда-то я написал себе вот это...

Код: plaintext
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.
Option Compare Database
Option Explicit
Const SyncFolder As String =  "C:\Мои документы\Juice\PalmSync" 

Sub WriteModule()
Dim mdl As Access.Module, mdb As Database, obj As AccessObject
Dim strM As String
Set mdb = CurrentDb
'Сначала модули класса (уже загружены)
For Each obj In Application.CurrentProject.AllModules
    strM = obj.Name
    SaveCode strM, True
Next
Set obj = Nothing
Set mdb = Nothing
ConvertTextToDoc
End Sub

'Запись кода в файл
'Второй аргумент Истина - для модуля класса, иначе - модуль формы
'(она должна быть открыта)
Sub SaveCode(strN As String, Optional bM As Boolean)
Dim mdl As Access.Module, frm As Form, i As Integer, f As Integer
If bM Then
    On Error GoTo  7961 
    Set mdl = Modules(strN)
    On Error GoTo  0 
Else
    Set frm = Forms(strN)
    Set mdl = frm.Module
End If
'СОЗДАНИЕ ФАЙЛА ДЛЯ МОДУЛЯ ИЛИ ОТКРЫТИЕ - ДЛЯ ФОРМЫ
f = FreeFile
ChDir SyncFolder
If bM Then
    Open "m_" & strN & ".txt" For Output As #f
Else
    Open "f_" & strN & ".txt" For Output As #f
End If

For i = 1 To mdl.CountOfLines
    Print #f, mdl.Lines(i, 1)
Next i
Close #f
Set frm = Nothing
Set mdl = Nothing
Exit Sub

7961:
If Err.Number = 7961 Then
    DoCmd.OpenModule strN
    Resume
End If
End Sub

Sub WriteToModule(strMod As String, strText As String, blnForm As Boolean)
Dim mdl As Access.Module
If blnForm Then
    Set mdl = Forms(strMod).Module
Else
    On Error GoTo 7961
    Set mdl = Modules(strMod)
    On Error GoTo 0
End If
mdl.AddFromString strText
Exit Sub

7961:
If Err.Number = 7961 Then
    DoCmd.OpenModule strMod
    Resume
End If
End Sub

Sub CloseAllModules()
Dim mdl As Access.Module, mdb As Database, obj As AccessObject
Dim strM As String
Set mdb = CurrentDb
'Сначала модули класса (уже загружены)
For Each obj In Application.CurrentProject.AllModules
    strM = obj.Name
    On Error Resume Next
    DoCmd.Close acModule, strM
Next
Set obj = Nothing
Set mdb = Nothing
End Sub


О, бага вылезла! Один апостроф - а зеленым выделяется чуть не весь текст :0(

ИМпорт можно провернуть через:
Код: plaintext
MyModule.AddFromString

или
Код: plaintext
MyModule.AddFromFile
...
Рейтинг: 0 / 0
08.01.2003, 15:48
    #32087585
Julius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт/импорт исходников
Access и так прекрасно с VSS работает (по крайней мере 2000 и 2002). В чем проблема то?
Что касается выкидывания в файл, так есть такие методы объекта Application:
SaveAsText и LoadFromText, ими то и пользуется VSS.
...
Рейтинг: 0 / 0
14.01.2003, 09:41
    #32090030
Ан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
экспорт/импорт исходников
Посмотри тут:

http://www.hiprog.com/forum/forum.asp?action=goto&id=2&fullview=0&page=8
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / экспорт/импорт исходников / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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