首页 > 解决方案 > 如何通过确定日期范围来显示信息

问题描述

我想要输入日期以显示仅数据范围这是我的代码:

Dim sqls As String

Dim Sta As Date

Dim En As Date

Sta = InputBox("Please enter the start date, in the YYYY-MM-DD format")

En = InputBox("Please enter the End date, in the YYYY-MM-DD format")

'SQL '

sqls = "SELECT TABLE A.ID,TABLE A.Name,Table A.DatePayment,TABLE B.Des,TABLE D.Comcode,TABLE D.Comdes,TABLE C.Type,TABLE C.TypeDes 

FROM TABLE A INNER JOIN TABLE B ON TABLE A.ID = TABLE B.ID

sqls = sqls & " WHERE Table A.DatePayment BETWEEN" & Sta & " AND " & En

Set rs = conn.Execute(sqls)

我收到此错误:

错误:在“BETWEEN”附近的预期条件的上下文中指定的非布尔类型表达式

标签: sqlexcelvba

解决方案


首先,如果“TABLE A”和“TABLE B”是实际的表名(或实际名称包含空格),则必须将名称括在 [] 对中。其次,您必须将日期值括在一对单引号中。第三,您在 SELECT 部分而不是在 FROM 部分中指定了一些表 C 和 D。所有这些都会导致 SQL 语法错误,需要修复。


推荐阅读