【问题标题】:VBA (access) set data type when creating a table创建表时的VBA(访问)设置数据类型
【发布时间】: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 次?

标签: vba ms-access


【解决方案1】:

设置一个数字值(0)来代替Null

SQL = SQL & " Nz(SUM([Feedback_summary]), 0) AS FB_summary,"
SQL = SQL & " Nz(SUM([Feedback_count]), 0) AS FB_count,"
SQL = SQL & " Nz(SUM([Feedback_summary])/SUM([Feedback_count]), 0) AS FB_average,"
SQL = SQL & " Nz(SUM([Feedback_summary])/SUM([Feedback_count]), 0) AS Cil_FB,"
SQL = SQL & " Nz(SUM([Feedback_summary])/SUM([Feedback_count]), 0) AS Plneni_FB"

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    相关资源
    最近更新 更多