Есть ли способ преобразовать поле memo в текстовое поле в Access 2010 в выражении?

у меня есть две таблицы (каждая в БД доступа) - называемые LinkedTable1 и LinkedTable2, связанные с моей рабочей базой данных Access. Я получил их на своем компьютере после загрузки с сайта SharePoint (действия -> Открыть с доступом).

в каждом из LinkedTable1 и LinkedTable2 есть поле Memo, содержащее идентификатор GUID. Этот GUID ссылки на две таблицы.

Я хотел бы использовать эти GUID в запросе, но когда я пытаюсь присоединиться к ним в дизайне запроса, мне говорят, что я не могу вступить на поля Memo.

Я попытался создать выражение для преобразования поля в текстовое поле:

GUID_Text: CStr( Left$( [LinkedTable1]![GUID_Memo], 255 ) )

Я также попытался преобразовать поле в GUID:

GUID: GUIDFromString( [LinkedTable1]![GUID_Memo] )

Я делаю это на каждой из связанных таблиц. Оба раза, когда я пытался выполнить запрос, я получил ошибку несоответствия типа.

любые пути вокруг этого?

30
задан Der Hochstapler
30.01.2023 16:23 Количество просмотров материала 2446
Распечатать страницу

1 ответ

Я смог выполнить соединение, создав сохраненный запрос для каждой таблицы, чтобы преобразовать поле Memo в текст, а затем присоединиться к запросы. Для тестовых данных в [Table1]

ID  GUID_Memo                               Description
--  --------------------------------------  -----------
1   {453EE643-BFE5-4D8B-B9F1-2B66C71E609A}  Table1: foo
2   {80BC2B94-7AC2-4956-959B-E8B624F06502}  Table1: bar

и [Table2]

ID  GUID_Memo                               Description
--  --------------------------------------  -----------
6   {453EE643-BFE5-4D8B-B9F1-2B66C71E609A}  Table2: foo
7   {80BC2B94-7AC2-4956-959B-E8B624F06502}  Table2: bar

где [GUID_Memo] верны Memo поля, сохраненные запросы [Query1]

SELECT Left([GUID_Memo],100) AS GUID_Text, Table1.Description
FROM Table1;

и [Query2]

SELECT Left([GUID_Memo],100) AS GUID_Text, Table2.Description
FROM Table2;

вместе

SELECT 
    Query1.GUID_Text, 
    Query1.Description AS Description1, 
    Query2.Description AS Description2
FROM 
    Query1 
    INNER JOIN 
    Query2 
        ON Query1.GUID_Text = Query2.GUID_Text;

результаты

GUID_Text                               Description1  Description2
--------------------------------------  ------------  ------------
{453EE643-BFE5-4D8B-B9F1-2B66C71E609A}  Table1: foo   Table2: foo
{80BC2B94-7AC2-4956-959B-E8B624F06502}  Table1: bar   Table2: bar
1
отвечен Gord Thompson 2023-02-01 00:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх