如果记录集连接到表,如何选择实际变量?
Dim db As DAO.Database
Set db = CurrentDb
Dim rs As DAO.Recordset
Set rs = Currentdb.OpenRecordset("SELECT tableA.data, tableB.data “ & _
“FROM talbeA INNER JOIN tableB ON tableA.ID = TableB.xyz”)
Debug.Print (srs!tableA.data) ' does not work
是的,数据可以是TableA或B的元素...但是如何指定?
谢谢你,莱因哈特
像“as TabA_data”这样的解决方法可以工作,但必须有一个更优雅的解决方案?
如果您确实在不同的表中有两个具有相同名称的字段,那么您有多种选择。
首先,您实际上可以在表中以不同的方式命名字段。例如,表
Address
中的 Customer
可以变为 CustomerAddress
,而 Address
中的 Supplier
可以变为 SupplierAddress
。这可能是我推荐的方法,因为它可以防止歧义/混乱。
其次,正如您所提到的,您可以在查询中为字段名称添加别名。
最后,您可以通过位置来引用记录集中的字段:
Debug.Print rs(0) ' Recordsets are 0-indexed, so this returns the first field
我不热衷于这样做,好像记录集中引入了额外的字段,这可能不再起作用。