首页 > 解决方案 > Access 为我带来所选列中的随机记录

问题描述

我想访问给我所选表和列中的第一个值。但是从选定的表和列中获得随机值。

问题

有办法访问像这个例子一样给我:

我的表是“tblExample”,有 2 列,每列的标题是 [Column1],每个标题内的 [Column2] 包含这些值

                +---------+----------+
                | Column1 | Column2  |
                +---------+----------+
                | 5       | mark     |
                | 3       | stewie   |
                | 2       | stack    |
                | 16      | overflow |
                +---------+----------+

我想从表“tblExample”中读取 [Column1] 循环中的第一个值并按顺序带给我。

示例值 =5/ after 3 / 2 / 16 ...

但是我的代码显示这个值是随机的,比如 16/5/3/2

这是我的代码

    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Dim VarA As String, varFR, varLR

    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblExample")        

    If rs.EOF Then
          FindRecordCount = 0
       Else
          rs.MoveLast
          FindRecordCount = rs.RecordCount
    End If        

    varLR = FindRecordCount
    Dim i As Long

    For i = 0 To rs.Fields.Count - 1
    rs.MoveFirst
        varFR = 1
        Do While varFR < varLR
            If IsNull(rs.Fields(i).Value) = True Then
                GoTo pula1
            End If
                VarA = rs.Fields(i).Value
                Debug.Print VarA
pula1:
            rs.MoveNext
        varFR = varFR + 1
        Loop
    Next

标签: ms-accessvba

解决方案


设置 Recordset 后,您可以像这样循环槽:

rs.MoveFirst
Do Until rs.EOF
   ---  Stuff happens
  rs.MoveNext
Loop

所以它像在表中一样遍历记录。如果您想要另一个序列,您可以在之前对记录集进行排序:

Set rs = db.OpenRecordset("SELECT * FROM tblExample ORDER BY Column1 ASC")

推荐阅读