![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Доброго времени суток. Если кто то по данной проблеме уже интересовался просьба дать ссылочку на тему.
У меня есть база данных .dbf из которой необходимо выбирать данные за определенные месяца. Пользователь должен будет выбрать нужный период через компаненту DateTimePicker1 и DateTimePicker2. Подскажите код реализации или где можно посмотреть. |
|
#2
|
||||
|
||||
|
Цитата:
Пиши, что конкретно не получается, так как в твоём вопросе я проблемы не увидел. |
|
#3
|
||||
|
||||
|
Тебе код запроса нужен?
|
|
#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
|
||||
|
||||
|
Цитата:
|