|
|
|
| Дело происходит в VB6
Вывожу данные в Calc
Пытаюсь вывести подписи полей таблицы
говорят что нет такого свойства....... пыталси по индексу
работает только индекс = 0 названия полей....
всего 5 индексов и ни один не выводит подписи полей.....
For Each FIEL In rst2.Fields
Call FUN_IN_DOCS(KOLONKA_ods, STROKA_ods, NZVB(FIEL.Properties("Caption")), 2)
KOLONKA_ods = KOLONKA_ods + 1
Next FIEL | |
|
| |
|
|
|
| залез в MSDN - fiel не нашел | |
|
| |
|
|
|
| Жаль ....
Но Fiel - это переменная
Она объект и она поле таблицы их соллекции Fields | |
|
| |
|
|
|
| это свойство появляется только тогда когда в него что-то вписали, по умолчанию его нет. Проверяй ошибку и resume next | |
|
| |
|
|
|
| по индексу обращается, но ничего не выдаёт
все поля прописал поддписи, но нифига ппока не выдаёт
не удаётся найти объект в семействе
=====================Osmor - ты имеешь ввиду.......
' Ошибка 3270 означает, что свойство не найдено.
If DBEngine.Errors(0).Number = 3270 Then
' Создает свойство, задает его значение и добавляет
' свойство в семейство Properties.
Set prpNew = fld.CreateProperty("Description", dbText, fld.Properties("Caption"))
fld.Properties.Append prpNew
Resume Next
Else | |
|
| |
|
|
|
| Млжет потому, что я в ADO библиотеке... | |
|
| |
|
|
|
|
| А как жа тада мне быть
Set rst2 = New ADODB.Recordset ' набор записей
rst2.Open "SELECT " & STR_TABLE_NAME & ".* FROM " & STR_TABLE_NAME, GLB_CONNECTION, adOpenKeyset, adLockOptimistic
If rst2.EOF = False Then ' если таблица (rst2) не пуста перенос
'' названия столбцов (заголовки)
For Each FIEL In rst2.Fields
Call FUN_IN_DOCS(KOLONKA_ods, STROKA_ods, NZVB(FIEL.Properties("Caption")), 2)
KOLONKA_ods = KOLONKA_ods + 1
Next FIEL | |
|
| |
|
|
|
| а разве у adodb.Field есть такое свойство? в Help посмотри | |
|
| |
|
|
|
| а разве у adodb.Field есть такое свойство? в Help посмотри
================================================
пока не нашёл нигде даже упоминания.................
а как же тада блинннн они собирались остальные свойства - на ХР ен то выбросить.......
может глубоко в catalog засунуто??? | |
|
| |
|
|
|
| перебираем все поля открытого рекордсета
dim k as integer, rs As ADODB.Recordset
Set rs = New ADODB.Recordset
For k = 0 To rs.Fields.Count - 1
msgbox rs.Fields(k).name
Next k
...
|
| |
|
| |
|
|
|
| Я делал сервисную табличку:
FieldName Text
BaseTableName Text
FieldCaption Text
Сделал класс, в котором метод по переданному полю рекордсета читает fld.Name и
fld.Properties("BASETABLENAME") и ищет в сервисной табличке FieldCaption.
Работает значительно быстрее, чем считывать свойство Caption через DAO.
При некотором усовершенствовании, позволит делать мультиязычный интерфейс. | |
|
| |
|
|
|
| Я вот попробовал
нет там каптиона
'' названия столбцов (заголовки)
'For Each FIEL In rst2.Fields
' For STROKA_ods = 0 To FIEL.Properties.Count - 1
' Debug.Print FIEL.Properties(STROKA_ods).Name & " " & STROKA_ods & " " & _
' FIEL.Properties(STROKA_ods)
' Debug.Print FIEL.Properties("ISAUTOINCREMENT").Value
' Next
'Next FIEL | |
|
| |
|
|
|
| Я делал сервисную табличку:
===========================
Дико звиняюся - но поля(свойства) могут модифицироваться - таадаа каждый раз в сервисную табличку заносить ручками изменения - а если забудешь - или не точность какая.............
Лучше бы автоматпулемётом.... | |
|
| |
|
|
|
|
Дико звиняюся - но поля(свойства) могут модифицироваться - таадаа каждый раз в сервисную табличку заносить ручками изменения
|
ммм... в некоторых ERP это считается вполне даже нормальным :) а в аксессе есть свои "сервисные таблички" куда заносится все ровно то-же самое
автопулеметом | |
|
| |
|
|
|
| чё же делать .........блиннннннннннннн
Пишу и чую ДЕЖА вю
=================================================
http://hiprog.com/forum/read.php?id_forum=1&id_theme=5532 | |
|
| |
|
|
|
|
Hi ,
How I can get the captions of fields in the ms access table in VB6?Like
field("Field1").caption in ADO
Thanks
Show The Field Caption Of Msaccess Table
Edit: Re: http://www.xtremevbtalk.com/showthread.php?t=260267
I'm having the same problem:
Code:
Set rs = DBEngine(0)(0).OpenRecordset("SELECT TOP 1 " & Join(SubcomponentHeaders, ",") & " FROM Subcomponents")
On Error Resume Next
strTemp = ""
For i = 0 To rs.Fields.Count - 1
strTemp = strTemp & rs.Fields(i).Properties("Caption").Value
If Err.Number <> 0 Then
strTemp = strTemp & rs.Fields(i).Name & ","
Else
strTemp = strTemp & ","
End If
Next
On Error GoTo 0
SubcomponentHeaders is an array of Field names. ALL of my fields have captions, but only the field names get listed. Here is what I get when I enumerate the property names and valued for the "Minor_ID" field (the caption for which is "Subcomponent Identifier"):
Value H12-170
Attributes 34
CollatingOrder 1033
Type 10
Name Minor_Name
OrdinalPosition 1
Size 255
SourceField Minor_Name
SourceTable Subcomponents
ValidateOnSet False
DataUpdatable True
ForeignName
DefaultValue
ValidationRule
ValidationText
Required False
AllowZeroLength False
FieldSize
OriginalValue
VisibleValue
GUID ????????
Edit by Moderator:
Please start your own thread to ask your own questions. Post relevant links to other threads where necessary.
| |
|
| |
|
|
|
| Код Олега работает чудесно, но Caption не хочет выдавать
Public Function PrintDescriptionADOX(STR_TABLE_NAME As String)
Dim AdoxCat As ADOX.Catalog
Dim adoxTbl As ADOX.Table
Dim adoxCol As ADOX.Column
Set AdoxCat = New ADOX.Catalog
AdoxCat.ActiveConnection = GLB_CONNECTION 'Здесь твой коннекшн нужен будет
For Each adoxTbl In AdoxCat.Tables
If adoxTbl.Name = STR_TABLE_NAME Then
With adoxTbl
For Each adoxCol In .Columns
Debug.Print .Name, adoxCol.Name, adoxCol.Properties("Description")' Caption - фиг вам
Next adoxCol
End With
End If
Next adoxTbl
Set AdoxCat = Nothing
Set adoxTbl = Nothing
End Function | |
|
| |
|
|
|
| не спасает и
On Error Resume Next
просто ничего не выдаёт и фсё
==========================
рунда - она и в африке рунда
| |
|
| |
|
|
|
| попробуй эту строчку
но я не проверял - просто предположения
strOwner = cat.GetObjectOwner("Имя_Допрашиваемой_Таблицы", adPermObjColumn)
| | |
|
| |
|
|
|
| попробую.....
========================
Хотя - если чесна - я уже зарубил это мероприятие.... | |
|
| |
|
|
|
| час,
мое предыдущее предположение полный бред
строчка
adoxCol.Properties("Description")' Caption - фиг вам
|
правильно работает и выдает не заголовок, а описание поля
для внесения данных в Caption используется другой механизм
глянь ссылку
http://www.sql.ru/forum/actualthread.aspx?bid=4&tid=14258&hl=caption+field
а как вытащить эту инфу - я не нашел(весь хелп перерыл) | |
|
| |
|