Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как поменять / 14 сообщений из 14, страница 1 из 1
19.09.2008, 12:09
    #35548579
Как поменять
...
Рейтинг: 0 / 0
19.09.2008, 12:13
    #35548593
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
отметилсо на аксесе? :)
...
Рейтинг: 0 / 0
19.09.2008, 12:14
    #35548598
Как поменять
Что-то криво тема создалась. Вообщем нужно следующее. Есть несколько mdb файлов. И в каждом в модуле AdoConnect есть слудующее:

Const MyServer As String = "172.20.1.7"
Const MySQLdb As String = "GGTDB09"
Const MySQLUserA As String = "treas"
Const MySQLPassA As String = "xazina"
Const MySQLUser As String = "treas"
Const MySQLPass As String = "xazina"

Как программно поменять например IP адресс из другого mdb файла?
...
Рейтинг: 0 / 0
19.09.2008, 12:21
    #35548631
Grayscale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
Константы на то и константы что их менять нельзя
...
Рейтинг: 0 / 0
19.09.2008, 12:23
    #35548640
Grayscale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
Можно как вариант конечно програмно менять текст модуля... но это решение очень самоотверженное)))
...
Рейтинг: 0 / 0
19.09.2008, 12:25
    #35548646
Ёжик`
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
...
Рейтинг: 0 / 0
19.09.2008, 12:25
    #35548653
Как поменять
наверное я не совсем точно выразился. файл, который я буду изменять, не будет открыт в это время. т.е. у меня много таких mdb файлов, в которых мне надо изменить ConnectionString и я хочу как-то автоматизировать этот процесс.
...
Рейтинг: 0 / 0
19.09.2008, 12:27
    #35548660
TungusXan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
А файлы чем то отличаются?

ЗЫ: Ничего личного! (с)
...
Рейтинг: 0 / 0
19.09.2008, 12:30
    #35548673
Grayscale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
на самом деле если несколько не доходит до 50 я думаю руками будет намного быстрее все поменять...
...
Рейтинг: 0 / 0
19.09.2008, 12:34
    #35548689
Как поменять
ну да - файлы разный - только коннкт везде одинаковый. вообщем мне надо в цикле пройтись по всеи mdb файлам и изменить ConnectionString. В каждом файлу mdb есть datamodule AdoConnect, в ктором написано:
Const MyServer As String = "172.20.1.7"
Const MySQLdb As String = "GGTDB09"
Const MySQLUserA As String = "treas"
Const MySQLPassA As String = "xazina"
Const MySQLUser As String = "treas"
Const MySQLPass As String = "xazina"
...
Рейтинг: 0 / 0
19.09.2008, 12:36
    #35548696
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
Георгий Давидовичнаверное я не совсем точно выразился. файл, который я буду изменять, не будет открыт в это время. т.е. у меня много таких mdb файлов, в которых мне надо изменить ConnectionString и я хочу как-то автоматизировать этот процесс.
Если файлов много, эффективней держать значения не в тексте модуля, а в таблице. Считать, изменить - все доступно.
...
Рейтинг: 0 / 0
19.09.2008, 12:38
    #35548702
Как поменять
кстати отличная идея! спасибо!
...
Рейтинг: 0 / 0
19.09.2008, 13:28
    #35548901
Ёжик`
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
Код: 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.
Option Compare Database
Option Explicit

Public Sub test()
FRDB "d:\~home~\desktop\db1.mdb", "172.20.1.7", "11.111.11.1"
FRDB "d:\~home~\desktop\db1.mdb", "172.20.1.7", "11.111.11.1"
MsgBox "Усе"
End Sub


Public Function FRDB(MdbFullName As String, MyServerOld As String, MyServerNew As String)
Dim cmd As String
Dim App As Access.Application
cmd = """" & SysCmd(acSysCmdAccessDir) & "msaccess.exe"""
cmd = cmd & " """ & MdbFullName & """"
Shell cmd, vbHide
Set App = GetObject(MdbFullName)
AllProcsFindAndReplace App, MyServerOld, MyServerNew
App.Quit
End Function

Public Function AllProcsFindAndReplace(ByRef App As Access.Application, MyServerOld As String, MyServerNew As String)
    Dim oVBComponent As Object, mdl As Object
    For Each oVBComponent In App.VBE.ActiveVBProject.VBComponents
        Set mdl = oVBComponent.CodeModule
        FindAndReplace App, mdl.Name, MyServerOld, MyServerNew
    Next
End Function


Function FindAndReplace(App As Access.Application, strModuleName As String, strSearchText As String, strNewText As String) As Boolean
    Dim mdl As Module
    Dim lngSLine As Long, lngSCol As Long
    Dim lngELine As Long, lngECol As Long
    Dim strLine As String, strNewLine As String
    Dim intChr As Integer, intBefore As Integer, intAfter As Integer
    Dim strLeft As String, strRight As String

    ' Open module.
    App.DoCmd.OpenModule strModuleName
    ' Return reference to Module object.
    Set mdl = App.Modules(strModuleName)

    ' Search for string.
    If mdl.Find(strSearchText, lngSLine, lngSCol, lngELine, _
        lngECol) Then
        ' Store text of line containing string.
        strLine = mdl.Lines(lngSLine, Abs(lngELine - lngSLine) +  1 )
        ' Determine length of line.
        intChr = Len(strLine)
        ' Determine number of characters preceding search text.
        intBefore = lngSCol -  1 
        ' Determine number of characters following search text.
        intAfter = intChr - CInt(lngECol -  1 )
        ' Store characters to left of search text.
        strLeft = Left$(strLine, intBefore)
        ' Store characters to right of search text.
        strRight = Right$(strLine, intAfter)
        ' Construct string with replacement text.
        strNewLine = strLeft & strNewText & strRight
        ' Replace original line.
        mdl.ReplaceLine lngSLine, strNewLine
        FindAndReplace = True
    Else
        'MsgBox "Text not found."
        FindAndReplace = False
    End If

Exit_FindAndReplace:
    Exit Function

Error_FindAndReplace:

MsgBox Err & ": " & Err.Description
    FindAndReplace = False
    Resume Exit_FindAndReplace
End Function
...
Рейтинг: 0 / 0
19.09.2008, 13:37
    #35548928
use udl files
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять
Георгий Давидовичну да - файлы разный - только коннкт везде одинаковый. вообщем мне надо в цикле пройтись по всеи mdb файлам и изменить ConnectionString. В каждом файлу mdb есть datamodule AdoConnect, в ктором написано:
Const MyServer As String = "172.20.1.7"
Const MySQLdb As String = "GGTDB09"
Const MySQLUserA As String = "treas"
Const MySQLPassA As String = "xazina"
Const MySQLUser As String = "treas"
Const MySQLPass As String = "xazina"
Можно также сделать UDL файл со строкой подключения, положить его на сервер. Строка подключения у клиентов будет одна: "FileName=\\path\file". Нужны изменения в строке подключения - меняется настройка файла.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как поменять / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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