ALL、 DISTINCT、 DISTINCTROW、 TOP 谓语示例 (DAO)

ALL、 DISTINCT、 DISTINCTROW、 TOP 谓语示例

此示例创建查询,且该查询在 CustomerID 字段结合客户和订单表。客户表并未复制一份 CustomerID 字段,但是订单表必须如此做,因为每一客户能有许多订单。使用 DISTINCTROW 来生成公司的列表,且该公司至少有一笔订单,但是不含订单的任何详细数据。

SubSub()

   Dim dbs As Database, rst As Recordset

   ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。

   Set dbs = OpenDatabase("Northwind.mdb")

   ' 对运费超过 $100 的订单,

 

   ' 在CustomerID字段结合客户和订单表

   ' 选取有至少一笔订单的公司的一个列表

   '

   Set rst = dbs.OpenRecordset("SELECT DISTINCTROW " _

       & "CompanyName FROM Customers " _

       & "INNER JOIN Orders " _

       & "ON Customers.CustomerID = " _

       & "Orders.CustomerID " _

       & "ORDER BY CompanyName;")

 

   ' populateRecordset。

   rst.MoveLast

 

   ' 调用 EnumFields 来打印记录集的内容。

   '传递记录集对象和要求的字符宽度。

   '

   EnumFields rst, 25

   dbs.Close

End Sub