Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Подсчёт строк в БД


Автор: DimkraS 19.5.2007, 09:07
Нужно подсчитать количество строк в определённой таблице. Пробовал с помощью count, неполучилось, ругался на count. Решил создать отдельный столбец заполненный единицами, и сложить с помощью Sum все строки этого столбца и таким образом получить количество строк.
Код

    Dim db As ADODB.Connection
    Set db = New ADODB.Connection
    Dim NewDyn As ADODB.Recordset
    Set NewDyn = New ADODB.Recordset
    
    db.CursorLocation = adUseClient
    db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=bd.mdb;"
    SQL = "Select Sum(st) From " + imy
    NewDyn.Open SQL, db
    kolvop = NewDyn!st
    NewDyn.Close

Выдаёт ошибку: "Не удаётся найти объект в семействе, соответствующий имени или порядковому номеру"
Какие ещё есть способы подсчитать количество строк?

Автор: Данкинг 19.5.2007, 11:38
А всякие там recordcount почему не подходят?

Автор: DimkraS 19.5.2007, 12:59
Вот снова с count'om начал пробовать. Убираю из запроса count, выводит значение первой строки, с Count'om ругается на вот эту строку 
Код

kolvop = NewDyn!st

И ошибка: "Не удаётся найти объект в семействе, соответствующий имени или порядковому номеру"

Автор: Данкинг 19.5.2007, 13:35
У Recordset должно быть свойство "recordcount", я просто не знаю, как это именно на VB выглядит.

Автор: DimkraS 19.5.2007, 14:04
Ну спасибо за подсказку, буду пробовать

Автор: Akina 20.5.2007, 22:12
Код

SQL = "Select Count(*) As st From " + imy
NewDyn.Open SQL, db
kolvop = NewDyn!st


Автор: DimkraS 21.5.2007, 08:01
Akina, Спасибо, работает.
Надо будет повторить SQL  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)