Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];

Вниз

Как объединить идентичные таблицы ADO 12 штук   Найти похожие ветки 

 
Ирг   (2009-09-22 12:27) [0]

Как объединить идентичные таблицы ? ADO

A.dbf  12  штук между собой таблицы лежат в разных папках C:\1, C:\2- C:\12
D.dbf  12  штук между собой таблицы лежат в разных папках C:\1, C:\2- C:\12

Желательно в одном запросе или цикле


 
sniknik ©   (2009-09-22 12:36) [1]

обычным union-ом,
какая разница где они лежат, подключись к "базе" на уровень "ниже" всех, а путь дальше указывай в имени таблиц.


 
Ирг   (2009-09-22 12:58) [2]

sniknik © СПАСИБО !!!  

КАК БЫТЬ ЕСЛИ В ОДНОЙ ИЗ ПАПОК НЕ НАЙДЕТСЯ ТАБЛИЦЫ МНЕ НУЖНО ЧТОБ

ЗАПРОС ВСЕ РАВНО ПРОДОЛЖАЛ РАБОТАТЬ КАК ЭТО СДЕЛАТЬ ?


 
Sergey13 ©   (2009-09-22 13:16) [3]

> [2] Ирг   (22.09.09 12:58)
> КАК ЭТО СДЕЛАТЬ ?

Программу надо писать. Как еще то? Проверять перед открытием, есть ли чего открывать. И по результатам проверки составлять запрос.

ЗЫ: Это твое творение? Если да, то я бы посоветовал начать переписывать с нуля на нормальной СУБД и с нормальным подходом.


 
Ирг   (2009-09-22 13:30) [4]

Sergey13 ©  

Есть 24 талибы dbf чужого творения мне нужно доставать от туда данные !

Можно ли создать Субд (какую лучше), в папки 1, 2 - 12 помесячно будут добавляться таблицы (январь 1я папка, февраль 2я папка.....) ?

как проверить есть ли чего открывать ?

WHILE (i=0, i<12, i++) как тут проверить


 
Сергей М. ©   (2009-09-22 13:33) [5]


> Ирг   (22.09.09 13:30) [4]


> как проверить есть ли чего открывать ?


Что толку проверять ?
Даже если на момент проверки файл окажется на месте, нет никакой гарантии что на момент открытия запроса он там по-прежнему будет находиться)


 
Sergey13 ©   (2009-09-22 13:45) [6]

> [4] Ирг   (22.09.09 13:30)
> как проверить есть ли чего открывать ?

Ну я бы проверил наличие конкретного файла в конкретном месте. Например  FileExists

> Можно ли создать Субд (какую лучше), в папки 1, 2 - 12 помесячно
> будут добавляться таблицы (январь 1я папка, февраль 2я папка.....)?
Ну СУБД создавать тебе рановато пока, с БД бы разобраться. Что толку что-то создавать, если база как я понял не твоя?


 
Ирг   (2009-09-22 14:32) [7]

вСЕМ СПАСИБО БУДУ КОВЫРЯТЬСЯ ЕСЛИ ЧТО ПРИДУ ЗА ПОДМОГОЙ


 
Ирг   (2009-09-23 10:51) [8]

sniknik ©   (22.09.09 12:36) [1]

обычным union-ом,
какая разница где они лежат, подключись к "базе" на уровень "ниже" всех, а путь дальше указывай в имени таблиц.

DataModule2.ADOQuery1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";

Select * From  ("1\A.dbf"),  ("2\A.dbf") ......("12\A.dbf")

Ошибка недопустимое имя  1\A.dbf


 
Ирг   (2009-09-23 13:57) [9]

Select * From  [c:\1\A.dbf],  [c:\2\A.dbf] ......[c:\12\A.dbf]

не правельно определен объект parameter.....

а как правильно ?


 
Leonid Troyanovsky ©   (2009-09-23 14:06) [10]


> Sergey13 ©   (22.09.09 13:45) [6]

> Ну я бы проверил наличие конкретного файла в конкретном
> месте. Например  FileExists

Совершенно бесполезная функция, и более того, даже вредная.
Гораздо полезней получить исключение: "Путь/Файл не найден".

--
Regards, LVT.


 
Sergey13 ©   (2009-09-23 14:11) [11]

> [10] Leonid Troyanovsky ©   (23.09.09 14:06)

А в чем вредность функции и полезность исключения если

> [2] Ирг   (22.09.09 12:58)

?


 
Медвежонок Пятачок ©   (2009-09-23 14:13) [12]

тем, что ее результаты верны для некоего момента в безвозвратно ушедшем прошлом


 
Ирг   (2009-09-23 14:18) [13]

Хорошо мастерам  философствовать  

