【发布时间】:2021-02-27 19:17:48
【问题描述】:
我的第一个 excel 表我有一个关键值,例如:
我想从数据库中检索值(一个键在数据库中具有多个值,例如)并将其放在第二张表上:
我不知道如何创建一个 sql 联合,因为我只检索第一个值。我的代码是:
imgur.com/j9Ay5.png
【问题讨论】:
我的第一个 excel 表我有一个关键值,例如:
我想从数据库中检索值(一个键在数据库中具有多个值,例如)并将其放在第二张表上:
我不知道如何创建一个 sql 联合,因为我只检索第一个值。我的代码是:
imgur.com/j9Ay5.png
【问题讨论】:
我建议您首先使用数据构建 SQL 查询,然后然后针对记录集运行它/一次尝试写出。它应该比一次做这些记录要快得多。
A) 将范围内的数据连接成一个字符串,用单引号括起来,值之间用逗号分隔 (https://trumpexcel.com/concatenate-excel-ranges/)
B) 将您的 SQL 查询更改为
"select isin.CD_RGA, val.D_COTATION from DB_VALEUR_RGA val, DB_RGA isin " &_
"where isin.CD_RGA IN (" & YOUR_CONCAT_STRING_HERE & ")" & _
" and isin.IS_RGA=val.IS_RGA and (val.D_COTATION in ('28/08/2020') or val.D_COTATION > '13/10/2020') and val.D_COTATION not in ('17/10/2020')"
C) 打开后,立即转储范围内的值;不要一次只做一个细胞。有关其他示例,请参阅此little tip。
With Worksheets("OUTPUT")
.Cells.ClearContents
.Cells(1, 1).CopyFromRecordset RECSET
End With
【讨论】: