Не работает sql-запрос в VB6

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
bashobn
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 25.05.2008 (Вс) 10:37

Не работает sql-запрос в VB6

Сообщение bashobn » 17.01.2009 (Сб) 17:50

Здравствуйте, коллеги! Вопросик к вам, если можно:

Есть код:

Код: Выделить всё
Set conn = New ADODB.Connection
'conn.ConnectionString = "DRIVER={Microsoft dBase Driver (*.dbf)};" & "DBQ=" & s & ";" & "DefaultDir=" & s & "\"
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & s & ";Extended Properties=dBASE IV;User ID=Admin;Password=;"
conn.Open
conn.Execute "update [" & s2 & "] as v inner join [" & ss2 & "] as f on [v].[NUMBER] = [f].[NUMBER] SET [v].[DELETED] = '1', [v].[DATEDEL] = [f].[DATEDEL] where [v].[NUMBER] in " & _
                 "(select [t].[NUMBER] from [" & ss2 & "] as t inner join [" & s2 & _
                   "] as tt on [t].[NUMBER] = [tt].[NUMBER])"
conn.Execute "Delete from [" & s2 & "] where [" & s2 & "].[DELETED]=1"
conn.Close: Set conn = Nothing


теперь проблема: не работает sql-инструкция.
Она запускается, как бы проходит, но если потом проверить значения, то их нет.

Но она работает, если убрать простановку поля datedel.
т.е

Код: Выделить всё
conn.Execute "update [" & s2 & "]  SET [" & s2 & "].[DELETED] = '1', where [" & s2 & "].[NUMBER] in " & _
                 "(select [t].[NUMBER] from [" & ss2 & "] as t inner join [" & s2 & _
                   "] as tt on [t].[NUMBER] = [tt].[NUMBER])"


а нужно ещё обновлять значение поля datedel из другой базы.
Помогите разобраться, что не так!

обе базы с одинаковой структурой, формат DBF. Пробовал использовать 2 вида поключений (см. первый пример кода)

bashobn
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 25.05.2008 (Вс) 10:37

Re: Не работает sql-запрос в VB6

Сообщение bashobn » 18.01.2009 (Вс) 2:23

Фсе! Разобрался! Он не ставит дату потому, что запись имеет пометку на удаление!

Тогда второй вопрос возникает: Как можно сделать RECALL через vb?


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 136

    TopList