Как удалить записи с БД в формате .dbf - VB
Формулировка задачи:
Всем доброго времени суток
у меня такой вопрос: как программно удалить записи с БД в формате .dbf, в которой есть поле
dtt1(дата-время) по указанную дату
может кто подскажет, в чем моя ошибка
зараннее благодарен
Листинг программы
- Set dbDBF = OpenDatabase(App.Path, False, False, "dBase IV;") 'коннект к БД
- Set rsDBF = dbDBF.OpenRecordset("select * from vesres", dbOpenDynaset) 'заполняем рекордсет
- 'MsgBox CStr(rsDBF.RecordCount) 'здесь почему-то "1"
- rsDBF.MoveFirst
- While (rsDBF.EOF)
- If (rsDBF.Fields("dtt1") <= GetDateString(dt)) Then rsDBF.Delete
- rsDBF.MoveNext
- Wend
- 'rsDBF.Update
- 'dbDBF.Execute "DELETE FROM vesres WHERE dtt1<=" + GetDateString(dt) 'так было бы, если б БД была .mdb
- dbDBF.Close
если я все комментирую и выполняю строку 10, то все проходит, но размер БД не уменьшается(а должен значительно)
Решение задачи: «Как удалить записи с БД в формате .dbf»
textual
Листинг программы
- 'предполагаемое размещение таблицы DBF : C:\Folder1\F1.dbf
- Dim d As DAO.Database, s$
- Const sQ = "DELETE FROM F1 IN 'C:\Folder1'[dBase IV;HDR=NO;IMEX=2] WHERE dtt1<="
- 'строка SQL конструкции формируется из константы и значения возвращаемого функцией
- 'будем надеяться функция работает правильно. ;)
- s = sQ + GetDateString(dt)
- Set d = CurrentDb
- d.Execute sQ
- Set d = Nothing
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д