powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Связанные текстовые файлы
5 сообщений из 5, страница 1 из 1
Связанные текстовые файлы
    #32580062
Rex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Возникла такая проблема: делаю связи с текстовыми файлами, при этом надо, чтобы файлы брались из папки, где находится сам mdb-файл.
Попробовал такой код:

Код: plaintext
1.
2.
3.
4.
    For Each tbl In cat.Tables
        If tbl.Type = "LINK" Then
            tbl.Properties("Jet OLEDB:Link Datasource") = CurrentProject.Path
        End If
    Next
Однако в момент присвоения вылетает ошибка о том, что не существует спецификация текстового файла (в визарде Advanced->Specs). Причём не всегда - закономерность выявить не удалось. То работает, то нет. Никто не сталкивался?
...
Рейтинг: 0 / 0
Связанные текстовые файлы
    #32581127
Rex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, неужели никто не сталкивался с подобной задачей.
...
Рейтинг: 0 / 0
Связанные текстовые файлы
    #32581219
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Это годится?

/topic/36783

Только надо старую таблицу удалить, а адрес папки посчитать через CurrentDb.Name.
...
Рейтинг: 0 / 0
Связанные текстовые файлы
    #32581233
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim MyCat As ADOX.Catalog
Dim MyTable As ADOX.Table
Dim MyPr As ADOX.Property
Set MyCat = New ADOX.Catalog
MyCat.ActiveConnection = CurrentProject.Connection
For Each MyTable In MyCat.Tables
If MyTable.Type = "Link" Then
  For Each MyPr In MyTable.Properties
     Debug.Print MyTable.Name; MyPr.Name; "-->"; MyPr.Value
  Next MyPr
End If
Next MyTable
Set MyCat = Nothing
обнаружил временные таблицы,остающиеся после удаления связаных
вида ~...
возможно надо проверять Left(tbl.Name,1)<>"~"
попробуй у себя!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
~TMPCLP10831Temporary Table-->False
~TMPCLP10831Jet OLEDB:Table Validation Text-->
~TMPCLP10831Jet OLEDB:Table Validation Rule-->
~TMPCLP10831Jet OLEDB:Cache Link Name/Password-->False
~TMPCLP10831Jet OLEDB:Remote Table Name-->tmpExport#txt
~TMPCLP10831Jet OLEDB:Link Provider String-->Text;DSN=TmpExport - спецификация связи;FMT=Fixed;HDR=NO;IMEX= 2 ;CharacterSet= 866 ;
~TMPCLP10831Jet OLEDB:Link Datasource-->C:\Documents and Settings\excadmin\My Documents
~TMPCLP10831Jet OLEDB:Exclusive Link-->False
~TMPCLP10831Jet OLEDB:Create Link-->True
~TMPCLP10831Jet OLEDB:Table Hidden In Access-->False
...
Рейтинг: 0 / 0
Связанные текстовые файлы
    #32581536
Rex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отследил такую закономерность: если прилинковать файл, потом в Autoexec вставить вызов процедуры, которая обновляет свойство "Jet OLEDB:Link Datasource", то можно закрывать-перемещать-открывать MDB сколько угодно - подхватывается всегда текстовый файл из текущей папки. Стоит закрыть Access, пропадает связь (прошу прощения за тафтологию) между связанной таблицей и спецификацией и процедура обновления вываливается с ошибкой "не существует спецификация". Данные в MSysIMEX* при этом остаются неизменными. Однако если посли этого ещё раз вручную выполнить Autoexec, связь восстанавливается! Не программирование, а танцы с бубном какие-то...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Связанные текстовые файлы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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