vba - VBA计数表B中表A记录A中字段X的出现次数并插入表A记录A字段Y
问题描述
我有两张桌子。
例如,表 A 是订单列表 表 B 是列表或颜色选项(最多约 1000 个选项)
这两个表都是同一表单上的临时表,并在调整日期范围或选择不同的用户时重新创建。
想在 Table-B 的远端添加一个 Field(aka, column) 来计算 Table-A 中 Table-b Field-A 的实例(我们称之为颜色)。
这必须发生多达 1000 次左右,所以我不确定从 Table-B 构建的一组颜色选项是否合适或计算列?
'最初的想法...
Dim db As DAO.Database
Dim TD As DAO.TableDef
Dim fld As DAO.Field
Dim i As Integer
Set db = CurrentDb()
Set TD = db.TableDefs("tblColor")
Set fld = TD.CreateField("NbrOrders", dbInteger)
fld.Expression = ColorCountCalc([Color])
TD.Fields.Append fld
这不起作用,因为在不同的表 A 中计算表 B(tblColor)中的项目实例比我想的要复杂。
基本上,不确定这是最好的方法,或者如果可能循环通过表 B 并且只做一个计数和插入结果是最好的,虽然害怕会让一切陷入困境......
有没有一种简单的方法可以从 tblB 完成对 tblA 的计数并插入到 tblB 中?
解决方案
Table-B 是一个临时表,使用以下 UserName= Left(Me.cboUser, Len(Me.cboUser) - 6) sql = "INSERT INTO tblTempTableB SELECT * FROM SomeTable WHERE UserFieldName = '" & UserName & "'" CurrentDb .执行sql
表 A 是使用表 B 的结果构建的临时表。
重建表 B 以添加计数列 '创建新的 tblTempTableB 表NEW DoCmd.SetWarnings False DoCmd.OpenQuery "qryMaketblB" DoCmd.SetWarnings True Forms!frmForm.Refresh
很荒谬但有效。
推荐阅读
- android - Pixel 2 XL 无法连接到 PC 进行 Android Studio 调试
- c# - 如何将文件从 MemoryStream 上传到 FTP 服务器
- oracle - 当我尝试将值插入表时,触发器不起作用
- node.js - express.js 检查部分范围下载是否完成
- r - 如何将数据从宽格式转换为长格式但日期正确
- go - golang安装cover包时出现问题
- unity3d - Unity - 仅对一个场景启用 VR 支持
- jenkins - 如何在 Jenkins 管道中并行运行 for 循环的每次迭代?
- python - 如何在 Python 中从 PDF 中提取表格?
- java - JAVA ObjectNode 获取为空