Несоответствие типа данных в операторе SQL

Я пытаюсь вывести данные столбца из таблицы в таймер в VBA. В моей таблице у меня есть IntervalSeconds как число. Я пытаюсь запросить количество секунд, чтобы определить, как долго нужно устанавливать счетчик.

Dim timeRemaining As Long (Form Variable) - used in multiple functionss

Private Sub Form_Open(Cancel As Integer)
Dim strSQL As String
    
    Me.Visible = False
    
    strSQL = "SELECT AccessControl.IntervalSeconds FROM AccessControl WHERE AccessControl.DatabaseName = '" & CurrentDb.Name & "'"
    
    timeRemaining = CLng(strSQL)
    DoCmd.OpenForm ("frmForceLogout")

End Sub

Каждый раз, когда я запускаю форму, я получаю ошибку несоответствия типов, когда нажимаю строку timeRemaining = cLng(strSQL). Я что-то пропустил?

Вы пытаетесь преобразовать строку SELECT AcessControl.... в Long?

BigBen 08.02.2023 19:00

Я не понимаю причин отрицательных голосов по этому вопросу. Оставив это в стороне, вы понимаете, почему вы получаете эту ошибку с CLng(strSQL)? Вы получите ту же ошибку, если CLng("Hello World") --- подадите текстовую строку, которую нельзя привести к длинному целому числу. CLng("27") не вызовет ошибку.

HansUp 08.02.2023 20:11
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
2
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать DLookup для таких простых задач:

Private Sub Form_Open(Cancel As Integer)

    Dim Criteria As String
    
    Me.Visible = False

    Criteria = "DatabaseName = '" & CurrentDb.Name & "'"
    timeRemaining = DLookup("IntervalSeconds", "AccessControl", Criteria)
    
    DoCmd.OpenForm ("frmForceLogout")

End Sub

Другие вопросы по теме

Найти индекс следующей пустой строки внутри цикла (VB Excel)
Как преобразовать отсканированный файл PDF с помощью библиотек Foxit
Есть ли известная проблема с использованием .UsedRange для сброса диапазона в Excel, когда родителем является объект Worksheet?
Макрос Excel для копирования определенных столбцов (с заголовками) со всех листов в новую книгу
VBA Excel удаляет повторяющиеся значения на основе значений в другом столбце
Сохранить как файл и переместить его значок на рабочем столе в то же старое положение исходного файла
Получить адрес электронной почты из Outlook в Excel
Как мне расширить/заполнить идентификатор моих продуктов в моем листе Excel?
Как сгенерировать массив истинных/ложных значений путем сравнения диапазона (или массива) с одним значением для использования в фильтре
Создайте гиперссылку на лист с тем же именем, что и значение в выбранной ячейке в Excel через VBA