LiXiQing
11-12-2007, 23:31
Существует таблица содержащая три поля: КОД (ключевое поле), ПОНЯТИЕ (adVarWChar), ТОЛКОВАНИЕ (adVarWChar).
в ListBox находящийся во всплывающей форме FORM1 требуется поместить только повторяющиеся элементы поля ПОНЯТИЕ и соответствующие им значения в поле ТОЛКОВАНИЕ, сортировка по полю КОД, которое не должно отображаться в ListBox.
И это еще цветочки!
Хотелось бы, чтобы в ListBox'е было бы три колонки, одна для ПОНЯТИЕ, вторая ТОЛКОВАНИЕ, а третья указывала бы состояние, которое с помощью группы переключателей задает пользователь. В группе три переключателя: + (объединить две текущую и корневую строки в одну), - (удалить текущую строку) и 0 оставить без изменений. Четвертый вариант: пустая ячейка обозначающая корневую строку с которой пользователь ничего сделать не может.
Хотелось бы, чтобы в правой крайней колонке динамически(!) отображались бы выбранные пользователем действия для данной повторяющейся строки. Например:
ПОНЯТИЕ ТОЛКОВАНИЕ СОСТОЯНИЕ
-------------------------------------
ДУРАК |Стакан (турецк.) | | (корневая строка)
ДУРАК |Глупый человек | 0 | (пользователь оставил эту строку без изменений
ДУРАК |Карточная игра | - | (эту строку он захотел удалить)
ДУРАК |Придворный шут | + | (эту слить с корневой)
НОСОК |Перед ступни | | (корневая строка)
НОСОК |Элемент одежды | - | (эту строку пользователь захотел удалить)
-------------------------------------
и т.д.
Я знаю, что проще было бы организовать новую таблицу с которой и работать через LisBox, а потом ее удалить изменив данные в таблице источнике, но это некрасиво, да и говорят, что при коллективном доступе будут возникать ошибки и некорректное отображение данных.
Вариант с Value List (RowSourceType) тоже не проходит: данных очень много от 700 строк до 2000, и когда строка RowSource переполняется (на моем компьютере это 56кбайт) возникает ошибка runtime error 2176 "Слишком болшое значение для заданного свойства".
Как решить задачу изящно и без багов?
в ListBox находящийся во всплывающей форме FORM1 требуется поместить только повторяющиеся элементы поля ПОНЯТИЕ и соответствующие им значения в поле ТОЛКОВАНИЕ, сортировка по полю КОД, которое не должно отображаться в ListBox.
И это еще цветочки!
Хотелось бы, чтобы в ListBox'е было бы три колонки, одна для ПОНЯТИЕ, вторая ТОЛКОВАНИЕ, а третья указывала бы состояние, которое с помощью группы переключателей задает пользователь. В группе три переключателя: + (объединить две текущую и корневую строки в одну), - (удалить текущую строку) и 0 оставить без изменений. Четвертый вариант: пустая ячейка обозначающая корневую строку с которой пользователь ничего сделать не может.
Хотелось бы, чтобы в правой крайней колонке динамически(!) отображались бы выбранные пользователем действия для данной повторяющейся строки. Например:
ПОНЯТИЕ ТОЛКОВАНИЕ СОСТОЯНИЕ
-------------------------------------
ДУРАК |Стакан (турецк.) | | (корневая строка)
ДУРАК |Глупый человек | 0 | (пользователь оставил эту строку без изменений
ДУРАК |Карточная игра | - | (эту строку он захотел удалить)
ДУРАК |Придворный шут | + | (эту слить с корневой)
НОСОК |Перед ступни | | (корневая строка)
НОСОК |Элемент одежды | - | (эту строку пользователь захотел удалить)
-------------------------------------
и т.д.
Я знаю, что проще было бы организовать новую таблицу с которой и работать через LisBox, а потом ее удалить изменив данные в таблице источнике, но это некрасиво, да и говорят, что при коллективном доступе будут возникать ошибки и некорректное отображение данных.
Вариант с Value List (RowSourceType) тоже не проходит: данных очень много от 700 строк до 2000, и когда строка RowSource переполняется (на моем компьютере это 56кбайт) возникает ошибка runtime error 2176 "Слишком болшое значение для заданного свойства".
Как решить задачу изящно и без багов?