如何将SQL查询结果保存到VBA中的变量中?
我想执行一个select语句,并将其结果(只有一条记录有一个值)放入一个变量中 这是access中的VBA代码。如何将SQL查询结果保存到VBA中的变量中?,sql,vba,ms-access,Sql,Vba,Ms Access,我想执行一个select语句,并将其结果(只有一条记录有一个值)放入一个变量中 这是access中的VBA代码。 Private Sub Child_Click() Dim Childnummer As Integer Dim childnaam As String Childnummer = Me.Keuzelijst21.Value DoCmd.Close DoCmd.OpenForm "submenurubrieken", acNormal, , " rubr
Private Sub Child_Click()
Dim Childnummer As Integer
Dim childnaam As String
Childnummer = Me.Keuzelijst21.Value
DoCmd.Close
DoCmd.OpenForm "submenurubrieken", acNormal, , " rubrieknummer = " & Childnummer & ""
childnaam = rubrieknaamSQL(Childnummer)
Forms!submenurubrieken.Tv_rubrieknaam.Value = childnaam
End Sub
Public Function rubrieknaamSQL(Child As Integer)
Dim rst As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT rubrieknaam FROM dbo_tbl_rubriek where rubrieknummer = " & Child & ""
Set rst = CurrentDb.OpenRecordset(strSQL)
End Function
只需让函数从记录集中返回值:
公共函数rubrieknaamSQL(子函数为整数)
将rst设置为DAO.Recordset
作为字符串的Dim strSQL
strSQL=“从dbo\u tbl\u rubriek中选择rubrieknaam,其中rubrieknumer=“&Child&”
Set rst=CurrentDb.OpenRecordset(strSQL)
“新代码:
rubrieknaamSQL=rst!红霉素
rst.关闭
设置rst=无
端函数
通过使用“DLookup”函数,您几乎可以在一行中完成此操作
其中Child是您要查找的记录的ID。为什么不能用myVar=rst存储记录的值!nameOfValueField?是我第一次在vba中进行这样的查询。无论如何谢谢你!这是什么意思!在rst!rubrieknaam do?@Jorge-参见相关问题。
rubrieknaam = Nz(DLookup("rubrieknaam ", "dbo_tbl_rubriek ", rubrieknummer & " =[Child]"), 0)