请教,这个是什么问题?
Access数据库,本地的时候没有问题,用WEB数据源后出现以下提示,检查代码并无异常。错误出现再DataTable load 刷新的时候,数据量不多才几百条

此主题相关图片如下:capture.jpg

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.25.8
错误所在事件:
详细错误信息:
HttpUpdate错误)标准表达式中数据类型不匹配。)
[此贴子已经被作者于2020/5/26 19:08:15编辑过]
刷新代码如下,第二句出错,应该和后面的代码没关系。Load出错后,保存也会出错,同样的错误提示。打开软件第一次刷新时是没有错误提示的,第二次就会出错
DataTables("Shippingforecast").LoadFilter = "[closed] = False "
DataTables("Shippingforecast").Load()
Dim a As Date = Date.today.AddMonths(-1)
Dim b As Date = DataTables("Shippingforecast").Compute("Max(DeliveryDate)","Closed = False")
Dim c As Date = a
If DataTables("Shippingforecast").DataCols.Contains("往期_后期") = False Then
DataTables("Shippingforecast").DataCols.Add("往期_后期", Gettype(Double))
End If
a = a.Year & "-" & a.Month & "-01"
Dim Coldd As String = "|往期_后期|60"
Do
Dim nm As String =a.Year & "年_" & a.Month & "月"
If DataTables("Shippingforecast").DataCols.Contains(nm) = False Then
DataTables("Shippingforecast").DataCols.Add(nm, Gettype(Double))
End If
Coldd = Coldd &"|"& nm &"|60"
a = a.AddMonths(1)
If a > b Then
Exit Do
End If
Loop
Tables("Shippingforecast").Sort = "DeliveryDate ASC"
For Each v As Row In Tables("Shippingforecast")
Dim r As DataRow = DataTables("Shippingforecast").Find("_identify = " & v("_identify"))
For Each dc As DataCol In DataTables("Shippingforecast").DataCols
If dc.Name.Contains("_") Then
r(dc.Name) = Nothing
End If
Next
Dim qj As String = v("期间")
Dim qj1 As String =Left(qj,5) & "_" & qj.Replace(Left(qj,5) ,"")
Dim qj2 As String
If Tables(e.form.name & "_Table1").Cols.Contains(qj1) = True Then
r(qj1) = v("Amount")
qj2 = qj1
Else
r("往期_后期") = v("Amount")
qj2 = "往期_后期"
End If
Dim alrs As List(Of DataRow) = DataTables("Shippingal").Select("OrderNo = '"& v("OrderNo") &"'")
For Each alr As DataRow In alrs
Dim aqj As String =alr("期间")
If aqj.Length > 6 Then
Dim aqj1 As String =Left(aqj,5) & "_" & aqj.Replace(Left(aqj,5) ,"")
If Tables(e.form.name & "_Table1").Cols.Contains(aqj1) = True Then
r(aqj1) = alr("金额")
r(qj2) = r(qj2) - alr("金额")
Else
r(qj2) = r(qj2) - alr("金额")
r("往期_后期") = r("往期_后期") + alr("金额")
End If
End If
Next
Next
c = c.Year & "-" & c.Month & "-01"
Do
Dim nm As String =c.Year & "年_" & c.Month & "月"
Tables(e.form.name & "_Table1").Cols(nm).GrandTotal = True
c = c.AddMonths(1)
If c > b Then
Exit Do
End If
Loop
Tables(e.form.name & "_Table1").Cols("Amount").GrandTotal = True
Tables(e.form.name & "_Table1").Cols("QTY").GrandTotal = True
Tables(e.form.name & "_Table1").Cols("待出库").GrandTotal = True
Tables(e.form.name & "_Table1").Cols("往期_后期").GrandTotal = True
Tables(e.form.name & "_Table1").GrandTotal = True
Tables(e.form.name & "_Table1").Cols.Frozen = 8
Tables(e.Form.name & "_Table1").SetColVisibleWidth("OrderNo|112|ProductLine|49|OrderDate|73|DeliveryDate|70|QTY|44|Amount|75|Important|40|Status|122|Remark|215|NewDeliveryDate|76|StatusDate|85|R|31|期间|79|待出库|47" & Coldd & "|Customer|189|OrderRemark|228")
'Tables(e.form.name & "_Table1").AutoSizeCols
这样测试有没有问题?DataTables("Shippingforecast").LoadFilter = ""
DataTables("Shippingforecast").Load()
这样呢?
DataTables("Shippingforecast").LoadFilter = "[closed] = 0"
DataTables("Shippingforecast").Load()
谢谢,和这个没有关系,以上测试均不行。
怀疑Foxtable对列名是否有不能用的字词?其他数据格式影响(如日期格式,Access数据WEB源情况下,服务器日期格式和本机不一致会有影响吗?)
目前还未测试出来,如有其他建议,非常感谢
我测试了一下web数据源,没有问题。
在服务端调用下面代码是否正常?
DataTables("Shippingforecast").LoadFilter = ""
DataTables("Shippingforecast").Load()
服务端直接调用没问题,重点还在在于数据类型不匹配的提示,和数据类型有关,可能和日期类型有关,不知道怎么解决
问题找到,是日期列 长日期模式的问题,设置成字符格式就行了