Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5   вперед  Ctrl      все
 Недокументированные фичи  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Предлагаю собрать коллекцию недокументированных фич (или, как сказали бы в Израиле, фичеров) Аксесса. Например:

1. Вложенные селекты: https://www.sql.ru/forum/actualthread.aspx?bid=4&tid=31358&pg=1

2. Обращение к полям через форму, а не через рекордсет: https://www.sql.ru/forum/actualthread.aspx?bid=4&tid=43028

А еще?

Потом из этого можно будет сделать фак. А может, это уже есть у Гетца?

Сообщение было отредактировано: 20 янв 10, 11:40
4 сен 03, 19:43    [327068]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
Geo
Member

Откуда:
Сообщений: 6887
Access'ный хелп об этом молчит, Гетц об этом говорит на каждом шагу:

rst.close
set rst = nothing

Я пока не имею толкового вопроса и тем более ответа на этот вопрос, но неадекватность работы этих строчек (https://www.sql.ru/forum/actualthread.aspx?bid=4&tid=47080 и ссылка оттуда) заставляет задуматься.

Всем спокойной ночи. :)
5 сен 03, 00:31    [327163]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
Фича
публикуется впервые и по большому секрету )))

ADP XP

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

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

в хранимой процедуре параметр @param1 - соответствует имени поля в главной форме и не имеет значения по умолчанию
-------------------------------------------------------------------------------

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

фича © AlexeyK (изучение эффекта еще не закончено)
- при изменении значения на главной форме в в поле param1 данные в подчиненной форме обновляются без перехода в подчиненной форме на первую запись !!!
5 сен 03, 10:43    [327407]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Нука, нука с этого места по подробнее, интересно как это она обновляется сам без перескока на первую запись.
5 сен 03, 11:03    [327432]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
тайна, покрытая мраком ....
однозначно это не resync - ибо ресинк выполняется медленно.
видимо нужно принять как факт
5 сен 03, 11:15    [327455]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
сама обновляется, автоматически после изменения значения в поле главной формы
5 сен 03, 11:17    [327457]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
2 Владимир Саныч
это будет не faq, а сборник "вредных советов" (кстати, автор по моему тоже щас в Израиле живет?) для акцессников:))

ибо следующие им рискуют...
5 сен 03, 11:23    [327469]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
А какой-нибудь примерчик для теста можно??? уж очень хочется пощупать
5 сен 03, 11:24    [327470]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
пример данного эффекта

ADP, (необходим MSSQL SERVER с установленной демонстрационной базой Northwind)
5 сен 03, 12:58    [327681]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Нуууу, я так не играю.
5 сен 03, 14:19    [327878]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
bazaea
Member

Откуда: Бокситогорск
Сообщений: 500
5 сен 03, 15:23    [328027]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 19600
могу и ошибиться , но эту фичу я где-то видел в литературе или инете.
и на форуме уже описал её применение.
5 сен 03, 22:17    [328585]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Кажется, я слишком сильно замахнулся с постановкой задачи. Вот что дал поиск:

https://www.sql.ru/forum/actualtopics.aspx?search=недокументирован&bid=4

Тут материалу не на один десяток факов...
6 сен 03, 21:29    [328877]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
2 iSestrin:

http://www.sem40.ru/famous2/e1205.shtml

Г.Остер живет и работает в Москве.
6 сен 03, 23:17    [328895]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
vdimas
Member

Откуда: Севастополь
Сообщений: 1147
То, сказал АлексейК - испытанная и надежная технология.
Более того - она работает и для отчетов. Это особенно актуально, если в качестве источников данных отчета берется процедурка с параметрами, а мы открываем несколько копий одного и того же отчета (создаем по new) с разными параметрами.

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

Вот и посадили отчет на хранимую процедурку со множеством параметров.
Все чудесно работает.
7 сен 03, 11:52    [328930]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
2 Владимир Саныч

>Г.Остер живет и работает в Москве<

хм, значит я его с Игорем Губерманом спутал:)) - тоже в своем роде "вредные советы", только не для детей, а для взрослых, что совсем в топик...
7 сен 03, 12:32    [328935]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
найден следующий эффект с клоном рекодсета формы:

для добавления данных в подчиненную форму использую клон главной формы
Set rsp = Me.Recordset.Clone


