Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что за рунда?
 
 автор: час   (08.12.2009 в 15:59)   личное сообщение
 
 

Дело происходит в 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

  Ответить  
 
 автор: snipe   (08.12.2009 в 16:03)   личное сообщение
 
 

залез в MSDN - fiel не нашел

  Ответить  
 
 автор: час   (08.12.2009 в 16:28)   личное сообщение
 
 

Жаль ....
Но Fiel - это переменная
Она объект и она поле таблицы их соллекции Fields

  Ответить  
 
 автор: osmor   (08.12.2009 в 16:37)   личное сообщение
 
 

это свойство появляется только тогда когда в него что-то вписали, по умолчанию его нет. Проверяй ошибку и resume next

  Ответить  
 
 автор: час   (08.12.2009 в 16:57)   личное сообщение
 
 

по индексу обращается, но ничего не выдаёт
все поля прописал поддписи, но нифига ппока не выдаёт

не удаётся найти объект в семействе

=====================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

  Ответить  
 
 автор: час   (08.12.2009 в 17:12)   личное сообщение
 
 

Млжет потому, что я в ADO библиотеке...

  Ответить  
 
 автор: Lukas   (08.12.2009 в 17:28)   личное сообщение
 
 

Угу.

  Ответить  
 
 автор: час   (08.12.2009 в 17:47)   личное сообщение
 
 

А как жа тада мне быть

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

  Ответить  
 
 автор: osmor   (08.12.2009 в 17:56)   личное сообщение
 
 

а разве у adodb.Field есть такое свойство? в Help посмотри

  Ответить  
 
 автор: час   (08.12.2009 в 20:41)   личное сообщение
 
 

а разве у adodb.Field есть такое свойство? в Help посмотри
================================================
пока не нашёл нигде даже упоминания.................
а как же тада блинннн они собирались остальные свойства - на ХР ен то выбросить.......

может глубоко в catalog засунуто???

  Ответить  
 
 автор: ДрЮня   (08.12.2009 в 17:59)   личное сообщение
 
 

перебираем все поля открытого рекордсета


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
...

  Ответить  
 
 автор: Lukas   (08.12.2009 в 18:06)   личное сообщение
 
 

Я делал сервисную табличку:

FieldName Text
BaseTableName Text
FieldCaption Text

Сделал класс, в котором метод по переданному полю рекордсета читает fld.Name и
fld.Properties("BASETABLENAME") и ищет в сервисной табличке FieldCaption.
Работает значительно быстрее, чем считывать свойство Caption через DAO.
При некотором усовершенствовании, позволит делать мультиязычный интерфейс.

  Ответить  
 
 автор: час   (08.12.2009 в 20:35)   личное сообщение
 
 

Я вот попробовал
нет там каптиона
'' названия столбцов (заголовки)
'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

  Ответить  
 
 автор: час   (08.12.2009 в 20:39)   личное сообщение
 
 

Я делал сервисную табличку:
===========================
Дико звиняюся - но поля(свойства) могут модифицироваться - таадаа каждый раз в сервисную табличку заносить ручками изменения - а если забудешь - или не точность какая.............

Лучше бы автоматпулемётом....

  Ответить  
 
 автор: Explorer   (08.12.2009 в 20:54)   личное сообщение
 
 


Дико звиняюся - но поля(свойства) могут модифицироваться - таадаа каждый раз в сервисную табличку заносить ручками изменения



ммм... в некоторых ERP это считается вполне даже нормальным :) а в аксессе есть свои "сервисные таблички" куда заносится все ровно то-же самое

автопулеметом

  Ответить  
 
 автор: час   (08.12.2009 в 21:08)   личное сообщение
 
 

чё же делать .........блиннннннннннннн
Пишу и чую ДЕЖА вю
=================================================
http://hiprog.com/forum/read.php?id_forum=1&id_theme=5532

  Ответить  
 
 автор: час   (09.12.2009 в 09:13)   личное сообщение
 
 



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.

  Ответить  
 
 автор: час   (09.12.2009 в 10:05)   личное сообщение
 
 

Код Олега работает чудесно, но 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

  Ответить  
 
 автор: час   (09.12.2009 в 10:07)   личное сообщение
 
 

не спасает и
On Error Resume Next

просто ничего не выдаёт и фсё
==========================
рунда - она и в африке рунда

  Ответить  
 
 автор: ShadowOfSun   (09.12.2009 в 20:10)   личное сообщение
 
 

попробуй эту строчку
но я не проверял - просто предположения


strOwner = cat.GetObjectOwner("Имя_Допрашиваемой_Таблицы", adPermObjColumn)

  Ответить  
 
 автор: час   (10.12.2009 в 10:44)   личное сообщение
 
 

попробую.....
========================
Хотя - если чесна - я уже зарубил это мероприятие....

  Ответить  
 
 автор: ShadowOfSun   (10.12.2009 в 21:02)   личное сообщение
 
 

час,
мое предыдущее предположение полный бред
строчка

adoxCol.Properties("Description")' Caption - фиг вам

правильно работает и выдает не заголовок, а описание поля
для внесения данных в Caption используется другой механизм
глянь ссылку
http://www.sql.ru/forum/actualthread.aspx?bid=4&tid=14258&hl=caption+field
а как вытащить эту инфу - я не нашел(весь хелп перерыл)

  Ответить  
 
 автор: час   (11.12.2009 в 17:04)   личное сообщение
 
 

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList