这是我到目前为止的代码,我试图找到解决方案,但我找不到我正在寻找的。我在Access中这样做。如何从我的数据库中填充文本框的值?
Dim rs As DAO.Recordset
sSQL = "SELECT Building FROM tblDepartment WHERE Department_ID =
'" & Me.cboDepartment & "'"
Set rs = CurrentDb.OpenRecordset(sSQL)
Me.txtLocation = rs.Fields(1).Value
我也尝试这样的:
Dim db As DAO.Database
Set db = CurrentDb()
sSQL = "SELECT Building FROM tblDepartment WHERE " _
& "Department_ID = '" & Me.cboDepartment.Value & "'"
Me.txtLocation.Value = db.Execute(sSQL)
第三次尝试是这样的:
Sub spGetBuilding()
Dim rs As DAO.Recordset
sSQL = "SELECT Building FROM tblDepartment WHERE Department_ID = '" & Me.cboDepartment & "'"
Set rs = CurrentDb.OpenRecordset(sSQL)
If rs.RecordCount > 0 Then
Me.txtLocation = rs.Fields(0).Value
Else
Me.txtLocation = 0
End If
Set rs = Nothing
End Sub
但它返回错误消息 “条件表达式中的数据类型不匹配”
我找出造成此错误的原因是因为某些值不包含构建值。我试图设置参数,以便WHERE还包含“AND Building IS NOT NULL”以消除空值。但同样的错误仍然出现。
Office应用程序,您使用的是哪个时,Excel?访问?以下[链接](http://stackoverflow.com/questions/38196833/multiple-arithmetic-operations-in-vba-userforms/38198479#38198479)可能会帮助您填充VBA中的texbox。 –
你有什么错误?有什么问题?和你使用什么数据库? – Sami
我更新了答案中的信息,但我使用的是Access。 –