powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выделение строки ... мне нуженн совет
45 сообщений из 45, показаны все 2 страниц
Выделение строки ... мне нуженн совет
    #32232664
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 VS, ВС, ХТ, ЛП, Н-Н и все кто в инете

есть пример по выделению строк
необходимо определить в чем тормоз
в таблице 2 записи при переходе тормоз
А2002. ADO2.7
кому выслать ?
хочу ответ побыстрее ...
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232674
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дай мне посмотреть на чудо :)
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232683
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотри

а сможешь ?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232685
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
время покажет :)
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232686
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее вскрытие покажет :)
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232693
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все круто конечно, но я забыл сказать, что у меня А2000 :)
Типа конвертни, если не влом :)
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232713
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глянуть можно?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232716
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ХТ

ушло

конвертировать не надо?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232731
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ХТ

А куда слать?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232748
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не могу
открыться
выложи где-нибудь
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232780
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да мне некуда положить...

если кто откликнется с местом для забора . только тогда

а пока жди.
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232783
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя авторство бы хотелось сохранить
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232791
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 вадя
Вышли сюда
P.S. Быстрый ответ не обещаю.
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232823
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шли и мне, и, аналогично VIG'у, быстрого ответа не ожидай :(
Только не забудь описать, где что смотреть :)
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232835
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ещё не надоели, то тоже можно выслать сюда
Постараюсь разобраться.
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232838
am (a_mitin)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFF.
да мне некуда положить...
если что, можно положить на http://am.rusimport.ru/msaccess/f.aspx?type=1 - к сообщению приаттачить...
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232874
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну пока сдесь разберёмся меж собой
потом если получится или неполучится ......
а для ХТ Виктор выложит ? на время... небольшое...
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32232884
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Вадя
>а для ХТ Виктор выложит ? на время... небольшое...

Это ты мне?
Если да - то выложу, но только поздно вечером
адрес будет http://www.zyx.ru/download/vaday.rar

==
А что предложением Am не хочешь воспользоваться?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233254
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тут насчет авторства загнул конечно...

моё - только использовать для выделения строк .
а сам файл не мой
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233368
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил. Берите.

2Вадя
Посмотрел быстренько - у меня работает все быстро. Правда и комп не плохой, на нем, блин, все летает :( Уже ни раз напарывался - у меня быстро - у клиента мееедлено.
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233388
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
быстро это?
если сравнивать с переходом без такого ваделения.
т.е. нет заметной задержки при переходе мышкой с первой записи ко второй?

у меня приличная задержка..

какие библиотеки ты используешь?

это значит у меня какие-то настройки не те?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233397
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробовал на более быстрой машине.
всё равно есть задержка при переходе мышки с выделенного поля на другое .
при чем не зависит (почти) от числа строк в таблице.

а в принцепе как вам вариант выделения?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233404
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня функция ppic вызывается по 60 раз при переходе не на соседнюю запись это почему?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233405
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30 раз на lost и 30 раз got
30 строк на экране......

каждый раз прорисовывает весь экран.....
вот в чем фокус ...

как этого избежать?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233412
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если сделать так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub Товар_GotFocus()
    On Error Resume Next
        Dim id As Long
'    Me.TA1 = id' комент

   id = Nz(Me.Товар,  0 )
        Col.Add id, CStr(id)
Me.Recalc
End Sub

Private Sub Товар_LostFocus()
    On Error Resume Next
        Dim id As Long
'    Me.TA1 = id' комент

   id = Nz(Me.Товар,  0 )
       Col.Remove CStr(id)

End Sub




то работает по скорости нормально, но вызывет мерцание строк , что есть не гуд.
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233539
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2вадя
>какие библиотеки ты используешь?

Компоненты то же стандартные - из сервпис-паков. Дело не в этом
Обычный ВинХР+СП1, правда ПК хороший - собирал на заказ :)
одной ОП - 384 Мб RIMM.

>это значит у меня какие-то настройки не те?

То же наврядли. Я над этим не изголяюсь

>всё равно есть задержка при переходе мышки с выделенного поля на другое

