|
|
|
3 вопроса по Access'у
|
|||
|---|---|---|---|
|
#18+
Народ, Есть 3 вопроса. 1) Есть листбокс с опцией "несвязанное выделение" установленной на "простое" (т.е. в листбоксе нажатием кнопки мышки можно выделять сколько хочешь записей) Требуется сделать так, чтобы нельзя было бы выделить больше чем скажем 10 записей. У кого какие идеи? 2) Почему после завершения операций с переменной типа рекордсет нужно присваивать ей значение nothing? 3) Иногда после работы с базой (мдб, 2000, где-то 20 таблиц, размер файла с данными около 10 мб) создается такое впечатление что под конец работы она думает дольше чем в начале работы. Если это не плод воображения уставшей головы, то как с этим бороться? Заранее благодарен всем ответившим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 11:58 |
|
||
|
3 вопроса по Access'у
|
|||
|---|---|---|---|
|
#18+
1) Проверять сколько уже выделено и если это число равно 10, то при попытке выделить еще одну запись посылать нах.... 2) Если памяти дох... и ничего не тормозит, то можно и не присваивать. 3) См. п.2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:03 |
|
||
|
3 вопроса по Access'у
|
|||
|---|---|---|---|
|
#18+
2TRoUbLEs Спасибо но: По 1 вопросу: Узнать сколько записей выделено не проблема Ну скажем выделено 10, дальше что? Закрывать доступ к листбоксу нельзя - должна оставаться возможность еще и снимать выделение с некоторых записей. Надо или сразу после выделения 11-ой записи снимать с нее это выделение, или не давать выделять вообще, только снимать выделение с уже выделенных записей, или еще как то..... Как послать-то? По 2,3 Так что, значения переменных типа рекордсет остаются после выполнения процедуры (забыл сказать, переменные эти у меня на уровне процедуры, ну в смысле не глобальные)??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:26 |
|
||
|
3 вопроса по Access'у
|
|||
|---|---|---|---|
|
#18+
1) Да как хочешь!!! Пытается человек выделить запись, ты видишь, что это уже 11-я запись msgbox "Иди попрыгай на мусорных бачках!" ......selection=false 2,3) Лучше, если больше не требуется, закрывать все открытые соединения, и закрывать все Аппликейшины, если ты с ними работаешь. Хотя, про грамотное использование памяти тебе лучше гуру пусть ответят или тут где-то вроде ФАК был, почитай его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:37 |
|
||
|
3 вопроса по Access'у
|
|||
|---|---|---|---|
|
#18+
2TRoUbLEs Во-первых me.mylistbox.selection к листбокса я не нашел Во-вторых, есть me.mylistbox.undo, есть Cancel в событии before_update, я пробовал, ни одно из событий не снимает 11-ое выделение Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 13:09 |
|
||
|
3 вопроса по Access'у
|
|||
|---|---|---|---|
|
#18+
свойства не всегда видны разного рода GUI -ями selected - массив = false пашет попробуй готовый обработчик к списку с несвязанным выделением Private Sub Sp_R_AfterUpdate() ' Sp_R - тот самый список Dim intCurrentRow As Integer Dim Ct As Long Dim Poz As Long Ct = 0 'help рекомендованный цикл по несвязаному списку For intCurrentRow = 0 To Sp_R.ListCount - 1 If Sp_R.Selected(intCurrentRow) Then Ct = Ct + 1 Next intCurrentRow Me![Sp_R].BorderColor = 0 Poz = SysCmd(acSysCmdSetStatus, "Готово") If Ct > 10 Then 'сброс выделения текущего элемента Me![Sp_R].Selected(Me![Sp_R].ListIndex) = False 'красим границу списка Me![Sp_R].BorderColor = 255 ' даем понятные пояснения Poz = SysCmd(acSysCmdSetStatus, "в очередь сукины дети") End If End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 14:00 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32446924&tid=1675981]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
416ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 730ms |

| 0 / 0 |
