Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как заполнить поле одной таблицы из другой - перенести данные


Страницы:   1 2

Дмитрий ©   (2008-08-13 14:58:00) 

Здравствуйте!
Задача такая. Необходимо создать таблицу типа
Номер        |   Абонент
тип char 8  |  тип char 50

поля Номер должны заполнятся из результата выборки sql запроса к локальной таблице dbf
запрос типа
SELECT NUMER from "database.dbf" group by NUMER order by NUMER
в результате этого формируется список номеров, который надо теперь передать в созданную таблицу.
Поле абонент необходимо заполнить для каждого номера - Абонентская установка.
Для выборки SQL использую компонент query
_____________________________________________
какие будут советы и предложения для решения этой задачи
я не силен в знании о возможностях Delphi и SQL не удивлюсь если задача решается элементарно.

Жду ответов


Дмитрий   (2008-08-13 16:45:00) [21]

как работать с table?
вот код

if opend.Execute then
begin
Query2.Close;
Query2.SQL.Clear;
database:=Opend.FileName;
Query2.SQL.Add('SELECT NEBST from '+'"'+database+'"'+' group by NEBST order by NEBST');
Query2.Open;
DbiMakePermanent(query2.Handle, 'temp_db.dbf',true);

count:=Query2.RecordCount;
with table1 do
begin
 Active := False;
 DatabaseName := 'NUM';
 TableType := ttDBase;
 TableName := 'numandname';
   if not Table1.Exists then begin
   with FieldDefs do begin
     Clear;
     with AddFieldDef do begin
//        Name := 'NEBST';
       DataType := ftString;
       Size:=8;
       Required := True;
     end;
     with AddFieldDef do begin

       Name := 'NAME';
       DataType := ftString;
       Size := 30;
     end;
   end;
   end;
end;

end;

выдает ошибку unknown database.

а можно ли обойтись без table
может еще одну query добавить...


Medbe}I{onok XML   (2008-08-13 16:23:00) [22]

мне надо скопировать только одно поле со всеми значениями в другую таблицу...

что в квери то и копируется.
или TBatchMove + FieldMappings


Дмитрий   (2008-08-13 16:17:00) [23]

Сергей М
программу писать надо...
требуемая таблица нужна для формирования отчетов...
т.е. имеем экспорт из теледата (тарификация) в формате дбф
потом эта информация обрабатывается программой которую сейчас пишу
формируем различные sql запросы относительно того что введено в интерфейсной части программы
к полученному результату - применяем запрос объединения по полю номера с требуемой таблицей что бы в результате получить таблицу вида
абонент | номер | ....| время разговора
и затем все это экспортируется в отчет в exel.

по запросу
table1.BatchMove(Query1,batCopy)
сдесь получается копируется вся таблица?
мне надо скопировать только одно поле со всеми значениями в другую таблицу...


Сергей М.   (2008-08-13 15:46:00) [24]


> Дмитрий   (13.08.08 15:19) [3]
>
> Да это одноразовая операция


Для этого и программу писать вовсе не надо, под ругой всегда немало готовых инструментов, с пом.которых довольно просто выполнить импорт/экспорт.
Например, средствами MS Office


Sergey13   (2008-08-13 15:21:00) [25]

> [0] Дмитрий   (13.08.08 14:58)
> запрос типа
> SELECT NUMER from "database.dbf" group by NUMER order by NUMER

Какие операторы ты еще можешь вставить в запрос? 8-)


Дмитрий   (2008-08-13 15:19:00) [26]

Да это одноразовая операция необходимо создать таблицу соответсвия номер - абонент...
спасибо Medbe}I{onok XML
щас попробую что это за зверь...


Сергей М.   (2008-08-13 15:04:00) [27]

Это одноразовая операция ?


Medbe}I{onok XML   (2008-08-13 15:02:00) [28]

table1.BatchMove(Query1,batCopy)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо