【问题标题】:MS Access Crosstab Query w/ Date Parameter Not Working Properly带有日期参数的 MS Access 交叉表查询无法正常工作
【发布时间】:2021-11-11 23:16:22
【问题描述】:

我有一个包含以下信息的 MS 访问表

DA 考勤

  • 考勤 ID(密钥)
  • 日期
  • 出勤记录(包含 6 个选项的下拉菜单)
  • 注意

我正在尝试创建一个将显示以下内容的交叉表查询:

Query Result Example

我能够在没有任何日期参数的情况下使交叉表查询按预期工作。上图是它的外观。但是,当我添加参数时,我收到以下错误:“表达式输入错误,或者太复杂而无法评估...”。我有一个表单,用户可以在其中输入要创建查询的特定日期。

Query Design 1 Query Design 2

原始数据示例

Attendance ID DA Date Attendance Record Note
1 65 2021-09-16 Present
2 37 2021-09-16 No Call No Show No text response
3 25 2021-09-16 Tardy 1155 AM arrival
4 58 2021-09-16 Present
PARAMETERS [Forms]![DA Attendance Form]![DA_Attendance_Date] DateTime;
TRANSFORM Count([DA Attendance].[Attendance ID]) AS [CountOfAttendance ID]
SELECT [DA Attendance].DA
FROM [DA Attendance]
WHERE ((([DA Attendance].Date)=[Forms]![DA Attendance Form]![DA_Attendance_Date]))
GROUP BY [DA Attendance].DA
PIVOT [DA Attendance].[Attendance Record]; 

【问题讨论】:

  • 它对我有用。编辑问题以将原始数据显示为文本表。
  • 已添加原始数据示例。在实际表格中,有多个日期,但表格看起来与所示完全相同。

标签: ms-access crosstab


【解决方案1】:

解决了这个问题。 MS Access 充当 SQL Server 数据库的前端。 “日期”字段在 SQL Server 中被声明为 Date() 类型,无论出于何种原因,该字段在 Access 中都被拉为“短文本”。在 SQL Server 中将字段类型编辑为 DateTime() 并解决了运行查询时出现的问题。

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多