Access 2002

Что вы получаете


Когда вы обращаетесь к свойству формы RecordsetClone, Access создает копию ее набора записей и возвращает вам ссылку на эту копию. Однако вы не получаете полнофункциональный объект Recordset — например, вы не можете устанавливать значения его свойств Sort и Filter. У этого набора записей своя текущая строка (и свое значение свойства Bookmark), и вы можете перемещаться по нему независимо от формы. Это значит, что если, к примеру, вы вызовете метод Move- Previous своего набора записей, текущая строка формы и закладка ее набора записей останутся прежними.

Когда вы считываете значение свойства формы Recordset, Access возвращает ссылку на тот объект Recordset, из которого берет данные сама форма. Соответственно, у вашего набора записей и у формы одна и та же текущая строка и одна закладка. Если вы перемещаете указатель текущей строки, он меняется и там, и там.

Оба свойства, RecordsetClone и Recordset, возвращают объект Recordset одного типа: в MDB-файле — DAO, а в ADP-файле — ADO. Кроме того, объект, возвращаемый обоими этими свойствами, не поддерживает метод Seek.

Возможности и ограничения

С помощью свойства RecordsetClone можно получить копию набора записей формы. Это свойство доступно только для чтения. Поскольку не обязательно, что текущая строка полученного вами набора записей будет той же, что и в форме, воспользуйтесь его свойством Bookmark либо методами Move и Find.

А вот текущая строка набора записей, полученного с помощью свойства Recordset, обязательно будет той же, что и у формы. Более того, если вы перейдете к другой строке в одном наборе записей, это изменение тут же отразится в другом. А новая и самая замечательная особенность свойства Recordset заключается в том, что с его помощью можно связать с формой любой набор записей, открытый вне ее (см. раздел «Использование свойства Recordset»).

Комментарии закрыты