powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как поменять
14 сообщений из 14, страница 1 из 1
Как поменять
    #35548579
...
Рейтинг: 0 / 0
Как поменять
    #35548593
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отметилсо на аксесе? :)
...
Рейтинг: 0 / 0
Как поменять
    #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
Как поменять
    #35548631
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константы на то и константы что их менять нельзя
...
Рейтинг: 0 / 0
Как поменять
    #35548640
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно как вариант конечно програмно менять текст модуля... но это решение очень самоотверженное)))
...
Рейтинг: 0 / 0
Как поменять
    #35548646
Фотография Ёжик`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как поменять
    #35548653
наверное я не совсем точно выразился. файл, который я буду изменять, не будет открыт в это время. т.е. у меня много таких mdb файлов, в которых мне надо изменить ConnectionString и я хочу как-то автоматизировать этот процесс.
...
Рейтинг: 0 / 0
Как поменять
    #35548660
Фотография TungusXan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А файлы чем то отличаются?

ЗЫ: Ничего личного! (с)
...
Рейтинг: 0 / 0
Как поменять
    #35548673
Grayscale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на самом деле если несколько не доходит до 50 я думаю руками будет намного быстрее все поменять...
...
Рейтинг: 0 / 0
Как поменять
    #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
Как поменять
    #35548696
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Георгий Давидовичнаверное я не совсем точно выразился. файл, который я буду изменять, не будет открыт в это время. т.е. у меня много таких mdb файлов, в которых мне надо изменить ConnectionString и я хочу как-то автоматизировать этот процесс.
Если файлов много, эффективней держать значения не в тексте модуля, а в таблице. Считать, изменить - все доступно.
...
Рейтинг: 0 / 0
Как поменять
    #35548702
кстати отличная идея! спасибо!
...
Рейтинг: 0 / 0
Как поменять
    #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
Как поменять
    #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
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как поменять
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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