Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ODBC и Attributes где тут что ... ? / 7 сообщений из 7, страница 1 из 1
13.04.2004, 12:13
    #32478829
PokeMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и Attributes где тут что ... ?
То ли лыжи не едут то ли я 3,14... :-)

Задача: Автоматически менять линки на таблицы Access и ODBC (Exel и MSSQL2000). Условие на линк - параметр передоваемый через cmd.
Access линкуется без напряга, а с ODBC проблемма ->
Надо поменять значение не только Connect, но и SourceTableName.
После тяжелых умственных мучений :-) догодался, что св-во SourceTableName непростое - эт. ж имя табла ODBC а, Access же незнает какие там поля и индексы и т.д.. Следовательно нада креатить линкованный табл см.
Код: plaintext
Set tdf= dbs.CreateTableDef (VName, VAttributes, VSourceTableName, VConnect)

Без атрибутов - говорит "Надо делать филды"
Разношу по свойствам, ставлю
Код: plaintext
tdf.Attributes = dbAttachedODBC

Он выдает ошибку "Ошибочный Аргумент"
...
Помогите пжлст
...
Рейтинг: 0 / 0
13.04.2004, 12:45
    #32478907
PokeMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и Attributes где тут что ... ?
Ничего непонимаю.
В HELP-е говорится
HELPdbAttachedODBC - Таблица является присоединенной таблицей из базы данных ODBC, например, из базы данных Microsoft SQL Server (только чтение).
Дополнительные сведения

Для объекта, еще не добавленного в семейство, данное свойство доступно для чтения/записи.

Присоеденил табл ручками. Посмотрел Attributes = 536870912.
Поставил у себя так же. Те же яйца - вид сбоку.
...
Рейтинг: 0 / 0
13.04.2004, 15:25
    #32479337
PokeMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и Attributes где тут что ... ?
Видно я так и умру без собаки. :-)\r
...\r
Сижу ужо второй день.\r
Ваабсче зачем такое свойство придумали Attributes, если его назначить нельзя (В моем случае)?\r
...\r
Вот код Процедуры (так на всякий случай):\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Public Function RefreshOneODBCTable(VTableName As String, VTableSourceName As String, VODBCCOnnectString As String) As Boolean\r
  Dim dbs As Database\r
  Dim tdf As TableDef\r
  Set dbs = CurrentDb\r
  On Error GoTo RefreshOneODBCTable_Err\r
      dbs.TableDefs.Delete VTableName\r
      Set tdf = dbs.CreateTableDef(VTableName, dbAttachedODBC, VODBCCOnnectString, VTableSourceName)\r
      dbs.TableDefs.Append tdf\r
    \r
RefreshOneODBCTable_Exit:\r
  Set dbs = Nothing\r
  Set tdf = Nothing\r
  Exit Function\r
\r
RefreshOneODBCTable_Err:\r
  MsgBox  "Беда" \r
  Resume RefreshOneODBCTable_Exit\r
  \r
End Function
\r
...\r
Поискал я, так ничего вразумительного ненашел.\r
Microsoft уверяет мол "делай как в хелпе в примере и все будет работать".\r
Ан нет.\r
Тут вродь написанно, а итог непонятен. Т.е. задача немного другая там парень с MDB работает, а я с ODBC
...
Рейтинг: 0 / 0
14.04.2004, 10:03
    #32480352
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и Attributes где тут что ... ?
А если поменять

Set tdf = dbs.CreateTableDef(VTableName, dbAttachedODBC, VODBCCOnnectString, VTableSourceName)

на

Set tdf = dbs.CreateTableDef(VTableName, dbAttachedODBC, VTableSourceName, VODBCCOnnectString )
...
Рейтинг: 0 / 0
14.04.2004, 10:17
    #32480381
PokeMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и Attributes где тут что ... ?
Ой пардон.
...
Конечно Set tdf = dbs.CreateTableDef(VTableName, dbAttachedODBC, VTableSourceName, VODBCCOnnectString ).
Тока это всеравно ничего неминяет
...
Эт от отчаяния я такой невнимательный стал :'(
Очень нелюблю кода чего-то неполучается ...
...
Рейтинг: 0 / 0
14.04.2004, 11:01
    #32480509
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и Attributes где тут что ... ?
а в место

Код: plaintext
Set tdf = dbs.CreateTableDef(VTableName, dbAttachedODBC, VODBCCOnnectString, VTableSourceName)


записать

Код: plaintext
1.
2.
Set tdf = dbs.CreateTableDef(VTableName)
tdf.Connect = VODBCCOnnectString
tdf.SourceTableName = VTableSourceName


???
...
Рейтинг: 0 / 0
15.04.2004, 11:54
    #32482435
PokeMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и Attributes где тут что ... ?
Вообсчем посыпаем голову пеплом и идем в дворники ...
Проблемма (не проблемма даже) вот в чем:
1. Поле Attributes ваабсче задавать ненада.
Оно определяется автоматически (пусть Access трудится).
2. При задании SourceTableName нада учитывать особенности именования таблиц (в моем случае MSSQL2000 и Exel соответственно "dbo.ИМЯ" и "ИМЯ$").
...
ЗЫ: Если кто-нибудь мне объяснит роль параметра Attributes при создании таблицы, я буду вооще счастлив. Ведь если незадовать, то работать будет и автоматически выдаст это же значение при добавлении таблицы в TableDefs.
Хотя записанно, что параметр - чтение/запись ...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ODBC и Attributes где тут что ... ? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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