Existe uma maneira de converter um campo de memorando em um campo de texto no Access 2010 em uma expressão?

2

Eu tenho duas tabelas (cada uma em um banco de dados do Access) - chamadas LinkedTable1 e LinkedTable2 vinculadas ao meu banco de dados do Access. Eu os peguei no meu computador depois de baixá-los de um site do SharePoint (Ações - > Abrir com o Access).

Em cada um dos LinkedTable1 e LinkedTable2, há um campo Memorando que contém um GUID. Este GUID liga as duas tabelas.

Gostaria de usar esses GUIDs em uma consulta, mas quando tento JOINÁ-los no Query Design, sou informado de que não posso ingressar nos campos Memorando.

Eu tentei criar uma expressão para converter o campo em um campo de texto:

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

Eu também tentei converter o campo em um GUID:

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

Eu fiz isso em cada uma das tabelas vinculadas. Ambas as vezes, quando tentei executar a consulta, recebi um erro de incompatibilidade de tipo.

Alguma maneira de contornar isso?

    
por JW. 01.04.2013 / 20:54

1 resposta

1

Consegui executar o JOIN criando uma consulta salva para cada tabela para converter o campo Memorando para Texto e, em seguida, JOIN as consultas . Para dados de teste em [Tabela 1]

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

e [Tabela 2]

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

em que [GUID_Memo] são campos Memo reais, as consultas salvas [Consulta1]

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

e [Query2]

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

quando unidos

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

resulta em

GUID_Text                               Description1  Description2
--------------------------------------  ------------  ------------
{453EE643-BFE5-4D8B-B9F1-2B66C71E609A}  Table1: foo   Table2: foo
{80BC2B94-7AC2-4956-959B-E8B624F06502}  Table1: bar   Table2: bar
    
por 13.02.2014 / 09:04