要学会变通,给你方法可以,但不会一包到底!
另:1.[有效期]应为日期时间型;
2.Fox是数据库,库中不应随便增加空行!
Dim tb1 As Table = Tables("窗口1_Table1")
Dim sql As String
sql ="Select a.序号,a.名称,a.编号,a.类别,b.有效编号,b.有效期 From {表1} a INNER JOIN (Select 编号,"
sql+ ="Max(iif(有效期 > date() , 有效编号, Null)) As 有效编号,Max(iif(有效期 > date() , 有效期, Null)) "
sql+=" As 有效期 From {表2} where 编号 is not null Group By 编号) b on a.编号 = b.编号"
tb1.Fill(sql,"",True)