小编Vim*_*mal的帖子

即使存在从VBA SQL返回的记录,EOF值也始终为true

我正在使用VBA查询访问表并在excel中编写查询结果.

EOF始终为真,但BOF为假 - 即使记录数为1或14或100.可能会出错?我可以看到记录数超过零.get string值包含数据.因此,除了标题之外,目标表中没有写入数据.标题很好.

尝试的事项列表但结果仍然相同:

  1. 添加了Move last和Move first命令
  2. 尝试了光标位置,光标类型,锁定类型的所有可能组合
  3. 尝试执行命令
  4. 试过不同的MS访问表
  5. 尝试早期和晚期绑定技术

下面是我的查询和下面的链接是我的记录集如何看待SQL打开语句.

    Const MyConn = "Access DB location"
    Dim con As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set con = New ADODB.Connection
    With con
      .Provider = "Microsoft.ACE.OLEDB.12.0"
      .Open MyConn
    End With

    QuerySql = "SELECT * FROM Store_Location"

    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open QuerySql, con, adOpenStatic, adLockReadOnly, adCmdUnknown
    rs.MoveLast
    rs.MoveFirst


    i = 0  
    For i = 0 To rs.Fields.Count - 1
        Sheets("Search_Temp").Cells(1, i + 1) = …
Run Code Online (Sandbox Code Playgroud)

sql vba excel-vba eof access

4
推荐指数
1
解决办法
702
查看次数

在删除工作表时将VBA执行传递给模块

我面临一个奇怪的问题.对不起,如果它太愚蠢或我想念的东西.

我有userform终止子.在调试时,我看到控件被传递到工作簿中名为"Numtowords"的另一个模块,当我尝试在userform终止时删除临时工作表.我无处调用该模块.所以不确定为什么这样的行为.下面是当控件位于工作表("Agent_info_temp")时按F8时显示的屏幕.删除控件到达模块numtowords.

请帮助解释为什么会这样.我搜索了很多但可能是我的措词不正确.如果无法解决,我可以以某种方式停止模块调用?? 步骤1:

那就发生了

第2步:

excel vba excel-vba

1
推荐指数
1
解决办法
30
查看次数

标签 统计

excel-vba ×2

vba ×2

access ×1

eof ×1

excel ×1

sql ×1