Доброе время суток. Alex_ST, а зачем же открывать и обрабатывать dbf в самом Excel. Тут лучше работать средствами ADO [vba]
Код
Public Sub TestDBF() Dim pConn As New ADODB.Connection Dim sConn As String, sSQL As String, i As Long Dim pRSet As New Recordset, vData As Variant sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Mode=16;Data Source=" & ThisWorkbook.Path & ";Extended Properties=dBASE IV;" pConn.Open sConn sSQL = "Select KOD,N6,N8 From [Z03_0414.DBF]" pRSet.CursorLocation = adUseClient pRSet.Open sSQL, pConn, adOpenStatic, adLockOptimistic pRSet.Sort = "KOD" vData = ActiveSheet.Range("A1").CurrentRegion.Columns(1).Value For i = 1 To UBound(vData) pRSet.MoveFirst pRSet.Find "KOD='" & CStr(vData(i, 1)) & "'" If Not pRSet.EOF Then pRSet("N8").Value = Null pRSet("N6").Value = Null End If Next pRSet.Close: pConn.Close End Sub
[/vba] Пример для обновления одного dbf Z03_0414.DBF. Останется добавить код по обходу всех требуемых dbf в папке. Успехов. P. S. Необходимо явно подключить библиотеку Microsoft ActiveX Data Objects
Доброе время суток. Alex_ST, а зачем же открывать и обрабатывать dbf в самом Excel. Тут лучше работать средствами ADO [vba]
Код
Public Sub TestDBF() Dim pConn As New ADODB.Connection Dim sConn As String, sSQL As String, i As Long Dim pRSet As New Recordset, vData As Variant sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Mode=16;Data Source=" & ThisWorkbook.Path & ";Extended Properties=dBASE IV;" pConn.Open sConn sSQL = "Select KOD,N6,N8 From [Z03_0414.DBF]" pRSet.CursorLocation = adUseClient pRSet.Open sSQL, pConn, adOpenStatic, adLockOptimistic pRSet.Sort = "KOD" vData = ActiveSheet.Range("A1").CurrentRegion.Columns(1).Value For i = 1 To UBound(vData) pRSet.MoveFirst pRSet.Find "KOD='" & CStr(vData(i, 1)) & "'" If Not pRSet.EOF Then pRSet("N8").Value = Null pRSet("N6").Value = Null End If Next pRSet.Close: pConn.Close End Sub
[/vba] Пример для обновления одного dbf Z03_0414.DBF. Останется добавить код по обходу всех требуемых dbf в папке. Успехов. P. S. Необходимо явно подключить библиотеку Microsoft ActiveX Data Objectsanvg
Сообщение отредактировал anvg - Среда, 07.05.2014, 11:08
Я сам обычный пользователь, мужики много с чем разобрался с вашей помощь и без вашей тоже, может это поможете решить прозьба в прилагаемом файле.
Я сам обычный пользователь, мужики много с чем разобрался с вашей помощь и без вашей тоже, может это поможете решить прозьба в прилагаемом файле.student-ua
да и еще чтобы не нарушать структуру базы данных я уже не очищаю ячейну а ставлю 0, так при сохранении структура остается целой, а иначе если в первой строче стирается значение то столбец меняется с числового на символный.
да и еще чтобы не нарушать структуру базы данных я уже не очищаю ячейну а ставлю 0, так при сохранении структура остается целой, а иначе если в первой строче стирается значение то столбец меняется с числового на символный.student-ua
Сообщение отредактировал student-ua - Среда, 07.05.2014, 11:14