【问题标题】:VBA 'Datatype Mismatch in query expression' when querying SharePoint List查询 SharePoint 列表时 VBA“查询表达式中的数据类型不匹配”
【发布时间】:2019-08-22 14:56:10
【问题描述】:

我能够使用 VBA 成功查询我的共享点列表。但是,添加日期条件时出现数据类型不匹配错误。 我正在尝试查询大于或等于当前年份的所有日期。

sharepoint 列表有一个日期列,格式为“短日期”,VBA 代码如下。

感谢有人帮助我使用正确的语法。

我尝试了以下不起作用的查询:

'r = DateSerial(Year(Date), 1, 1)
sSQL = "SELECT [fullname] FROM [listname] WHERE [Holiday Date] >= '" & Format(DateValue(r), "m/d/yyy") & "'"

sSQL = "SELECT [fullname] FROM [listname] WHERE [Holiday Date] >= '" & DateValue("1/1/2019")") & "'"

sSQL = "SELECT [fullname] FROM [listname] WHERE [Holiday Date] >= '" & DateSerial(Year(Date), 1, 1) & "'"

【问题讨论】:

  • 试试这个... sSQL = "SELECT [fullname] FROM [listname] WHERE [Holiday Date]>= '1/1/2019'"
  • @Kuba 不!那也没有用:(
  • 您可以简单地选择一条记录,然后在此处粘贴您的日期时间格式吗?
  • 当我查询一条记录时,我的单元格中返回的日期格式为“m/d/yyyy”

标签: sql excel vba sharepoint-2010


【解决方案1】:

这应该工作:)

sSQL = "SELECT [fullname] FROM [listname] WHERE [Holiday Date] >="&"1/1/"& Year(Now);

【讨论】:

  • 我在“转换”上得到一个未定义的函数,哈哈。非常感谢您花费时间和精力来帮助我
  • 好吧,你给我指出了正确的方向,我设法让它与这个声明一起工作:
  • 其中 [节假日] >= CDate('1/1/2019"
  • 然而,重点也是为了确保这是动态的,所以我希望获得当年的开始日期。我尝试了工作 sql 并返回到原始错误。有什么想法吗?
  • >= CDate('DateSerial(Year(Date), 1, 1)')"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多