Первоначальный плакат, наконец, у меня возник вопрос, что я не мог найти ответ здесь.vba store recordset как целочисленная переменная
У меня есть запрос MS Access, который возвращает 1 результат (который является числом), который я хочу сохранить как целочисленную переменную (x), поэтому я могу использовать ее позже для цикла. Проблема в том, что, поскольку я использую его как набор записей, а переменная является целым числом, я получаю сообщение об ошибке «Тип несоответствия».
Прямо сейчас я просто хранить результат в ячейке и устанавливая переменную равной ячейки:
Ws.Range("A1") = Db.OpenRecordset("SELECT COUNT(Asset_Name) FROM Assets WHERE Active = True").GetRows(1)
x = Ws.Range("A1")
Ws.Range("A1").Delete
А потом я просто цикл, который работает х раз:
For i = 0 To x
в принципе, я просто хочу, чтобы иметь некоторый код, который выглядит следующим образом:
x = Db.OpenRecordset("SELECT COUNT(Asset_Name) FROM Assets WHERE Active = True").GetRows(1)
Любая помощь здесь будет огромной. Спасибо!
У меня нет ничего, чтобы проверить это, но существует ли свойство '.Value' для метода' .GetRows'? Или как насчет 'x = CInt (LBound (Db.OpenRecordset (" SELECT COUNT (Asset_Name) FROM Assets WHERE Active = True "). GetRows (1)))' –
Когда я добавляю '.value' до конца инструкции в make: 'x = Db.OpenRecordset (« SELECT COUNT (Asset_Name) FROM Assets WHERE Active = True »). GetRows (1) .Value' Я получаю сообщение об ошибке« Object Required ». –
Подождите, неправильно прочитайте ваше заявление. Ваш код не является ошибкой, но он возвращает x как ноль. Но это все еще прогресс. –