Access VBA中如何使用 SQL 语句。

请高手帮看这段代码有什么问题,在access vba中运行不了:Private Sub Command1_Click()Dim sql As ADODB.Recordsetsql = SELECT DGZY.usename FROM DGZY WHERE (((DGZY.usename) Like "张三")); End Sub

提问里是一段打开ADO记录集对象的代码,并不完整且含有错误。下面提供一个完整一点的代码供参考:

Private Sub Command111_Click()
    Dim sql As String
    '声明ADO记录集对象
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset '实例化记录集对象
    '拼写SQL语句并赋值到变量
    sql = "SELECT DGZY.usename FROM DGZY WHERE (((DGZY.usename) Like '张三'));"
    '打开记录集
    rs.Open sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    '利用记录集对象进行所需的有关操作,代码略
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-27

    创建查询

    右键-sql视图

    写入sql语句

    保存(命名)

    参考:Office中国论坛

本回答被网友采纳
第2个回答  2017-06-25
access vba中使用sql的方法举例:
Private Sub Command12_Click()
Dim sqlStr As String
Dim condStr As String
Dim db As Database
Dim rs As Recordset
Dim f As Field

Set db = CurrentDb

sqlStr = "SELECT 品名.名称, 品名.性质(分类), 品名.类别, 品名.用法,品名.有效病菌 FROM [品名]"
If Me.名称 <> "" Then
condStr = " 品名.名称 = '" & Me.名称 & "'"
ElseIf Me.性质 <> "" Then
condStr = " 品名.性质(分类) = '" & Me.性质 & "'"
ElseIf Me.用法 <> "" Then
condStr = " 品名.用法 = '" & Me.用法 & "'"
ElseIf Me.类别 <> "" Then
condStr = " 品名.类别 = '" & Me.类别 & "'"
ElseIf Me.有效病菌 <> "" Then
condStr = " 品名.有效病菌 = '" & Me.有效病菌 & "'"
End If

If condStr <> "" Then
sqlStr = sqlStr & " where " & condStr
End If

Set rs = db.OpenRecordset(sqlStr, dbOpenDynaset)

Me.查询数据.Form.RecordSource = sqlStr
Me.查询数据.Requery

End Sub本回答被网友采纳
第3个回答  2013-08-17
Private Sub Command1_Click()
Dim sql as string
Dim rst As DAO.Recordset
sql = "SELECT DGZY.usename FROM DGZY WHERE (((DGZY.usename) Like " & '张三' & "))"
Set rst = CurrentDb.OpenRecordset
'然后你就可以处理rst了,rst就是返回的记录集
End Sub本回答被网友采纳
相似回答