Squeak.ru - шаблоны программирования

Синтаксическая ошибка sql в vba для фильтрации поля со списком

Мне нужно отфильтровать доступные параметры поля со списком в соответствии с IDKey текущей записи [AllocID]

После безуспешных попыток различных версий предложений WHERE непосредственно в источнике строк выпадающего списка я наткнулся на решение, предлагающее установить источник строк в событии On Current формы:

Private Sub Form_Current()
MSMgeID.RowSource = "SELECT[MSMge].[PrjID] ... FROM MSMge WHERE [PrjID] ='" & Me.AllocID & " '"
End Sub

Оба [PrjID] и [AllocID] являются числовыми полями типа Long Integer, но я получаю «Несоответствие данных в выражении критериев».

Есть ли что-то, что я делаю в своем синтаксисе SQL, что путает одно из полей с текстом?

27.02.2013

  • какое сообщение об ошибке вы получаете? 27.02.2013
  • Сообщение об ошибке, которое я получаю, - это несоответствие данных в выражении критериев. 27.02.2013

Ответы:


1

попробуй это:

MSMgeID.RowSource = "SELECT [MSMge].[PrjID] ... FROM MSMge WHERE [PrjID] =" & CStr(Me.AllocID) 

Вот объяснение:

Как сказал OP, как [MSMge].[PrjID], так и Me.AllocID являются числовыми значениями. Таким образом, вместо использования Where [PrjID] = '<some value>' (что вызовет ошибку несоответствия типов в Access) нам нужно вместо этого привести Me.AllocID в коде VB к строке с помощью функции CStr(). Утверждение выше будет переведено в Where [PrjID] = <some numeric value> (обратите внимание, что я опустил одиночные апострофы)

27.02.2013
  • Оно работает! Я понятия не имею, почему, это последнее, что я бы подумал попробовать, но это работает! Я предполагаю, что [PrjID] по какой-то причине читается как текст (например, моя ошибка кода), но в любом случае большое спасибо. 27.02.2013
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...