|
|
|
ADODC vs Recordset и True DBGrid
|
|||
|---|---|---|---|
|
#18+
Есть база Access 2000. В ней есть таблица с 10 полями. Пять из этих полей обязательные. Если использовать ADODC, то при добавлении новой строки, если не все обязательный поля заполненны сделать переход на новую строку невозможно и появляется сообщение о том что незаполненно обязательное поле. Если же использовать Recordset, то перейти на другую строку при незаполненных обязательных полях можно и ошибка появится только при updat'e recordseta. В гриде есть событие Before_RowColChange , но естественно оно наступает и при переходе по ячейкам строки, а не только при переходе по строкам. Вопрос: можно ли при использовании Recordset добится того же эффекта что и с ADODC, т.е. если не заполненны обязательные поля - переход на другую строку невозможен ? P.S. Исполюзую MDAC 2.8, VB6 SP6 и True DBGrid 8.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 13:56 |
|
||
|
ADODC vs Recordset и True DBGrid
|
|||
|---|---|---|---|
|
#18+
В чем проблема-то? В Before_RowColChange проверяешь что введено в текущую ячейку, если ничего или не то, что надо, делаешь Cancel = True. И избавься от глючного ADODC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 14:43 |
|
||
|
ADODC vs Recordset и True DBGrid
|
|||
|---|---|---|---|
|
#18+
AntonariyВ чем проблема-то? В Before_RowColChange проверяешь что введено в текущую ячейку, если ничего или не то, что надо, делаешь Cancel = True. И избавься от глючного ADODC Может быть я чего-то не понимаю, ты не мог бы пояснить ? То что нужно обрабатывать событие Before_RowColChange - понятно. Вопрос как определить что переход на другую строку, а не на другую ячейку той же строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 15:28 |
|
||
|
ADODC vs Recordset и True DBGrid
|
|||
|---|---|---|---|
|
#18+
А какая разница, куда он переходит? Нужно же проверить, что покидая текущую ячейку, юзер туда ввел правильные данные. Но если тебе это так важно, можешь в MouseDown по координатам выяснить куда он кликнул. Хотя не знаю, какое из событий раньше сработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 16:29 |
|
||
|
ADODC vs Recordset и True DBGrid
|
|||
|---|---|---|---|
|
#18+
Antonariy, спасибо за ответы. Вопрос закрыт. Забыл я про свойство DestinationRow, которое как раз и указывает на строку на которую будет совершен переход. Т.е. нужно в событии BeforeRowColChange это свойство сравнить с результатом GetBookmark(0) и если они разные дальше уже проверять заполненны ли все требуемые поля или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 16:44 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33658963&tid=2166065]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 318ms |

| 0 / 0 |
