|
|
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
Этот вопрос у нас возникал при обсуждении факов, но вслух произнесен не был - наверно, по причинам фрейдистского характера. Имеется возможность писать что-нибудь типа Код: plaintext 1. 2. 3. 4. 5. А какого типа объект выдается таким синтаксисом? Вроде это и не поле, и не контрол. Я проверил TypeName - получилось AccessField. Что это за зверь? Какие у него есть свойства и методы? ObjectBrowser его не показывает. Спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:38 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
.Value доступно для изменения. Проверено практикой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:40 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
Про Value - это единственное, что я знал. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:42 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
Саныч, при включеном свойсnве Show hidden members он показываеться. Даже их 2 штуки AccessField и _AccessField Ничего акромя Value у него нет. В MSDN ни слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:46 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
В ObjectBrowser сделай доступными скрытые компоненты (правая кнопка) и потом ищи. Кроме Value никаких других свойств у объектов этого типа нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:48 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor & IgorM: Понял, thanx! Кстати, у меня _AccessField нет, зато есть _AccessProperty и __AccessProperty. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:50 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
По нему без проблем связывается подчиненная форма. А подотчет иногда глючит. Приходится вытаскивать поле и делать его невидимым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:55 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
А там в скрытых есть много интересного... Например, _CheckBoxInOption (и т.д.) и _ChildLabel - разновидности контролов на случай, когда они являются чьими-нибудь детьми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:55 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
> А подотчет иногда глючит. В отчетах это вообще никогда не работает. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 11:57 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
Кстати. А есть ли какая-нибудь коллекция, в которую они все входят? Как к ним обращаться полным синтаксисом? frm.коллекция!fld ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 18:14 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
Влдаимир Саныч. А зачем, если не секрет, это нужно. Если нужно поле источника и все его свойства тогда так frm.Recordset.Fields(Index) ну а если только значение т.е. Value тогда быстрее и короче frm.Recordset.Collect(Index) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 19:06 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Код: plaintext 1. 2. 3. 4. 5. 6. Dim ctlID As Control может быть Dim ctlID As TextBox , и т.д. 2 Шкуренко Александр контрол нужен, чтобы управлять параметрами именно контрола. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 19:14 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
в догонку, у этого подчиненного объекта и события можно перехватывать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 19:20 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч. Прошу прощения за очепятку. to vdimas >контрол нужен, чтобы управлять параметрами именно контрола. В п. 1 было написано: fld - поле в рекордсете формы, для которого никакого контрола нет Может я чего путаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 19:21 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
не, это я путаю... Просто в предыдущих топах поднимался вопрос о том как добраться до полей таблицы с целью изменения ширины полей. В предложеном мною варианте эту таблицу можно было указывать в специально предназначенной форме как подчиненную. Таким образом: реальной формы, как объекта проекта нет, а вот полями, этой таблицы все-равно управлять можно. И даже логику полноценную строить - указал как события перехватывать. Вот теперь до-конца показал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 19:35 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
> frm.Recordset.Collect Это интересно... Доберусь до Аксесса 2000, попробую. Thanx. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 20:43 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
нашел эти грабли по 100-му разу ?me.Controls("Code") 4144 но при этом в me.Controls(i).Name такого нет и объявить Dim ctl as Control Set ctl = me.Controls("Code") нельзя - "несоответствие типа данных" ...пока нашел, что контрола-то в действительности и нет, а есть только поле в базовом наборе... Кстати, Саныч, получается, что к полю в базовом наборе таки можно обратиться по имени как к: me.Controls("Code") (чтобы вернуть/присвоить величину, а не как к объекту) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 15:41 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
2 Шкуренко Александр ОГРАМАДНАЁ ШПАСИБА - ВОТ ОНА - НАШЛАСЬ ПРОПАЖА Блин, я Этот Collect в мозгах сыскать не смог - и "записки потерялись", а уже заявился щеголем - щас, мол, скажу... 2 Саныч A2000 тут не при чем - Collect метод ДАО-рекорсета - это и есть тот самый "недокументированный". В 97 отменно живет. т.е. Dim lFldPos as Long Dim strName as String lFldPos = tRec.Fields("ContragentName").CollectionIndex DO WHILE NOT tRec.EOF strName = tRec.Collect(lFldPos) tRec.MoveNext LOOP Он, такой-сякой, и есть самый быстрый и самый недокументированный ЕЩЕ РАЗ СПАСИБО Шкуренко Александр за возврат ПОТЕРЯННЫХ ЗНАНИЙ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 15:59 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
2 фыыф: Спасибо! Действительно работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 16:06 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч да пжалста меня извиняет мой склероз, и то, что последний раз я на это убил день -другой в году ... не помню в каком, но в прошлом веке. Очень может быть, что и в 7-м (95) аксе, какой был на редкость глюкав. Опять же я кодер не по призванию, а скорей по необходимости. Т.е. не фанат. А то бы сразу вспомнил :). Вот подумал, как может быть устроен объект Controls. Понятно, что это не стандартный VBA.Collection, а видимо нечто наследуемое от общего предка в VBA аналогичная функциональность могла быть такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 2 Victosha .Collect прекрасно понимает имя (т.е. поля вставлены в коллекцию по key), но не возвращает имен и прочих свойств. Т.ч. обратиться .Collect("anyName") можно, и нет необходимости вызывать .Fields нет необходимости, хотя, если полагать, что вызов по номеру быстрее, чем по key, то, т.к. такая полезная штука как .CollectionIndex есть токмо в DAO.Fields ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 11:57 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
2 фыыф ОК. спасибо. а по индексу не обязательно быстрей (в стандартном VB|VBA Collection-е так точно медленней, хотя в акцессе это не важно). это у меня конкретная такая заморочка. опрашивать поля в цикле по номерам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 12:04 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
А вот у меня мысль. /topic/38890&pg=2#688719 В Аксессе 2 не было коллекции Controls, обращения к контролам писались просто как Me!MyControl. Но таким же образом писались и обращения к полям, которые обсуждаются в этом топике. Когда в Аксессе 95 была создана коллекция Controls, то через нее, получается, стало возможно обращаться и к тем, и к другим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 12:04 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
2 Саныч не понял о чем мысль - о скорости исполнения Me.ControlName, me("ControlName"), me.ControlName ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 12:12 |
|
||
|
Обращение к полю через форму - что за объект?
|
|||
|---|---|---|---|
|
#18+
Нет. Об истории возникновения синтаксиса, позволяющего обращаться к полям через слово Controls. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2004, 12:14 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32228484&tid=1674502]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 526ms |

| 0 / 0 |
