Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница:

 

  Вопрос: Excel To DBF file проблема с типом Date Добавлено: 07.12.07 09:48  

Автор вопроса:  jojobublik
Задача перенести из отчета Excel в чистый готовый файл dbf, с символьными полями и числовыми разобрался, не могу никак перенести даты в поле типа date dbf файла. Подмогите столько всего перепробовал ... не получается :(

' Создаем соединение с dbf ADO
' создаем объект соединения
 Set cnn = CreateObject("ADODB.Connection")
 ' свойства соединения для работы с DBF
 cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
 cnn.Mode = adModeReadWrite
 cnn.Properties("Extended Properties") = "dBase IV"
 cnn.Properties("Data Source") = Dir_PathDBF & "\"
 
 'Set cnn = New ADODB.Connection
 'cnn.Open "Driver={Microsoft dBASE Driver (*.dbf)};uid=;pwd=;database=" & def_dir & "\" & NewName1 & ";"
 
 ' открываем соединение
 cnn.Open
 
  Str = CInt(Sht_Par.Cells(3, 2).Value)
  While Not IsEmpty(lst.Cells(Str, 1).Value)
   Str = Str + 1
  Wend
  Strok = Str

  Str = Sht_Par.Cells(3, 2).Value
  While Not IsEmpty(Lst.Cells(Str, 1).Value)
   eFIO = CStr(Left(Trim(Lst.Cells(Str, 1).Value), 55))
   eTABN = CStr(Left(Trim(Lst.Cells(Str, 3).Value), 5))
   eKOD_NACH = CStr(Left(Trim(Lst.Cells(Str, 4).Value), 3))
   ePL_DAY = MyRound(CDbl(Lst.Cells(Str, 5).Value), 0, 0)
   ePL_TIME = MyRound(CDbl(Lst.Cells(Str, 6).Value), 0, 0)
   eDay = MyRound(CDbl(Lst.Cells(Str, 7).Value), 0, 0)
   eTime = MyRound(CDbl(Lst.Cells(Str, 8).Value), 2, 0)
   eOTDEL = Left(Trim(Lst.Cells(Str, 9).Value), 200)
   eOKLAD = MyRound(CDbl(Lst.Cells(Str, 10).Value), 4, 0)
   'If Trim(Lst.Cells(Str, 11).Value) <> "" Then
    eDATAGR_N = Format(CDate(Trim(Lst.Cells(Str, 11).Value)), "dd/mm/yyyy")
   'Else
   ' eDATAGR_N = Null
   'End If
   'If Trim(Lst.Cells(Str, 12).Value) <> "" Then
    eDATAGR_K = Format(CDate(Trim(Lst.Cells(Str, 12).Value)), "dd/mm/yyyy")
   'Else
   ' eDATAGR_K = Null
   'End If
   ePRIZNAK = CStr(Left(Trim(Lst.Cells(Str, 13).Value), 1))
   
   SQL_Text = "INSERT INTO " & dirPath & NameNoXls & ".dbf " & "(FIO,TABN,KOD_NACH,PL_DAY,PL_TIME,DAY1,Time1,OTDEL,OKLAD,DATAGR_N,DATAGR_K,PRIZNAK) VALUES (" & Chr(34) & eFIO & Chr(34) & "," & Chr(34) & eTABN & Chr(34) & "," & Chr(34) & eKOD_NACH & Chr(34) & "," & ePL_DAY & "," & ePL_TIME & "," & eDay & "," & eTime & "," & Chr(34) & eOTDEL & Chr(34) & "," & eOKLAD & "," & eDATAGR_N & "," & eDATAGR_K & "," & Chr(34) & ePRIZNAK & Chr(34) & ")"
   Sht_Protocol.Cells(1, 1) = SQL_Text
   cnn.Execute SQL_Text
   
   progress = 100 * (Str - Sht_Par.Cells(3, 2).Value - 1) / Strok
   Application.StatusBar = "Идет заполнение данных dbf файла. Выполнено: " & Int(progress) & " %"
   Str = Str + 1
   DoEvents
  Wend
 
' Закрываем соединение
cnn.Close

Ответить

  Ответы Всего ответов: 0  

Нет ответов

Страница:

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам