|
|
|
Как вытащить предыдущую запись в форме. Честно просмотрел форум, но не нашел чего требуется.
|
|||
|---|---|---|---|
|
#18+
У меня есть форма на основе запроса, записи в запросе никем и никогда не сортируются. Мне требуется сделать так, чтобы по двойному клику на мышку в текущее поле попадали значения из этого же поля предыдущей записи. Для случая, когда идет последовательный ввод новых данных я это при помощи кода сделал. А вот, если юзеру нужно воспользоваться этой функцией среди уже введенных записей, то возникает проблема. Просто не понятно как быть. При последовательном вводе данных, т.е. при работе с последней вводимой записью формы я использую следующий код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Тут вроде все нормально работает. Как сделать чтобы двойной клик вставлял поле из предыдущей записи и внутри формы? Пытался приспособить FindRecord - ничего не получилось. Me.MovePrevios - такого и в помине нет. Причем Me.CurrentRecord совпадает с соответствующей по порядку записью в рекордсете rs. Но как к ней обратиться? rs.FindRecord - такого ведь тоже нет... Что бы такое придумать или где посмотреть? На форуме все честно прошерстил, но ничего не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2003, 01:01 |
|
||
|
Как вытащить предыдущую запись в форме. Честно просмотрел форум, но не нашел чего требуется.
|
|||
|---|---|---|---|
|
#18+
То же самое делает комбинация "Ctrl-Э". Можно попробовать отсылать ее sendkey'ем. А можно примерно так (проверять не буду): dim rs as dao.recordset set rs = me.recordsetclone on error goto EndProc rs.bookmark=me.bookmark rs.moveprevious me.ActiveControl.value=rs.fields(me.activecontrol.controlsource) EndProc: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2003, 02:01 |
|
||
|
Как вытащить предыдущую запись в форме. Честно просмотрел форум, но не нашел чего требуется.
|
|||
|---|---|---|---|
|
#18+
А что такое "Ctrl-Э"??? Чего-то я давил и так и эдак, ничего не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2003, 03:32 |
|
||
|
Как вытащить предыдущую запись в форме. Честно просмотрел форум, но не нашел чего требуется.
|
|||
|---|---|---|---|
|
#18+
есть возможность сливать данные из рекордсета в массив и с массивом работать. получается двумерный массив с параметрами номер строки номер поля и значение - значение поля рекодсета Dim MYARR MYARR = me.recordset.getrows ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2003, 09:19 |
|
||
|
Как вытащить предыдущую запись в форме. Честно просмотрел форум, но не нашел чего требуется.
|
|||
|---|---|---|---|
|
#18+
Гео правильно сказал, только я такую комбинацию клавиш называю Ctrl+' ' - это одиночный апостроф, т.е. клавиша <" ' э> Работает при включении любой раскладки клавиатуры У меня версия Access XP (на предыдущих не знаю действует ли) Имхо, программировать ничего не нужно, достаточно сказать пользователю (написать в справке) о такой возможности и все. Ведь юзеры используют буфер обмена, и никто его не программирует...хотя наверное есть извращенцы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2003, 10:21 |
|
||
|
Как вытащить предыдущую запись в форме. Честно просмотрел форум, но не нашел чего требуется.
|
|||
|---|---|---|---|
|
#18+
А если примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. (Variant можно заменить на тип нужного поля) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2003, 10:31 |
|
||
|
Как вытащить предыдущую запись в форме. Честно просмотрел форум, но не нашел чего требуется.
|
|||
|---|---|---|---|
|
#18+
incold писал:хотя наверное есть извращенцы ...которые вместо Ctrl + C нажимают кнопку "Копировать"? ;) Та же разница :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2003, 10:37 |
|
||
|
Как вытащить предыдущую запись в форме. Честно просмотрел форум, но не нашел чего требуется.
|
|||
|---|---|---|---|
|
#18+
2 AlexJuice Изврещенцы - я имел ввиду программистов, которые программируют в своих разработках те функции, которые встроены в операционную систему, или в оболочку на которой ведется разработка. Например: есть функция копирования/вставки в/из буфер(а) обмена (комбинацией клавиш, либо кнопкой на панели инструментов). Некоторые рисуют свои кнопки для реализации того же. То же самое с этой задачей, зачем программировать то, что уже реализовано в аксесе?! Даже с точки зрения юзера, ведь юзер не мышкой набирает текст, а на клавиатуре. Т.е. если программировать двойной клик, то юзер пишет текст, переходит на новую запись, тянется к мыши, два раза кликает, обратно лезет к клавиатуре и продолжает набирать следующую запись. И все это вместо того, что при наборе текста один раз нажать комбинацию клавиш (к тому же очень важный момент - не нужно переключать раскладку клавиатуры). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2003, 10:47 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32316907&tid=1678409]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 301ms |

| 0 / 0 |
