Интерактивные документы и базы данных
Под интерактивным документом понимается документ, автоматически изменяющий свое содержание в ответ на действия пользователя. При этом, естественно, предполагается, что интерфейс документа содержит различные элементы управления - меню, командные кнопки, поля ввода, списки, благодаря которым пользователь может управлять изменениями в документе. Интерактивные документы, как правило, обладают еще одной важной особенностью, - они связаны с некоторой базой данных. Именно такие документы мы и будем рассматривать. В процессе работы пользователя с документом происходит обмен данными между базой данных и документом. Это означает, что в ответ на те или иные действия пользователя некоторые данные будут выбираться из базы данных и переноситься в документ, где они становятся доступными для проведения необходимых операций над ними. Справедлив и обратный процесс, - данные, созданные в документе в результате действий пользователя, могут сохраняться в базе данных.
На три момента хочу обратить внимание:
- Документы должны храниться достаточно долго. Поэтому без базы данных не обойтись. При этом не всегда обязательно хранить сам документ в той форме, в которой с ним работает пользователь. Часто достаточно хранить в базе данных информацию, связанную с документом. При этом важно следовать следующему принципу. Если информация, размещаемая на документе в момент его создания, уже имеется в базе данных, то ее следует переносить в документ из базы данных, а не создавать заново. Всякую новую информацию, полученную в процессе работы пользователя с документом, следует перенести в базу данных. Этот принцип работы с документами способствует поддержанию полноты и непротиворечивости данных.
- Чаще всего, именно Excel является тем приложением, где обрабатываются данные, хранящиеся в базах данных. Поэтому многие офисные документы, требующие интерактивность, создаются как документы Excel.
- Хотя всюду в тексте этой главы я буду говорить о базе данных, следует иметь в виду, что источники данных для документа, в общем случае, могут быть различные, - как структурированные (базы данных), так и не структурированные. Об этом достаточно подробно говорилось в предыдущих главах при рассмотрении объектов ADO.