【发布时间】:2019-11-22 08:40:51
【问题描述】:
我有一个小问题。我有一个创建表的 VBA 宏。有用。但是调用集数据类型“短文本”并且需要列 FB_average、Cil_FB 和 Plneni_FB 的数字。 有人请提供解决方案提示吗?
Call generuj_t_vystup("t_prod_work_time_fb.Skill,t_prod_work_time_fb.Skill_KM,t_prod_work_time_fb.Locality,t_prod_work_time_fb.Team,t_prod_work_time_fb.Spv_name,t_prod_work_time_fb.Agent_name,t_prod_work_time_fb.Agent_login,t_prod_work_time_fb.Rok,t_prod_work_time_fb.Kvartal,t_prod_work_time_fb.Měsíc,t_prod_work_time_fb.Tyden,t_prod_work_time_fb.Event_date", "t_vystup_fb_denni_agent")
Public Function generuj_t_vystup(hlavicka As String, vystupni_tabulka As String)
SQL = "Select "
SQL = SQL & hlavicka & ", "
SQL = SQL & "Nz(SUM([Feedback_summary])) AS FB_summary,"
SQL = SQL & " Nz(SUM([Feedback_count])) AS FB_count,"
SQL = SQL & " Nz(SUM([Feedback_summary])/SUM([Feedback_count])) AS FB_average,"
SQL = SQL & " Nz(SUM([Feedback_summary])/SUM([Feedback_count])) AS Cil_FB,"
SQL = SQL & " Nz(SUM([Feedback_summary])/SUM([Feedback_count])) AS Plneni_FB"
SQL = SQL & " INTO "
SQL = SQL & vystupni_tabulka
SQL = SQL & " FROM t_prod_work_time_fb "
SQL = SQL & " GROUP BY "
SQL = SQL & hlavicka
spustsql SQL
End Function
Sub spustsql(SQL As Variant)
On Error GoTo chyba
DoCmd.RunSQL SQL
Exit Sub
非常感谢。
【问题讨论】:
-
“另一种类型的短文本数据(数字)”是什么意思?短文本不是数字类型。请求没有意义。
-
对不起,调用设置数据类型“短文本”,但需要设置数据类型“数字”。
-
您可以尝试
CDbl(Nz(SUM([Feedback_summary])/SUM([Feedback_count])) AS FB_average,强制检测 Double 类型。 -
也许如果你为 Nz() 的 If Null 参数提供了一个 0 值,它会识别一个数字并且不需要转换函数。为什么相同的计算重复了 3 次?