Помогли бы лучше хоть каким ни будь способом


 
Leonid Troyanovsky ©   (2009-09-23 14:23) [14]


> Sergey13 ©   (23.09.09 14:11) [11]

> А в чем вредность функции и полезность исключения если

[5], [12].

А если исключение грамотно обработать,
то можно, например, и цикл продолжить.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2009-09-23 14:37) [15]


> Ирг   (23.09.09 14:18) [13]

> Помогли бы лучше хоть каким ни будь способом

INSERT INTO "Customer.db" (CustNo, Company)
SELECT CustNo, Company
FROM "OldCustomer.db"

Конкретный синтаксис надо уточнять для выбранной engine.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2009-09-23 14:40) [16]


> Leonid Troyanovsky ©   (23.09.09 14:37) [15]

Ну и, конечно,TADOCommand.

--
Regards, LVT.


 
Ирг   (2009-09-23 14:42) [17]

>>A.dbf  12  штук между собой таблицы лежат в разных папках C:\1, C:\2- C:\12
>>D.dbf  12  штук между собой таблицы лежат в разных папках C:\1, C:\2- C:\12

пробую так

DataModule2.ADOQuery1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";

Select * From  [c:\1\A.dbf],  [c:\2\A.dbf] ......[c:\12\A.dbf]

не правельно определен объект parameter....


 
Leonid Troyanovsky ©   (2009-09-23 14:54) [18]


> Ирг   (23.09.09 14:42) [17]

> Select * From  [c:\1\A.dbf],  [c:\2\A.dbf] ......[c:\12\A.
> dbf]

> не правельно определен объект parameter....

Тут, во-ще, много неправильного определено.

Научись сначала объединять две таблицы,
а дальше можно и циклом.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2009-09-23 15:10) [19]


> Ирг   (22.09.09 13:30) [4]

> как проверить есть ли чего открывать ?

FindFirst, FindNext, FindClose Example
See also MatchesMask function.

--
Regards, LVT.


 
sniknik ©   (2009-09-23 15:26) [20]

и действительно, не так очевидно как думал... должно получится так
SELECT * FROM A IN "1" "dBASE IV;"


 
sniknik ©   (2009-09-23 15:28) [21]

Ирг   (23.09.09 14:42) [17]
> ...
> не правельно определен объект parameter....
а где юнион?


 
Sergey13 ©   (2009-09-23 15:33) [22]

> [14] Leonid Troyanovsky ©   (23.09.09 14:23)

Ну, в принципе согласен, что исключение более отказоустойчивый вариант. Но не думаю, что у автора файлы появляются и исчезают с такой быстротой. Тем более что с функцией мне лично было бы собрать запрос удобнее. А исключение ловить на открытие запроса.


 
Ирг   (2009-09-24 08:47) [23]

Спасибо большое пробую


 
Ирг   (2009-09-24 12:13) [24]

>> sniknik ©
>>SELECT * FROM A IN "1" "dBASE IV;"

файл не может быть открыт "C:\1" ядромс базы данных Microsoft.Jet уже открыт для монопольного доступа или требуеться рзрешение на просмотр данных

DataModule2.ADOQuery1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0; User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";
DataModule2.ADOQuery1.Close;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.Add("SELECT * FROM A IN "1" "dBASE IV;" ");
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "2" "dBASE IV;" ");
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "3" "dBASE IV;" ");
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "4" "dBASE IV;" ");
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "5" "dBASE IV;" ");
.........
DataModule2.ADOQuery1.SQL.Add("UNION ALL SELECT * FROM A IN "12" "dBASE IV;" ");
DataModule2.ADOQuery1.Active:=true;


 
Ирг   (2009-09-24 12:15) [25]

как то не правильно подключаюсь ?

DataModule2.ADOQuery1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;  User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";


 
Ирг   (2009-09-24 13:14) [26]

Изменяюсь "dBASE IV;"    не ставил ;    

сейчас выходит если без Union ов просто один запрос если с ними то ничего нет


 
Ирг   (2009-09-24 13:23) [27]

Все работает спасибо ВСЕМ !!!!!!!!!!
САМ ДУРАК


 
Ирг   (2009-09-24 13:47) [28]

почему то не объединяет ? выдает данные 1 таблицы


 
Ирг   (2009-09-24 13:51) [29]

Все нормально



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.006 c
2-1253003813
новый
2009-09-15 12:36
2009.11.08
pointer. Не могу разобраться...


1-1222428416
Gurd
2008-09-26 15:26
2009.11.08
Синхронизация двух ScrollBox


2-1253193476
webpauk
2009-09-17 17:17
2009.11.08
Модальная форма


15-1252299382
Andy BitOff
2009-09-07 08:56
2009.11.08
Java


3-1229385486
Dem
2008-12-16 02:58
2009.11.08
ТCalendar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский