![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"Архивация" БД 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) > скопировать отбранные данные.
Собственно, какое из действий не получается?