У меня задержки не было. Кстати, поле Товар так и должно оставаться белым? Не очень смотриться :(

>то работает по скорости нормально, но вызывет мерцание строк , что есть не гуд.

Убери мерцание с помощью Application.Echo. Да и быстрей экран перерисоваваться будет.
==
Дома еще раз посмотрю (хотя не обещаю).
У тебя главный тормоз: Private Sub Товар_Got/LastFocus() ?
===
Кстати, чем жал архив, что у тебя 200 с лишним кило получилрсь - rar'ом в в 85 кб упаковаеться :)
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233715
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://hiprog.com/access/article.asp?idd=157
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233729
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с конца

3 раром, видимо
mdb не был предварительно сжат файл на

делал так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub Товар_GotFocus()
    On Error Resume Next
        Dim id As Long
'    Me.TA1 = id' комент

   id = Nz(Me.Товар,  0 )
        Col.Add id, CStr(id)
Application.Echo =false
Me.Recalc
Application.Echo= true
End Sub

Private Sub Товар_LostFocus()
    On Error Resume Next
        Dim id As Long
'    Me.TA1 = id' комент

   id = Nz(Me.Товар,  0 )
       Col.Remove CStr(id)

End Sub


эффект есь, но все равно экран мерцает, если сделать перемещение стрелками то будет очень противно.


тако вариант мне понравился лучше

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub Товар_GotFocus()
    On Error Resume Next
        Dim id As Long

   id = Nz(Me.Товар,  0 )
        Col.Add id, CStr(id)

Me.Painting = False
Me.Recalc
Me.Painting = True
End Sub

Private Sub Товар_LostFocus()
    On Error Resume Next
        Dim id As Long
'    Me.TA1 = id

   id = Nz(Me.Товар,  0 )
       Col.Remove CStr(id)

End Sub




. Кстати, поле Товар так и должно оставаться белым? Не очень смотриться :(

белый цвет(или другой) это цвет фона выбранной ячейки (поля).
если в строке несколько полей для редактирования, и при этотм еще и стобцы разного цвета - то это даже удобно
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32233733
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то что я тебе
послал это и
есть пример с
http://hiprog.com/access/article.asp?idd=157
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32234552
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это пример я смотрел.
к сожалению на моей машине (?) это работает аналогично тому варианту с сего здесь и началось.
проблема обозначается так:
при вычислении значений в поле (при автоматическом , т.е. меняем значение в одном поле , входящем в вкачестве входного параметра в функцию , вставленную в качестве данных для поля в ленточной форме -происходит вычисление значения для всех видимых на экране строк ) происходит задержка, которая проявляется в отставании выделения строки от получения фокуса новой строки(поля)
в моем топике от 12.08 в 11:16 (2 вариант) этой задержки нет.

чем обусловлена данная задержка для меня загадка.

еще замечу ,что данный вариант хорошо работает в mdb. для ADP вариант с
Me.Recalc не проходит, Me.Recalc почему-то вызывает пересчет всех данных с повторным запуском ХП формы, равносильно Requery или Refresh.
соответственно вопрос:
1) как адп заставить пересчитать поля не делая выполнения ХП
2)как избавиться от задержки
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32234847
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто может протестировать в ADP?

у меня чё-то не хочет работать. функ . который используется для вывода картинки, т.е. работает, но не выводит.
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32234883
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>1) как адп заставить пересчитать поля не делая выполнения ХП

Команда синхронизации.

>2)как избавиться от задержки

Через 9 месяцев обычно оно само рассасываеться

==
а в по-шаговом режиме выполнял? где траблы - не нашел?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32234931
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Senin Viktor
дак мне нада не источник обновить. а перессчитать вычисляемые поля не выполняя обновление источника данных.
в пощаговом пробовал .....

для mdb можно применять смело работает красиво.

проблема ADP.
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32234969
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>дак мне нада не источник обновить. а перессчитать вычисляемые поля не выполняя обновление источника данных.

Обновил источник - обновил вычисляемые поля. Либо обновляй каждое вычисляемое поле ручками.

>в пощаговом пробовал .....

Ну и где тормоз?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32235042
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Драсте...
Вадя, снимай почту. Если чё не так, то направь меня... Вечером, надеюсь, будет время и смогу "посмотреть" еще разок :)
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32235094
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Senin Viktor
дык у меня поле которое надо обновить оно в области даных

с этим буду еще рабираться

в пошаговм тормозов не заметно все исполняется как и не в пошаговом.
задержка на обновление где-то в исполняющей системе акеса.
где-то заданы времена или еще что.

2НУФ-НУФ
вечером и посмотрю
вечером после ~19 MSK я в режиме "он лайн"
если есть возможность можно обсудить
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32235889
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2НУФ-НУФ
изменения мне понравились
но...
если

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Товар_GotFocus()
On Error Resume Next
  CurID = Nz(Me.Товар,  0 ) 'запомним текущий ID
'  Me.Recalc
  Me!Товар = Me!Товар 'эта строка сгенерирует перерисовку (вызов "Гришанов-метода")
  'только текущей строки (со всеми косяками, которые могут обнаружиться в многопользовательском приложении)
  DoCmd.RunCommand acCmdSaveRecord 'а эта зафиксирует изменения
End Sub


вместо
Me!Товар = Me!Товар
поставить
Me.Recalc

будет быстрее, но мерцает
вопрос: где задается время "автоматического " обновления?

при Me.Recalc происходит вычисление без пауз.
а при Me!Товар = Me!Товар каждая строка обновляется с какой-то паузой.

