Пятница, 19.04.2024, 11:35
Приветствую Вас Гость | Регистрация | Вход

Отдел информационных технологий ГКБ №29 г.Новокузнецк

Меню сайта
Категории раздела
Полезные утилиты [5]
Поиск
Наш опрос
Как Вы оцениваете качество материалов?
Всего ответов: 28
Полезные ссылки
  • Официальный блог
  • Сообщество uCoz
  • Технологии программирования
  • Сайт о здоровье
  • Друзья сайта
  • КМИАЦ Новокузнецка
  • Интернет университет
  • Дистанционное обучение
  • Статистика
    Деловая сеть Кемерово и Кемеровская область. Жёлтые страницы, телефонный справочник и каталог компаний, товаров и услуг. Rambler's Top100
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Погода
    Яндекс.Погода

    Каталог статей

    Главная » Статьи » Программирование в Access » Полезные утилиты

    Экспорт-импорт данных из клиента Access для SQL Server в DBF

    Идея может и не нова, но если не знаешь как это делается, то может пригодиться.

    Возникла такая потребность экспорта-импорта данных из SQL Server в DBF по средством клиента в Access. Можно конечно это сделать и средствами SQL Server, но на удаленном клиенте это не работает. Поэтому было сделано следуещее..

    За основу была взята информация с форума сайта http://www.sql.ru (тема: импорт DBF из клиента) реализующую загрузку из DBF в SQL Server.

    Sub dbf()
    Dim cn As New ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim rstt As ADODB.Recordset
    Dim strPath As String 

    strPath = "D:\"
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";Extended Properties=dBASE 
    IV;User ID=Admin;Password="

    Set rst = New ADODB.Recordset
    rst.Open "SELECT * FROM TEP.DBF", cn

    With rst
      .MoveFirst
      While Not .EOF

      Set rstt = New ADODB.Recordset
      rstt.Open "INSERT INTO dbo.tep (ID_INN, TN, ADDRESS) VALUES (N'" & !ID_INN & "', " & !TN & ", N'"
     & !Address & "')", _
      CurrentProject.Connection, adOpenKeyset, adLockOptimistic
      Set rstt = Nothing

      .MoveNext
      Wend


    End With

    Set rst = Nothing
    cn.Close
    Set cn = Nothing

    End Sub

    Несколько изменив получаем экспорт из SQL Server в DBF

    Sub VFond(Period1, Period2, dekada As Byte, StrNom As String, REGIM As Byte)
    Dim cn, cns As New ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim rsts As ADODB.Recordset
    Dim rstt As ADODB.Recordset
    Dim strPath, strcon, tmf As String
    Dim n As Boolean
    Dim colst As Integer



    ReadOptions
    ClearTempFiles


    CopyFile PathMaska & "ob.dbf", CurrentProject.path & "\tmp\" & StrNom & ".dbf", False

    strPath = CurrentProject.path & "\tmp\"
    strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";Extended Properties=dBASE IV;User ID=Admin;Password="

    Set cn = New ADODB.Connection
      cn.Open strcon

    Set rst = New ADODB.Recordset
    rst.Open "SELECT * FROM " & StrNom & ".dbf", cn, adOpenDynamic, adLockOptimistic


    Set cns = CodeProject.Connection
    If REGIM = 1 Then
      Set rsts = cns.Execute("pr_ex_ChekPolis 0,0," & REGIM & "," & Period1 & ", " & Period2 & ", " & dekada & "")
    Else
      Set rsts = cns.Execute("pr_ex_ChekPolis '" & Period1 & "','" & Period2 & "'," & REGIM & ",0,0,0")
    End If

    colst = rst.RecordCount
    n = True

    With rsts
      .MoveFirst
      StrProcess "Выполнено :", colst, n
      n = False
       
      While Not .EOF

      rst.AddNew
      rst!fam = !fam
      rst!NAME = !im
      rst!otch = !otch
      rst!born = !data_rogd
      rst!polis = !polis
      rst.Update

      .MoveNext
      Wend


    End With

    Set rst = Nothing
    cn.Close
    Set cn = Nothing
      Call SysCmd(acSysCmdClearStatus)

    tmf = cmdSaveDialog(PathArhiv, StrNom & ".rar")
    '
    If tmf = "" Then
      Exit Sub
    End If

    Pack tmf, CurrentProject.path & "\tmp\" & StrNom & ".dbf"

    MsgBox "Выполнено"

    End Sub



    Категория: Полезные утилиты | Добавил: AdminGkb29 (26.05.2010)
    Просмотров: 4832 | Комментарии: 2 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]