Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Отображение массива  [new]
OkeTurel
Member

Откуда:
Сообщений: 195
Здравствуйте.

В VBA я формирую двумерный массив. Мне надо, чтобы пользователь этот массив мог как-то просмотреть на экране при нажатии кнопки на форме, примерно как в виде таблицы, но неужели мне придется создавать отдельную временную таблицу? По-другому никак?
3 апр 19, 08:54    [21850881]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
court
Member

Откуда:
Сообщений: 1797
OkeTurel,

формируй свободный АДО-рекордсет
Его можно задать как рекордсет формы
... или вывести в какой-нибудь АктивХ грид
3 апр 19, 08:59    [21850886]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
OkeTurel
Member

Откуда:
Сообщений: 195
court, спасибо, попробую задать как рекордсед формы...
3 апр 19, 09:17    [21850915]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4363
OkeTurel, можно в список вывести. Смотря сколько записей планируется.
3 апр 19, 09:33    [21850941]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
OkeTurel
Member

Откуда:
Сообщений: 195
Панург, там иногда много записей и много полей, смотря какие поля пользователь выберет на форме и смотря сколько человек отметит для отображения.
3 апр 19, 10:46    [21851021]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6259
OkeTurel
Здравствуйте.

В VBA я формирую двумерный массив. Мне надо, чтобы пользователь этот массив мог как-то просмотреть на экране при нажатии кнопки на форме, примерно как в виде таблицы, но неужели мне придется создавать отдельную временную таблицу? По-другому никак?
Хотелось бы знать какую задачу,и как, Вы решаете и вытекающий отсюда вопрос-а занахрена пользователю видеть некий массив(а может не массив,а перечень значений)
3 апр 19, 11:15    [21851052]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4363
OkeTurel
Панург, там иногда много записей и много полей, смотря какие поля пользователь выберет на форме и смотря сколько человек отметит для отображения.
тут главное чтобы количество записей не перевалило за 32к+ (так по-моему, не помню сколько точно допускает листбокс)
3 апр 19, 11:39    [21851074]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4363
sdku
Хотелось бы знать какую задачу,и как, Вы решаете и вытекающий отсюда вопрос-а занахрена пользователю видеть некий массив(а может не массив,а перечень значений)
И? Я например, выводил пользователю значения замеров - двумерный массив синглов (десятки тысяч замеров на объект). И что? Хранится всё в двоичном виде.
Какая разница что делает ТС?
3 апр 19, 11:43    [21851081]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4363
соврамши...
Панург
двумерный массив синглов
3 апр 19, 11:46    [21851085]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
OkeTurel
Member

Откуда:
Сообщений: 195
автор
Хотелось бы знать какую задачу,и как, Вы решаете и вытекающий отсюда вопрос-а занахрена пользователю видеть некий массив(а может не массив,а перечень значений)

Есть форма с вкладками.
На первой вкладке пользователь выбирает, по каким людям ему нужны данные. Может выбрать группу людей, занимающих одну должность, может выбрать одного человека.
На второй вкладке пользователь выбирает, какие ему нужны данные - ИНН, сведения о паспорте, возраст, много типов сведений может выбрать. Там список с мультиселектным выбором.
И потом надо бы, чтобы он просмотрел результат, потому что если какое-то возвращаемое поле пусто, то это вообще-то его вина, что оно пусто. Значит, он не ввел какой-то документ или не заполнил регистр. И ему надо это сделать, а потом повторить выбор.
А потом он распечатает эти сведения или вставит в какой-нибудь другой документ.
3 апр 19, 12:01    [21851115]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
OkeTurel
И потом надо бы, чтобы он просмотрел результат, потому что если какое-то возвращаемое поле пусто, то это вообще-то его вина, что оно пусто.


Все это называется проблемы интерфейса... пользовтель с таким же успехом как забыл заполнить значение может и незаметить отсутствие этого значения перед тем как испортить кучу бумаги... Разумнее было бы при нажатии на кнопку печать, при наличии пустых полей, показывать только эти пустые поля, с возможностью их редактирования, а если все нормально - то просто печатать документ без предпросмотра (это сэкономит кучу времени - не нужно проверять то, что не нужно проверять)
3 апр 19, 16:04    [21851450]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6259
сделать поля обязательными,а при отсутствии данных писать "-" (прочерк)
3 апр 19, 17:22    [21851534]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
OkeTurel
Member

Откуда:
Сообщений: 195
Спасибо за советы.
Сделала, короче, сразу вывод в Excel, в том числе пустые строки. Пусть пользователь дальше сам парится.
8 апр 19, 09:29    [21855455]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4908
OkeTurel
Спасибо за советы.
Сделала, короче, сразу вывод в Excel, в том числе пустые строки. Пусть пользователь дальше сам парится.
Не согласен. Пользователь должен быть на первом месте. Ведь именно от него зависит Ваша зарплата.
Иногда до 50% времени уходит на обеспечение удобства пользователя. Контроль на заполнение нужных полей, контроль на правильность заполнения, формирование нужных сообщений, переход к проблемным полям, правильный порядок перехода по Enter и т.д.
8 апр 19, 10:50    [21855577]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
OkeTurel
Member

Откуда:
Сообщений: 195
Ну вот, опять все переделывать.
9 апр 19, 10:10    [21856778]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 328
OkeTurel, а откуда вы берете данные для заполнения массива? И почему именно массив?
А вообще, форма с листбоксами и табличная субформа, использующая "свободный АДО-рекордсет" решит вашу проблему. После изменения 1-го списка рекордсет перезаполняется, а после изменения 2-го списка меняется видимость колонок.
9 апр 19, 10:55    [21856843]     Ответить | Цитировать Сообщить модератору
 Re: Отображение массива  [new]
OkeTurel
Member

Откуда:
Сообщений: 195
Кривцов Анатолий, ну, если по порядку, то в форме пользователь выбирает в списке те виды информации, которые он хочет узнать о человеке или группе людей. В списке мультивыбор. Например, он выбрал "ФИО", "ИНН", "Адрес регистрации" для 3-х человек.

Дальше запускается кусок кода, перебирающий его выбор. Каждое выбранное значение передается функции variable_value, которая это значение вычисляет для конкретного человека. Там 2 цикла, внешний перебирает людей, внутренний перебирает тип информации.
For Each i In Me.list_information.ItemsSelected
c = c + 1
Do
r = r + 1
o_sheet.Cells(r, c).Value = variable_value(Me.list_information.ItemData(i), o_source("person_id").Value)
o_source.MoveNext
Loop While Not o_source.EOF
o_source.MoveFirst
r = 2
Next i


Я потом это запихиваю сразу в Эксель, но, видимо, придется сделать по-другому.
9 апр 19, 13:39    [21857099]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить