Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2017, 06:11   #1
evdss
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 66
По умолчанию выдает ошибку "объект источника уже инициализирован"

Добрый день!
Может кто-нибудь подскажет в чем причина, в Set xCon1 = CurrentProject.Connection выдает ошибку "объект источника уже инициализирован"

Код:
Sub Импорт_с_сервера_s_okpo()
Dim BazaSQL As String, FdSQL As String, FD As String
Dim xCon1 As ADODB.Connection
Dim RsVx As ADODB.Recordset
Dim RsVix As ADODB.Recordset
Dim fld As ADODB.Field
Dim strSQL As String
Dim xCon As ADODB.Connection
BazaSQL = "tr_1_reg"
FdSQL = "s_okpo"
FD = "s_okpo"


Set xCon1 = New ADODB.Connection
Set xCon1 = CurrentProject.Connection
strSQL = "delete * from " & FD & ";"
xCon1.Execute strSQL

Set RsVix = New ADODB.Recordset
RsVix.Open "" & FD & "", xCon1, adOpenDynamic, adLockOptimistic

Set xCon = New ADODB.Connection
xCon.Open BazaSQL, "sa", ""


Set RsVx = New ADODB.Recordset
RsVx.Open FdSQL, xCon, adOpenForwardOnly

Do While Not RsVx.EOF
   RsVix.AddNew
     For Each fld In RsVx.Fields
       If fld.Name = "okpo" Or fld.Name = "name" Or fld.Name = "okato" Or fld.Name = "okved" Then
          If IsNull(RsVx.Fields(fld.Name)) Or Trim(RsVx.Fields(fld.Name)) = "" Then
             RsVix.Fields(fld.Name) = Null
          Else
             RsVix.Fields(fld.Name) = Trim(RsVx.Fields(fld.Name))
          End If
       End If
     Next fld
   RsVix.Update
   RsVx.MoveNext
Loop
RsVx.Close
RsVix.Close
Set xCon = Nothing
Set xCon1 = Nothing
End Sub
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 16.05.2017 в 09:26.
evdss вне форума Ответить с цитированием
Старый 16.05.2017, 08:07   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

зачем 2 раза делать Set xCon1? или первую или вторую строку удалите
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 16.05.2017, 08:39   #3
evdss
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 66
По умолчанию

Set xCon1 = CurrentProject.Connection, если убираю строку, то xCon1.Execute strSQL
выдается ошибка "операция не допускается, если объект закрыт"
evdss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается построить, пишет уже ошибку "undefined processor type", ilvErsat0 Win Api 2 15.04.2013 09:15
Delphi выдает ошибку "Out of memory" Ol'ga Помощь студентам 5 30.05.2012 14:31
при вставке записи в БД (MDB) выдает ошибку "неправильный синтаксис запроса" lkjuio C# (си шарп) 8 01.05.2011 23:30
Pascal выдает ошибку Error 89: ">" expected Alexander4321 Помощь студентам 4 13.11.2010 12:23
Excel выдает ошибку "слишком много различных форматов ячеек" Рогачева Татьяна Microsoft Office Excel 2 14.04.2009 08:50