Получить атрубуты поля из Access-ой базы
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Получить атрубуты поля из Access-ой базы Expand / Collapse
Автор
Сообщение
22.12.2006 11:27
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 04.07.2007 23:09
Сообщ.: 174, Visits: 1 474
Добрый день!

Кто-нибудь сталкивался с проблемой получения всех атрибутов поля из *.mdb-ой базы данных.

А именно: тип поля, условия, длина поля, разрядность, условия?

Проблема имеет место быть конкретно для типа "денежный" - изменение атрибута с "основного" на "фиксированный" нельзя отследить из VB.

Заранее благодарен,

Toller

Сообщ. #909127
22.12.2006 11:31


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863
Полагаю, ADOX тебе поможет. Да и у рекордсета коллекция Fields есть.
Сообщ. #909128
25.12.2006 17:09
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 04.07.2007 23:09
Сообщ.: 174, Visits: 1 474
Сформулирую вопрос еще раз.

Проблема имеет место быть конкретно для типа "денежный" - изменение атрибута с "основного" на "фиксированный" нельзя отследить из VB.

Т.е. в базе изменили у ячейки денежного типа формат с основного на фиксированный - а в RecordSet - никаких изменений не произошло.

Если можно, примерчик.

Сообщ. #909222
25.12.2006 17:16


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863
Как я понимаю, эта настройка не влияет ни на что, кроме как на отображение. Следовательно, это и нельзя отследить. А с какой целью вам это нужно?
Сообщ. #909223
26.12.2006 11:33
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 04.07.2007 23:09
Сообщ.: 174, Visits: 1 474
 
 База Access
  Какие изменения и в каких элементах структуры должны произойти, если в столбце типа денежный(Summ) изменить
формат поля например с 'основного' на 'фиксированный' или любой другой и изменить число десятичных знаков.
Вопрос возник потому, что такое изменение, как ни странно, не привело ни к каким изменениям ни атрибутов ни свойств

Вот изменение  столбца, например с целого на длинное целое, сразу меняет DefinedSize с 2 на 4 и type c 2 на 3 ,
а изменение формата денежный, почему то ничего не меняет.

работал след фрагмент кода:

       For i = 0 To RS.Fields.Count - 1
         If RS.Fields.Item(i).Name = NameFields Then                       'фильтр искомого поля
            sss = sss & "DefinedSize=" & RS.Fields.Item(i).DefinedSize & ",   "
            sss = sss & "Attributes=" & RS.Fields.Item(i).Attributes & ",   "
            sss = sss & "Type=" & RS.Fields.Item(i).Type & ",   "
            sss = sss & "NumericScale=" & RS.Fields.Item(i).NumericScale & ",   "
            sss = sss & "Precision=" & RS.Fields.Item(i).Precision & ",   "
            sss = sss & "Value=" & RS.Fields.Item(1).Value & ",   "
           
            sss = sss & "Propertis="

            For j = 0 To RS.Fields.Item(i).Properties.Count - 1 
 '              sss = sss & Trim(RS.Fields.Item(i).Properties.Item(j).Name) & Str(j) & "=" & RS.Fields.Item(i).Properties.Item(j).Type & ",  "
                sss = sss & "Name" & bs_NtoS(j) & "-" & RS.Fields.Item(i).Properties.Item(j).Name & ";  "
                sss = sss & "Type" & bs_NtoS(j) & "-" & RS.Fields.Item(i).Properties.Item(j).Type & ";  "
                sss = sss & "Attr" & bs_NtoS(j) & "-" & RS.Fields.Item(i).Properties.Item(j).Attributes & ";  "
                sss = sss & "Value" & bs_NtoS(j) & "-" & RS.Fields.Item(i).Properties.Item(j).Value & ";  "
            Next j
         End If
       Next i


Результат:
' пуск для формата денежный основной
Summ  DefinedSize=8,   Attributes=122,   Type=6,   NumericScale=255,   Precision=19,
      Propertis=
                       Name0-BASECOLUMNNAME;    Type0-202;  Attr0-1;  Value0-Summ;   'имя стобца
                       Name1-BASETABLENAME;     Type1-202;  Attr1-1;  Value1-WZ01M;  'имя таблицы
                       Name2-ISAUTOINCREMENT;   Type2-11;   Attr2-1;  Value2-False;  ' что за элемент и за что отвечает?
                       Name3-ISCASESENSITIVE;   Type3-11;   Attr3-1;  Value3-False;  ' что за элемент и за что отвечает?
                       Name4-COLLATINGSEQUENCE; Type4-3;    Attr4-1;  Value4-1033;   ' что за элемент и за что отвечает?

' пуск для формата денежный фиксированный да и любой другой
Summ  DefinedSize=8,   Attributes=122,   Type=6,   NumericScale=255,   Precision=19,
      Propertis=
                       Name0-BASECOLUMNNAME;    Type0-202;  Attr0-1;  Value0-Summ;
                       Name1-BASETABLENAME;     Type1-202;  Attr1-1;  Value1-WZ01M;
                       Name2-ISAUTOINCREMENT;   Type2-11;   Attr2-1;  Value2-False;
                       Name3-ISCASESENSITIVE;   Type3-11;   Attr3-1;  Value3-False;
                       Name4-COLLATINGSEQUENCE; Type4-3;    Attr4-1;  Value4-1033; 

Сообщ. #909238
27.12.2006 7:55
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 10.08.2007 15:25
Сообщ.: 234, Visits: 2 142
ISAUTOINCREMENT - Увеличение на 1. применяется для Числового поля (целого)
ISCASESENSITIVE - Чуствительность к регистру (я так понял, что общее поле)
COLLATINGSEQUENCE - кодировка
Сообщ. #909268
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Comanche, Alexey Spirin

Время GMT +3:00, Сейчас 6:11