如何在Access 2010 SQL中编写SQL Server 2008等效查询

时间:2015-05-21 10:25:40

标签: access-vba

我希望获得与以下link相同的输出,但我希望它可以在Access SQL中完成,Access SQL将从Access VBA调用。我不能直接使用它,因为该方法使用仅在SQL Server中而不在Access SQL中可用的用户定义函数和外部应用。 如何写这个,因为我不知道如何在Access SQL中编写它。

1 个答案:

答案 0 :(得分:0)

Access SQL中的函数:您可以在VBA模块中定义函数。例如:

Public Function MyFirstQueryFunction(vFieldValue) As Variant 
    ' do something useful here 
    MyFirstQueryFunction = vFieldValue 
End Function

在查询中使用:

SELECT MyFirstQueryFunction([SomeField]) AS [MyCalcValue] FROM [SomeTable];

访问中的外部联接:这需要临时表。一般说明:

  1. 创建临时表以处理来自行集A&的外部联接。 B.包括A& A共享的关键字段。 B在你的桌子上。 A或B唯一的字段必须可以为空。

  2. 将选定的行从A插入临时

  3. 使用B中与A(INNER JOIN)中的键匹配的所有行更新temp

  4. 从B插入与A(LEFT JOIN)中的任何键都不匹配的行

  5. 这将产生一组:所有A& B匹配行,所有A没有B,所有B没有A.