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

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

"Архивация" БД Access [D6, Access]


saNat ©   (2004-10-17 00:30:00) 

Доброго времени суток.
Подскажите пожалуйста, как сделать следующую вещь. Есть файл БД на Access'е. В ней лежат таблицы, например, Таблица1 и Таблица2. Нужно сделать в них выборку данных, например, информация за сегодняшний день (это понятно), затем создать файл новой БД той же структуры с заданным именем и скопировать отбранные данные.

Буду рад примеру.

С уважением...


Silla   (2004-10-18 23:47:00) [1]

Уже обсуждалось. Поиском надо пользоваться. :)
procedure TFrmBase.ExistsDatabaseSystems;
var
PathToBase, DataBaseName: String;
begin
PathToBase := ExtractFilePath(Application.ExeName)+'Dat';
DataBaseName := 'sp.mdb';
// проверка наличия пути для базы данных, если нет, то создаем
if not DirectoryExists(PathToBase) then
  if not CreateDir(PathToBase) then
  raise Exception.Create('Не могу создать ' + PathToBase);
// проверка наличия базы данных, если нет, то создаем
if not FileExists(PathToBase+'\'+DataBaseName) then
  CreateMSAccessDB(PathToBase, DataBaseName);
// присоединение к базе данных
ADOConnection.Connected := False;
ADOConnection.ConnectionString := 'Provider=MSDASQL.1;Persist Secur'+
  'ity Info=False;Extended Properties="DRIVER={Microsoft Access Dri'+
  'ver (*.mdb)};DBQ='+PathToBase+'\'+DataBaseName+';DefaultDir='+
  PathToBase+';DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTim'+
  'eout=5;UID=admin;"';
ADOConnection.Mode := cmShareDenyNone;
ADOConnection.DefaultDatabase := PathToBase+'\'+DataBaseName;
ADOConnection.Connected := True;
//ExistsTableSystems(PathToBase, DataBaseName, ADOConnection);
end;


http://www.delphimaster.ru/cgi-bin/forum.pl?id=1097130177&n=1


sniknik   (2004-10-18 23:46:00) [2]

> Нужно сделать новый файл базы (например, База_06_11_1983.mdb) с таблицами той же структуры
базу делаеш пустую, затем
> +
> SELECT INTO копирует таблицу со структурой.

> содержащими выборку данных за период (например, 6 ноября 1983).
ограничение выборки по дате WHERE xxx=6 ноября 1983


saNat   (2004-10-18 23:34:00) [3]

Как вы правильно поняли, выборку данных я сделать сам могу :о) Вопрос в том, как создать отдельный файл базы. В том плане, что таблицы (например, Таблица1 и Таблица2) хранятся в базе данных (например, База.mdb). Нужно сделать новый файл базы (например, База_06_11_1983.mdb) с таблицами той же структуры, содержащими выборку данных за период (например, 6 ноября 1983).

С уважением...

P.S.:хотя с архивацией может и погорячился


sniknik   (2004-10-17 14:59:00) [4]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1096621509&n=1
+
SELECT INTO копирует таблицу со структурой.

только "Архивация" тут совсем не причем по моему, както не связаны вопрос и заголовок, межет другое имел ввиду?


Настенька   (2004-10-17 10:57:00) [5]

наверное, выборку сделать не сложно, saNat не знает, как сделать пункт 2. и соответственно 3.


YurikGL   (2004-10-17 10:00:00) [6]


> saNat ©   (17.10.04 00:30)  

1) > сделать в них выборку данных,

2) > затем создать файл новой БД той же структуры с заданным
> именем

3) > скопировать отбранные данные.

Собственно, какое из действий не получается?


Наверх

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