powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как в аксесе перелинковать ссылки программым способом
5 сообщений из 5, страница 1 из 1
как в аксесе перелинковать ссылки программым способом
    #32067041
Фотография Andrey S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как можно управлять ссылками в аксесе, без визардов и прочее, что бы не убивать и создатвать по 100 штук за раз
...
Рейтинг: 0 / 0
как в аксесе перелинковать ссылки программым способом
    #32067053
NikolayK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Линки к каким именно базам !!!
...
Рейтинг: 0 / 0
как в аксесе перелинковать ссылки программым способом
    #32067055
Фотография Andrey S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НАпример, лежит у меня файл эксель где на серваке, я в аксес втаскиваю ссылку, на него, когда открываю конструктор полученной в результате таблицы, сообщение, типа, "read only", как добрать ся до этого пути который указывает на файл и редактровать его?
типа задал глобальную переменную кликнул кнопку, и все линки переписались..
очень нужно, что придумать
...
Рейтинг: 0 / 0
как в аксесе перелинковать ссылки программым способом
    #32067059
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
'© Serg Gribanow E-mail prbasic@lcpi.lipetsk.ru
'Îáíîâëåíèå ñâåäåíèé î ïîäêëþ÷åíèè òàáëèö.
Function RefreshLinksToTable(ByVal FileName As String) As Boolean
    
    Const MAXTABLES =  5 
    Const NONEXISTENT_TABLE =  3011 
    Const NWIND_NOT_FOUND =  3024 
    Const ACCESS_DENIED =  3051 
    Const READ_ONLY_DATABASE =  3027 
    
    Dim CountTable As Integer
    Dim i As Integer
    Dim MyTable As TableDef
    Dim MyDB As Database
 
    If Len(FileName) =  0  Then
        RefreshLinksToTable = False
        Exit Function
    End If
    
    Set MyDB = CurrentDb
    RefreshLinksToTable = True

    On Error Resume Next   '  Ïðîäîëæèòü, åñëè ïîäêëþ÷åíèå íåâåðíî.
       
    DoEvents
    DoCmd.OpenForm "dlgConnect"
    DoEvents
    DoCmd.HourGlass (True) 'Óñòàíàâëèâàåì ïåñî÷íûå ÷àñû
    Call SysCmd(SYSCMD_INITMETER,  "Ïîäêëþ÷åíèå òàáëèö..." , MAXTABLES)
             
    ' Ïðîâåðèòü âñå ïîäêëþ÷åíèÿ.
    CountTable = 1
    For i = 0 To MyDB.TableDefs.Count - 1 Step 1
        Set MyTable = MyDB.TableDefs(i)
        
        If MyTable.Connect <> "" Then
            MyTable.Connect = ";DATABASE=" & FileName
            Err = 0
            MyTable.RefreshLink
            If Err <> 0 Then
               Select Case Err
               
                Case NONEXISTENT_TABLE
                  MsgBox "Ôàéë ' " & FileName & " ' íå ñîäåðæèò íåîáõîäèìîé òàáëèöû ' " & MyTable.SourceTableName & " '", 16, "Îøèáêà çàïóñêà ïðèëîæåíèÿ."
                Case NWIND_NOT_FOUND
                  MsgBox "Íåíàéäåí ôàéë áàçû äàííûõ", 16, "Îøèáêà çàïóñêà ïðèëîæåíèÿ."
                Case ACCESS_DENIED
                  MsgBox "Îøèáêà îòêðûòèÿ " & FileName & ".", 16, "Îøèáêà çàïóñêà ïðèëîæåíèÿ."
                Case READ_ONLY_DATABASE
                  MsgBox "Ôàéë ïðèëîæåíèÿ èìååò àòðèáóò 'Òîëüêî äëÿ ÷òåíèÿ'", 16, "Îøèáêà çàïóñêà ïðèëîæåíèÿ."
                Case Else
                  MsgBox Error, 16, "Îøèáêà çàïóñêà ïðèëîæåíèÿ"
                End Select
                          
             RefreshLinksToTable = False
             GoTo errRefreshLinksToTable
                       
            End If
            
            CountTable = CountTable + 1
            Call SysCmd(SYSCMD_UPDATEMETER, CountTable)
          End If
    Next i


errRefreshLinksToTable: 'Ìåòêà ñáðîñà ïåðåìåííûõ è çàêðûòèÿ ôîðì
  
 Call SysCmd(SYSCMD_REMOVEMETER)
 DoCmd.HourGlass (False)
 DoCmd.Close acForm,  "dlgConnect" 
 DoEvents
 Set MyDB = Nothing
 
 If RefreshLinksToTable Then Call MsgBox( "Ïîäêëþ÷åíèå ê ÁÄ âûïîëíåíî@@Ïîñëå íàõàòèÿ êíîïêè <ÎÊ> ìîæíî ïðèñòóïàòü ê ðàáîòå" ,  "Âíèìàíèå !" )
End Function
'**********************************

...
Рейтинг: 0 / 0
как в аксесе перелинковать ссылки программым способом
    #32067060
NikolayK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub link()
Dim Mydb as database
Dim tdf as tabledef
set mydb = currentdb()
set tdf = mydb.createtabledef("NAME TABLE")
tdf.connect = "Excel 7.0; D:\Temp\baza.xls" 'или что там утебя
mydb.tabledefs.append tdf
end sub

Или почитай help для tabledefs...
УДАЧИ!!!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как в аксесе перелинковать ссылки программым способом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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