不必创建表,这只是一个别名的问题,创建查询或者返回sql语句字符串即可。
1、可以一次性创建查询:
function 创建工资查询()
Dim Qdef As QueryDef
Dim strsql As String
Dim rs As New ADODB.Recordset
Dim i As Long
Set Qdef = CurrentDb.CreateQueryDef('工资查询')
rs.Open "B", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
strsql=""
for i=1 to rs.RecordCount
strsql=strsql & rs!ZDMC.value & " as " & rs!HZMC.value & ","
rs.MoveNext
next
strsql= left(strsql,len(strsql)-1)
strsql="select " & strsql & " from A"
Qdef.SQL
Qdef.Close
Set Qdef = Nothing
end function
2、如果只需要返回一个sql语句的字符串,作为窗体或者报表的数据源,则:
function 工资查询字符串() as string
Dim strsql As String
Dim rs As New ADODB.Recordset
Dim i As Long
rs.Open "B", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
strsql=""
for i=1 to rs.RecordCount
strsql=strsql & rs!ZDMC.value & " as " & rs!HZMC.value & ","
rs.MoveNext
next
strsql= left(strsql,len(strsql)-1)
strsql="select " & strsql & " from A"
工资查询字符串=strsql
end function