Как удалить записи с БД в формате .dbf - VB

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток у меня такой вопрос: как программно удалить записи с БД в формате .dbf, в которой есть поле dtt1(дата-время) по указанную дату
Листинг программы
  1. Set dbDBF = OpenDatabase(App.Path, False, False, "dBase IV;") 'коннект к БД
  2. Set rsDBF = dbDBF.OpenRecordset("select * from vesres", dbOpenDynaset) 'заполняем рекордсет
  3. 'MsgBox CStr(rsDBF.RecordCount) 'здесь почему-то "1"
  4. rsDBF.MoveFirst
  5. While (rsDBF.EOF)
  6. If (rsDBF.Fields("dtt1") <= GetDateString(dt)) Then rsDBF.Delete
  7. rsDBF.MoveNext
  8. Wend
  9. 'rsDBF.Update
  10. 'dbDBF.Execute "DELETE FROM vesres WHERE dtt1<=" + GetDateString(dt) 'так было бы, если б БД была .mdb
  11. dbDBF.Close
может кто подскажет, в чем моя ошибка зараннее благодарен
если я все комментирую и выполняю строку 10, то все проходит, но размер БД не уменьшается(а должен значительно)

Решение задачи: «Как удалить записи с БД в формате .dbf»

textual
Листинг программы
  1. 'предполагаемое размещение таблицы DBF : C:\Folder1\F1.dbf
  2.  
  3. Dim d As DAO.Database, s$
  4. Const sQ = "DELETE FROM F1 IN 'C:\Folder1'[dBase IV;HDR=NO;IMEX=2] WHERE dtt1<="
  5. 'строка SQL конструкции формируется из константы и значения возвращаемого функцией
  6. 'будем надеяться функция работает правильно. ;)
  7. s = sQ + GetDateString(dt)
  8. Set d = CurrentDb
  9. d.Execute sQ
  10. Set d = Nothing

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут