admin

VB问题中的新手SQL-MSAccess 2003

sql

大家好,有人可以帮我一个简单的问题。我可以通过单击按钮在VB的子目录中获得此SQL语句,这是我的新手。

这是我输入的内容:

Private Sub Command0_Click()
  Dim rs As Recordset
  Dim sql As String
  Dim db As Database

  Set db = CurrentDb

  sql = "SELECT * FROM Transactions"

  Set rs = db.OpenRecordset(sql)

  Do Until rs.EOF
    rs.MoveNext

  Loop
  If Not rs.EOF Then

    MsgBox "test"
  End If

End Sub

好的,那我该如何填充呢?从本质上讲,我只是从此开始,所以我想知道如何获取这个简单的代码,并像查询一样运行它,以便打开结果记录集。

谢谢!


阅读 247

收藏
2021-07-01

共1个答案

admin

其他一些意见和建议:

1)始终指出您使用的记录集类型。在这里,它似乎是一个DAO记录集,因此请使用完整的声明,例如:

Dim rs as DAO.recordset

在另一台计算机上运行,​​并且取决于ADODB和DAO库的声明顺序,完全相同的代码可能会生成错误。

2)为避免在没有可用记录的情况下出现任何令人不安的错误消息,您可以添加一个额外的测试,例如

if rs.recordcount = 0 then
Else
    rs.moveFirst
    ....

3)要使用debug.print浏览完整的记录集,您可以通过这种方式进行。只需在声明中添加一个’m_debugLine’作为字符串,一个’fld’作为DAO.Field。

rs.MoveFirst
do while not rs.eof
    m_debugLine = ""
    for each fld in rs.fields
        m_debugLine = m_debugLine + vbTab + fld.value
    next fld
    debug.print m_debugLine
    rs.movenext
loop

4)您甚至可以在打印数据之前添加一条debug.print行以打印出字段名称。我想你会找到这个的

2021-07-01