Команда содержит неопознанную фразу / ключевые слова - PullRequest
0 голосов
/ 27 мая 2011

У меня есть проект 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 ]

1 голос
/ 27 мая 2011

Попробуйте это:

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. Похоже, у вас была проблема с датой транзакции.

0 голосов
/ 27 мая 2011

Если решение от G Mastros все еще не завершено, это может быть связано с неправильным типом данных поля «Дата».вам может потребоваться изменить значение на

transac.date = CTOD ('"& trans.txtend &"') "

, как если бы вы отправляли текстовую строку, но датаполе типа DATE, вам нужно преобразовать его в функцию, распознаваемую VFP ... CTOD () - это Преобразование символьной строки в дату.

...