|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Выборка данных из dbf
Доброго времени суток. Если кто то по данной проблеме уже интересовался просьба дать ссылочку на тему.
У меня есть база данных .dbf из которой необходимо выбирать данные за определенные месяца. Пользователь должен будет выбрать нужный период через компаненту DateTimePicker1 и DateTimePicker2. Подскажите код реализации или где можно посмотреть. |
#2
|
||||
|
||||
Цитата:
Пиши, что конкретно не получается, так как в твоём вопросе я проблемы не увидел. |
#3
|
||||
|
||||
Тебе код запроса нужен?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
|||
|
|||
Код:
tblSbor.Close; Query1.Close; Query1.DatabaseName:=ExtractFilePath(Application.ExeName); Query1.SQL.Text:='SELECT * FROM sbor.dbf WHERE dpo BEETWEN ((...) AND (...))'; tblSbor.Open; Query1.Open; как запрос надо написать? Ну и вобще правильно или нет? Последний раз редактировалось Andrej-zhe, 11.10.2012 в 11:49. |
#5
|
||||
|
||||
Цитата:
Код:
Query1.SQL.Text := 'SELECT * FROM sbor.dbf WHERE dpo >= :date1 and dpo < :date2'; Query1.ParamByName('date1').AsDate := Int(DateTimePicker1.Date); Query1.ParamByName('date2').AsDate := Int(DateTimePicker2.Date)+1; |
#6
|
|||
|
|||
Не работает, а можно целиком процедуру, а то я в базах данных 0.
Да и еще вот что я не указал а может это важно. У меня файл sbor.dbf формируется из 4-х других файлов может проблема в этом. Последний раз редактировалось Andrej-zhe, 11.10.2012 в 16:06. |
#7
|
||||
|
||||
Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject); begin Query1.Close; Query1.SQL.Text := 'SELECT * FROM sbor.dbf WHERE dpo >= :date1 AND dpo < :date2'; Query1.ParamByName('date1').AsDate := Int(DateTimePicker1.Date); Query1.ParamByName('date2').AsDate := Int(DateTimePicker2.Date)+1; Query1.Open; end; Цитата:
|
#8
|
|||
|
|||
Вот так ругается
--------------------------- Project1 --------------------------- Incompatible record structures. File or directory does not exist. File: C:\Users\...\_QSQL000.DBF Table does not exist. --------------------------- ОК --------------------------- почему он обращается не к файлу sbor.dbf а к какому то временному получается. Последний раз редактировалось Andrej-zhe, 11.10.2012 в 16:56. |
#9
|
||||
|
||||
Цитата:
Путь к этому файлу прописан в Query1.DatabaseName? Поле DPO в этой таблице существует? Тип этого поля действительно Date? Цитата:
|
#10
|
|||
|
|||
файл на диске присутствует
путь к файлу прописат в Query1.DatabaseName поле существует тип поля integer - поменять нет возможности иначе придется менять и в др файлах из которых формируется сбор а вот таким запросом формируется файл Код:
Query1.SQL.Text:='SELECT o.dpo, m.nist, m.fio, m.date_wz, m.dp, m.dw, d.name, d.kodn, m.otd FROM duh.dbf d, oper.dbf o, oper_ozo.dbf z, mklh.dbf m WHERE (d.type = o.type and d.subtype = o.subtype and d.kod = o.kod) AND'+ '(d.type = z.type and d.subtype = z.subtype and d.kod = z.kod) AND (o.n = m.nk and o.otd = m.otd)'; Последний раз редактировалось Andrej-zhe, 11.10.2012 в 17:25. |
#11
|
||||
|
||||
Цитата:
|
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
Andrej-zhe (12.10.2012)
|
#12
|
||||
|
||||
Цитата:
|
#13
|
|||
|
|||
ну вот хранится незнаю как и почему.
тогда вот так формируется наверное Код:
Query1.Open; if Query1.RecordCount>0 then begin tblSbor.TableName:='sbor.dbf'; tblSbor.Open; while not Query1.Eof do begin tblSbor.Insert; tblSbor.FieldByName('nist').Value:=Query1.FieldByName('nist').Value; tblSbor.FieldByName('kodn').Value:=Query1.FieldByName('kodn').Value; tblSbor.FieldByName('name').Value:=Query1.FieldByName('name').Value; tblSbor.FieldByName('dpo').Value:=Query1.FieldByName('dpo').Value; tblSbor.FieldByName('otd').Value:=Query1.FieldByName('otd').Value; tblSbor.FieldByName('fio').Value:=Query1.FieldByName('fio').Value; tblSbor.FieldByName('date_wz').Value:=Query1.FieldByName('date_wz').Value; tblSbor.FieldByName('dp').Value:=Query1.FieldByName('dp').Value; tblSbor.FieldByName('dw').Value:=Query1.FieldByName('dw').Value; tblSbor.Post; Query1.Next; end; end else ShowMessage('Ни одной записи не найдено'); Последний раз редактировалось Andrej-zhe, 11.10.2012 в 17:34. |
#14
|
|||
|
|||
да все спс выборка делается, подскажите а как сделать выгрузку в excel полного файла и тех данных которые отображаются после выборки. Вобщем как отправить в excel данные которые в данный момент отображены в программе?
|
#15
|
||||
|
||||
Цитата:
|