Есть код:
- Код: Выделить всё
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 вида поключений (см. первый пример кода)