Я пытаюсь указать условие фильтра в наборе записей ADO, где одно из имен полей содержит как левое, так и правое квадратное скобки как часть имени. Полученная строка условия присваивается свойству Recordset Filter, чтобы подмножество данных, возвращаемых из набора записей.Как скопировать квадратные скобки в имени поля для свойства фильтра ADO Recordset
Если имя поля «Имя», то простое закрытие имени поля в квадратных скобках отлично работает. Например:
recSet.Filter = "[First Name] = 'Tony'";
Однако для имени поля, такие как «Высота [см]» Я не был в состоянии определить, как процитировать квадратные скобки в имени поля. После поиска в Интернете, что я пробовал:
recSet.Filter = "[Height [[]cm[]]] > 156";
recSet.Filter = "[Height [cm[]]] > 156";
recSet.Filter = "[Height [cm]]] > 156";
Но ни одна из этих работ не работает.
Любые предложения по правильному обращению с такими именами?
Спасибо, Дэвид.
BTW, я не контролирую имена в таблицах данных, к которым обращаются.
Насколько я помню, вам нужно только избежать первой квадратной скобки: '[Height [[] cm]]' Лучше всего переименовать такие столбцы/поля, прежде чем они заберут всех орехов. – Fionnuala
Спасибо за предложение. Я только что попробовал процитировать первую квадратную скобку, но она тоже терпит неудачу. Я согласен с переименованием названий полей, но когда подобные поставщики служб OLE DB Microsoft Analysis Services возвращают имена полей, такие как '[$ Customer]. [Почтовый код]' У меня мало альтернативы. – HexTheKiwi
Дорогая мне. Надеюсь, вы получите ответ. – Fionnuala