sql - SQL 记录集关闭内部循环
问题描述
我有一个关于在我的循环中打开和关闭记录集的问题。我现在拥有的代码运行良好,除了我知道它可以以不同的、更快或更好的方式编码。我对 SQL 没有那么先进,因此我的问题。
由于每次代码有点慢时我都必须关闭我的记录集。
Do Until Cells(c, 2).Value = Empty
TeamMember = Cells(c, 2).Value
r = 4
For i = 4 To 34
Days = Cells(r, i).Value
strSQL = "SELECT [" & TeamMember & "] From [Planning$] Where [Days]=" & "#" & Format(Days, "mm/dd/yyyy") & "#" & ""
rs.Open strSQL, DBConnection, adOpenDynamic, adLockOptimistic
Cells(c, i).Offset(0, 0).CopyFromRecordset rs
rs.Close
Next i
c = c + 1
Loop
解决方案
看看使用这样的东西
"Where [Days]>=#" & _
CDate(Application.WorksheetFunction.Min(Range("a4:a34"))) & _
"# AND [Days]<=#" & _
CDate(Application.WorksheetFunction.Max(Range("a4:a34"))) & "#"
然后使用记录集.find
方法查找您的日期,然后使用.moveFirst
每个循环。
推荐阅读
- java - Spring Integration - SQS 消息的异步服务激活器
- c++ - C++:用整数移动语义
- devextreme - 如何将复选框添加到 dxDataGrid 分组行
- python - 如何为 AOT 编译的 numba 扩展指定目标目录?
- android - 是否可以使用手机的 IMU 来改善用户的步行路径?
- javascript - 如何以角度合并多个数组
- javascript - 如何使用javascript播放具有相同ID的两个音频文件
- wordpress - 迁移到其他域后图标丢失
- c# - 是否可以在 Windows 10 上调整 BLE 连接间隔?
- nginx - 如何在 kubernetes 中为 nginxinc/nginx-ingress 配置添加第三方模块?