при этом согласно документации должен образоваться совершенно другой объект не связанный с формой.
но этого не происходит - при любых действиях с новым объектом происходят события "передергивающие форму" и вызывающие обновление записей в подчиненной.
видимо рекордсет формы имеет какие- то события связанные с обработчиками событий в форме ....

если открывать рекордсет не как клон а как новый рекордсет то такого не
происходит:

rsp.Open Me.Recordset.Source, CurrentProject.Connection, adOpenDynamic, adLockOptimistic


Изучение эффекта может дать новые возможности по вечно актуальной теме -обновление данных в форме без перехода на первую запись

Acc 2002 ADP MDAC 2.8

форма и подформа основаны на одной таблице таким образом что в подформу выбираются записи где parent_id = главная форма Id (дерево)
Эффект выглядит как построчное добавление записей в подчиненную форму
18 сен 03, 10:34    [343849]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
Senin Viktor
Member

Откуда: Подмосковье
Сообщений: 5006
Недокументированная фича ADO
recodset.Collect(0) - почти тоже самое что и recodset.Fields(0), но без заполнения сотни свойств коллекции Fields. Поэтому работает быстрей. Использую везде, где нужно получить только значение поля без его свойств.
Истоник: Improving MDAC Application Performance /*Suresh Kannan*/
The Collect method is a hidden method of the Recordset object that lets you
quickly get and set the Value property of a Field object without having to obtain a field reference first. This method is appropriate to use when you aren't interested in obtaining or setting any properties other than Field.Value.
18 сен 03, 10:48    [343871]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
Shkurenko Alexander
Member

Откуда:
Сообщений: 236
>Недокументированная фича ADO
>recodset.Collect(0)
с DAO тоже отлично работает :)
18 сен 03, 14:33    [344382]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
Темный
Member

Откуда:
Сообщений: 11941
Самое главное то, что наша Лестница тоже попала в результаты поиска по слову "недокументирован"

18 сен 03, 21:09    [345028]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
>recodset.Collect(0)

а если изменится порядок полей в исходном запросе ? кронты коду?
19 сен 03, 09:24    [345251]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
Shkurenko Alexander.
Guest
>>recodset.Collect(0)

>а если изменится порядок полей в исходном запросе ? кронты коду?

А если я напишу
recordset.Collect("name_field")
так пойдёт?

Ведь Senin Viktor написал как этот метод использовать, в чем его приемущества перед другими, написал даже где можно почитать. Неужели трудно проверить ? ;-)

От себя только могу посоветовать использовать именно это метод в подходящих обстоятельствах!!!

Если слишком резко, прошу извенить. Сегодня день лесника млин, а может я ошибаюсь, но наша контора отмечает что-то связаное с лесом. Не дошел до курилки ...
19 сен 03, 14:00    [345820]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Сегодня столкнулся с таким ГЛЮКОМ, не знаю на скоко он закономерен (это покажут дальнейшие испытания)

Прикол такой: база mdb AccXp на win98:
1. в таблице T1 ~650 000 записей.
2. очищаем таблицу T1 через запрос "DELETE ...." (Захожу, проверяю потом, все ОК, чисто)
3. Запускаю запрос на вставку в T1 записей из T2 в кол-ве ~950 000. Запрос отрабатывается номана.
4. Захожу в T1 и вижу кол-во записей в T1 ~650 000 (точно уже не помню, но порядок такой). Запрос на Count(*) возвращает точно такое значение.

Действия были повторены два раза и приводили к такому же результату.

И ТОЛЬКО после того как после запроса по T1 типа "DELETE ...." база была сжата (и востановленна) через одноименный пункт, вставка записей из T2 прошла в полном объеме.

Кто-нибудь с таким сталкивался?!?

Завтра попробую что будет если таблицу T1 удалять и создавать заново, но конечно не хотелось бы лишний раз дергать таблицу...
1 апр 04, 17:55    [608563]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
А почему в этом топике?
1 апр 04, 18:00    [608571]     Ответить | Цитировать Сообщить модератору
 Re: Недокументированные фичи  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Не хотел плодить новый, а вроде когда то хотели создать отдельный FAQ по глюкам..... ну нашел токо этот топик, потому сюда и решил
1 апр 04, 18:03    [608578]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить