命令包含无法识别的短语/关键字

时间:2011-05-27 10:03:06

标签: vb6 foxpro

我有一个vb6项目,我需要从记录集更新一个可视foxpro表。我的问题是,当我尝试更新表时,我得到错误消息:命令包含未重置的短语/关键字。我的问题是位于日期的位置字段是关注。我不知道我是否写了正确的代码的最后一部分。这是我的代码:

rs2.Open "update transac set no_ot_1_5 = " & rs1.Fields("ovt1") & ", no_ot_2_0 = " & rs1.Fields("ovt2") & ", no_ot_3_0" _
& "= " & rs1.Fields("ovt3") & "where code = '" & rs1.Fields("emp_code") & "and transac.date = & trans.txtend &", cn1, adOpenDynamic, adLockPessimistic

2 个答案:

答案 0 :(得分:1)

试试这个:

rs2.Open "update transac set no_ot_1_5 = " & rs1.Fields("ovt1") & ", no_ot_2_0 = " & rs1.Fields("ovt2") & ", no_ot_3_0" _
& "= " & rs1.Fields("ovt3") & " where code = '" & rs1.Fields("emp_code") & "' and transac.date = '" & trans.txtend &"'", cn1, adOpenDynamic, adLockPessimistic

看起来你在WHERE关键字之前缺少一个空格,而你在emp_code之后错过了一个单引号。看起来你的transac日期也有问题。

答案 1 :(得分:0)

如果G Mastros的解决方案仍未完成,则可能是由于“日期”字段的数据类型不正确。您可能需要更改为

transac.date = CTOD('& trans.txtend&“')”

好像您要发送文本字符串,但日期是DATE类型字段,您需要将其转换为VFP识别函数... CTOD()是将字符串转换为日期。