access количество записей в таблице

Подсчитывает количество записей, возвращенных запросом.

Синтаксис

Аргумент выражение представляет собой строковое выражение, определяющее либо поле с данными, количество которых необходимо подсчитать, либо выражение, в котором производятся вычисления с данными поля. Операндом в выражении может быть имя таблицы или функция (встроенная или определяемая пользователем, но не другая агрегатная функция SQL). Вы можете подсчитать количество записей любого типа, включая текстовые.

Примечания

Совет: В Access 2010 построитель выражений включает функцию IntelliSense, которая указывает требуемые аргументы.

Функцию Count можно использовать для подсчета количества записей в базовом запросе. Например, с помощью функции Count можно подсчитать количество заказов, отправленных в определенную страну.

Хотя в выражении можно проводить вычисления с полем, функция Count просто подсчитывает число записей. Результат не зависит от того, какие именно значения хранятся в записях.

Функция Count не учитывает при подсчете записи, имеющие значение Null, если вместо аргумента выражение не используется подстановочный знак звездочки (*). Если этот знак используется, функция Count подсчитывает общее число записей, включая записи, содержащие поля со значением Null. Вариант Count(* ) работает значительно быстрее, чем Count([ имя_столбца] ). Не следует заключать звездочку в кавычки (‘ ‘). В приведенном ниже примере вычисляется количество записей в таблице Orders.

SELECT Count(*) AS TotalOrders FROM Orders;

Если аргумент выражение определяет несколько полей, как минимум одно из них должно иметь значение, отличное от Null: только тогда функция Count учитывает запись. Если все поля имеют значение Null, запись не учитывается. Имена полей разделяются амперсандом (&). В следующем примере показано, каким образом можно ограничить подсчет записями, в которых либо поле ShippedDate, либо поле Freight имеет значение, отличное от Null.

Функцию Count можно использовать в выражении запроса. Это выражение можно также использовать в свойстве SQL объекта QueryDef или при создании набора записей на основе запроса SQL.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Возможно, вы захотите узнать количество записей в объекте Recordset . You may want to know the number of records in a Recordset object. Например, может потребоваться создать форму, в которой показано количество записей в каждой из таблиц базы данных. For example, you may want to create a form that shows how many records are in each of the tables in a database. Кроме того, можно изменить внешний вид формы или отчета на основе количества записей, содержащихся в ней. Or you may want to change the appearance of a form or report based on the number of records it includes.

Свойство RecordCount содержит количество записей в наборе записей табличного типа или общее число записей, доступ к которым осуществлялся в наборе записейдинамического подмножества или моментального снимка. The RecordCount property contains the number of records in a table-type Recordset or the total number of records accessed in a dynaset- or snapshot-type Recordset. Объект Recordset без записей имеет значение 0 для свойства RecordCount . A Recordset object with no records has a RecordCount property value of 0.

Значение свойства RecordCount равно количеству записей, к которым осуществлялся доступ. The value of the RecordCount property equals the number of records that have actually been accessed. Например, при создании динамического подмножества или моментального снимка вы обращаетесь (или посещаете) только к одной записи. For example, when you first create a dynaset or snapshot, you have accessed (or visited) only one record. Если вы проверите свойство RecordCount сразу же после создания динамического подмножества или моментального снимка (предполагая, что у него есть хотя бы одна запись), значение равно 1. If you check the RecordCount property immediately after creating the dynaset or snapshot (assuming it has at least one record), the value is 1. Чтобы открыть все записи, используйте метод MoveLast сразу же после открытия набора записей, а затем используйте MoveFirst , чтобы вернуться к первой записи. To visit all the records, use the MoveLast method immediately after opening the Recordset, and then use MoveFirst to return to the first record. Это не происходит автоматически, так как это может замедлиться, особенно для больших наборов результатов. This is not done automatically because it may be slow, especially for large result sets.

Когда вы открываете объект Recordset табличного типа, вы фактически посещаете все записи в базовой таблице, а значение свойства RecordCount равно количеству записей в таблице сразу после открытия набора записей . When you open a table-type Recordset object, you effectively visit all of the records in the underlying table, and the value of the RecordCount property equals the number of records in the table as soon as the Recordset is opened.

Отмененные транзакции могут сделать значение свойства RecordCount устаревшим в некоторых случаях многопользовательской ситуации. Canceled transactions may make the value of the RecordCount property out-of-date in some multiuser situations. При сжатии базы данных восстанавливается правильное значение счетчика записей таблицы. Compacting the database restores the table’s record count to the correct value.

В следующем примере кода создается объект Recordset типа моментального снимка, а затем определяется количество записей в наборе записей. The following code example creates a snapshot-type Recordset object, and then determines the number of records in the Recordset.

Так как приложение удаляет записи в наборе записейдинамического типа, значение свойства RecordCount уменьшается. As your application deletes records in a dynaset-type Recordset, the value of the RecordCount property decreases. Однако в многопользовательской среде записи, удаленные другими пользователями, не отражаются в значении свойства RecordCount до тех пор, пока текущая запись не будет размещена в удаленной записи. However, in a multiuser environment, records deleted by other users are not reflected in the value of the RecordCount property until the current record is positioned on a deleted record. В этот раз значение свойства RecordCount уменьшается на единицу. At that time, the setting of the RecordCount property decreases by one.

При использовании метода Requery для объекта Recordset, за которым следует метод MoveLast , устанавливается значение свойства RecordCount равным текущему общему количеству записей в наборе записей. Using the Requery method on a Recordset, followed by the MoveLast method, sets the RecordCount property to the current total number of records in the Recordset.

Объект Recordset типа моментального снимка является статическим, и значение его свойства RecordCount не изменяется при добавлении или удалении записей в базовой таблице снимка. A snapshot-type Recordset object is static and the value of its RecordCount property does not change when you add or delete records in the snapshot’s underlying table.

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Однако такая конструкция вычисляет не общее количество записей, а количество записей с каждым конкретным имеющимся ключом (Поле КНомера — ключевое в таблице, с типом Счетчик).

Может есть какие-то другие способы узнать, сколько записей в таблице?

Оцените статью