2010-07-06 3 views
1

Ищете следующие функции форм с INFORMIX 4GL ?, ISQL с ESQL/C ?, PROGRESS-4GL ?, ORACLE? и т.д?Как я могу отображать и управлять массивами записей?

У меня есть форма CRUD, которая отображает клиента [мастер] со всеми их asociated сделок в рекордно массивов [подробно] на одном экране:

[id ] 
[fullname      ] 
[address1      ] 
[address2      ] 
[city    |st|zip ] 
================================================================ 
[trxnum][itemdesc       ] 
[trxnum][itemdesc       ] 
[trxnum][itemdesc       ] 
[trxnum][itemdesc       ] 
[trxnum][itemdesc       ] 
[trxnum][itemdesc       ] 


attributes 
id = customer.pk_id = transaction.fk_id; 
trxnum = transaction.trx_num = actions.trx_num; 
[...]; 

instructions 
customer master of transaction 
transaction master of action 
[...]; 

Желаемая функциональность:

Когда я запрос и найдите правильного клиента [мастер], я хочу, чтобы все транзакции [подробно], принадлежащие этому клиенту, были автоматически отображены. Если имеется более 6 строк подробностей, я хочу, чтобы у вас была возможность прокручивать все строки подробностей [в области прокрутки] до тех пор, пока я не найду подходящую транзакцию. Тогда я хочу, чтобы обновить эту операцию, нажав ввести или «U» для обновления и следующий экран действий появляется в режиме обновления:

[id ] 
[fullname      ] 
[address1      ] 
[address2      ] 
[city    |st|zip ] 
================================================================ 
[trxnum][itemdesc         ] 

TRANS-DATE TRX-TIME ACTION PRINCIPAL AMOUNT BALANCE CLERK 
[tdate  ][ttime ] [a] [princ ][amt ][bal ][cl] 
[tdate  ][ttime ] [a] [princ ][amt ][bal ][cl] 
[tdate  ][ttime ] [a] [princ ][amt ][bal ][cl] 
[tdate  ][ttime ] [a] [princ ][amt ][bal ][cl] 
[tdate  ][ttime ] [a] [princ ][amt ][bal ][cl] 
[tdate  ][ttime ] [a] [princ ][amt ][bal ][cl] 

снова, это область прокрутки предыдущих действий [строки], связанная с конкретной транзакции. Я хочу, чтобы курсор автоматически позиционировал себя в следующем открытом месте openbale, позволяя tdate и ttime = default current и курсор останавливаться на теге действий «a» для клерка, чтобы ввести желаемое действие. Я также хочу возможность выполнять вычисления между предыдущими действиями [rows]. Я умело имитирую это в ISQL, но без возможностей просмотра массивов записей. (см. видео-демонстрацию [2min. mark] на: www.frankcomputer.com

Я желаю перезаписать эту желаемую функциональность с помощью другого инструмента dev-dev, если он обладает этими способностями, а не сложным или длительным чтобы реализовать, но логичным вариантом было бы переписать с I4GL, однако я слышал, что он громоздкий, чтобы иметь дело с рекордными массивами. Любые лучшие предложения?

+0

Какое сообщество пользователей вы планируете? Это средние бизнес-пользователи? –

+0

@Conrad: Любой разработчик, который разработал формы, которые отображают или управляют массивами записей! –

ответ

1

Informix 4GL может это сделать, Informix SQL, даже с помощью ESQL/C , я не знаю, о Прогрессе или Oracle, но вполне вероятно, что они могут что-то сделать.

В I4GL вы потянули бы основную запись, затем используя обычные инструкции DISPLAY (нет t DISPLAY ARRAY) вы должны отобразить подробную информацию в строках экрана раздела подробностей. Когда пользователь захотел выбрать строку для обновления, вы перейдете либо к инструменту DISPLAY ARRAY, либо, возможно, к инструкции INPUT ARRAY.

+0

Как выполнить вычисления между столбцами на разных массивах записей с помощью индексов курсора? –

+0

@Frank: это зависит от того, что вам нужно. Если все данные в массиве экрана (или, точнее, программный массив, который отображается на экране), то вы просто используете индексы массивов как обычно. Если у вас есть два параллельных массива: один с данными для отображения и один, у которого есть данные, которые не отображаются, у вас более сложная работа. Вы должны отслеживать операции вставки и удаления в INPUT ARRAY и следить за тем, где записи находятся в обоих массивах (убедитесь, что второй массив имеет копию информации PK - для перекрестной проверки и здравомыслия), а затем вы используете регулярные как и раньше. –