MS Access Query - заменить String1 на String2, где значение String2 основано на значении String1 - PullRequest
0 голосов
/ 09 ноября 2018

В нашей базе данных MS Access есть десятка таблиц. Две таблицы, на которые я смотрю: e_pages и e_panel_list.

e_pages имеет текстовое поле с именем page_xml, которое может содержать любое количество символов, включая строки URL, например "/ site / documents /? L = 32 & p = 224"

e_pages имеет другое поле с именем pageID и другое page_name со значениями, такими как pageID=224 и page_name="Weekly Schedule", где 224 - это pageID, назначенный записи с page_name из "Weekly Schedule".

e_panel_list имеет поля panel_listID и list_name, где, например, одна запись имеет panel_listID=32 и list_name="October Schedule".

URL в e_pages.page_xml создается с использованием значений для panel_listID и pageID. Мне нужно заменить эти идентификационные номера на значения из полей имен. Итак, "/site/documents/?l=32&p=224" следует заменить на "/site/documents/october-schecdule/weekly-schedule".

Я могу сделать это с помощью функции replace() в Access, но только если я вручную введу значения для каждого случая (т. Е. /?l=32& становится /october-schedule/ и p=224 становится weekly-schedule), но есть около 40000 значений pageID.

Есть ли способ использовать имена полей (pageID, page_name, panel_listID, list_name) и ?l=* и &p=* (где * может равняться int любому количеству цифр) правильно заменить значения в любом месте и каждый раз, когда это появляется в поле page_xml?

Я использую Access Query Design. (Я могу сделать это в Excel, но содержимое page_xml слишком велико для ячейки Excel.) Спасибо!

...