我有一个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
答案 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()是将字符串转换为日期。