А) Я собираю данные из устаревших приложений; элементы данных содержат пробелы и дефисы (CBR-CR-22-2) или (CBR-CR-22-2)
B) В VBA при создании функции и передаче параметров SQL с этими элементами данных код генерирует ошибки (много!)
C) Я сузился, чтобы определить, что ВСЕ ошибки были вызваны форматом элементов данных
D) Элемент данных, вызывающий проблему, является ПЕРВИЧНЫМ КЛЮЧОМ в примерно 30 таблицах и создается устаревшими приложениями
(см. Код) Я попробовал синтаксис:
A) strDataElm
B) [strDataElm]
С) & """ & strDataElm & """
strSourceSql = "SELECT " & strSourceFld & " FROM " & strSourceTbl & " WHERE " & strSourceFld & " = " & strDataElm
в ближайшем окне это дает
SELECT NumeroCtl FROM tblLnkCtrl WHERE RISKID = CBR - CR - 22 - 2
В идеальном мире я бы хотел, чтобы strDataElm передавался как есть, т.е. CBR - CR - 22 2
или без пробелов CBR-CR-22-2
; удаление дефисов может вызвать проблемы, поскольку данные являются первичным ключом и используются повторно в других приложениях.