эта пауза и есть тормазззз - время "автоматического " обновления
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32235897
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Function ppic(ByVal id As Long, VAR1 As Variant) As Variant
Dim dd As Long
  'проверяем, не текущая ли позиция курсора
  If CurID = id Then
    ppic = rst!pic 'здесь может быть одна картинка (цвет текущего курсора)
  Else
    'проверяем, не выбранная ли запись
    If InCol(id) Then
      ppic = rst!pic  'здесь может быть другая картинка (цвет выделения выбранных записей)
    Else
      ppic = Nothing
    End If
  End If
End Function



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

может что не правильно?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32235898
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Function ppic(ByVal id As Long, VAR1 As Variant) As Variant
Dim dd As Long
  'проверяем, не текущая ли позиция курсора
  If CurID = id Then
    ppic = rst!pic 'здесь может быть одна картинка (цвет текущего курсора)
  Else
    'проверяем, не выбранная ли запись
    If InCol(id) Then
      ppic = rst!pic  'здесь может быть другая картинка (цвет выделения выбранных записей)
    Else
      ppic = Nothing
    End If
  End If
End Function



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

может что не правильно?
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32236425
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
далее вопрос

что делает акес когда пишет в строке состояния "выполнение команды..."?

это и организует задержку.
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32237197
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Драсте!
Вадя, лично у меня (А2000) именно так как я и сделал работает быстрей. Т.е. Recalc генерирует перерисовку всех строк, отображенных на экране (в контексте Гришанов-метода), а изменение значения внутри записи - только перерисовку данной текущей строки. Если менять значение свободного контрола, то у меня эффект такой же, как если бы я выполнил Recalc. Т.е. при изменении свободного контрола Акс не знает, какую конкретно запись "перерисовать" и перерисовывает весь экран. Кстати... Ты попробовал выделить десяток строк, а только затем покликать мышкой? Мой вариант так и показывает себя более тормознутым? Странно... Ну тогда не знаю...
Хотя, как ты понимаешь, технология, которая используется Гришанов-методом (фактически механизм поддержания актуальных данных на экране) не документирована и алгоритм ее выполнения может меняться от версии к версии (что, возможно, и наблюдается в нашем случае). Например, у меня акс хранит значения двух "экранов" и если я попеременно их открываю, то функция вообще не вызывается - значения вставляются аксом "по памяти" и всё.
По АДП ничего пока сказать не могу.
И вообще, лично я поэксперементировал некоторое время с данной технологией и пришел к выводу, что она пригодна только для использования во вспомогательном интерфейсе или вообще вне его. Нашел ее ОЧЕНЬ полезной (практически незаменимой) в некоторых ситуациях. Но, это уже ОФФТОП, да и не хочется, чего-та, давать риал-профи дополнительный повод для насмешек :)
Если получится "добить" идею, то не забудь поделиться :)
Удачев в онном!
Дсиданья... //пшёл писать "самоописания"...
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32238306
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
продолжаю биться как рыба об лед...

провел временные исследования
при передвижении спомощью стрелок
само предвижение

Код: plaintext
1.
2.
3.
4.
5.
            Case vbKeyDown
                KeyCode =  0 
                ti = timeGetTime
                Debug.Print  "1   " & ti
                Call MoveMe(False)
                Debug.Print  "10   " & timeGetTime - ti

между точками 1и 10 время ~100 милисекунд

дальше происходит обновление строк

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function ppic(ByVal id As Long, ss As Long) As Variant
Dim dd As Long
On Error GoTo s1
Debug.Print  "8   " & timeGetTime - ti

If InCol(id) Then
ppic = rst!pic
Else
ppic = Null
End If
Debug.Print  "9   " & timeGetTime - ti
Exit Function
s1:
MsgBox Err.Description
End Function



так вот между точками 10 и 8 ~ 360 милисекунд = 0.3 секунды!!!!
это Р3 740/fsb140/512M
что делает акес это время???

ppic -функ в поле данных для картинки
(идентификация через свободное поле )
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32238310
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Вадя

Что делает Акес? Работает :)
Было (и осталось :( ) у меня такое на одной дурной форме - между комадой Открытие формы и попадания в Form_Load терялись 1-2-3 секунды. Пи%дец полной - на форуме где-то лежит мой топик по этому поводу. Правда мне хотя бы удалось выйти из этого положения, открывая эту форму в момент загрузки и более не выгружая, как быть тебе? Не знаю, менять технологию, перейти на коммерческий грид либо еще что-нибудь. Юзера тормозов не простят...
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32238312
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Victor
если не влом тут
http://hiprog.com/access/article.asp?idd=157
проверь у себя есть ли такая задержка
мне кажется у меня каие-то установки сбились
не могут же люди предлагать с таким тормазом вариант...
...
Рейтинг: 0 / 0
Выделение строки ... мне нуженн совет
    #32238316
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На моей машине этот (http://am.rusimport.ru/MsAccess/f2.aspx?id=8326) вариант работает эффективнее (http://hiprog.com/access/article.asp?idd=157)
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выделение строки ... мне нуженн совет
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]