|
|
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Прошу помочь советом, тк не хватает пока опыта в работе с реляционной БД... Есть БД предприятия состоящая из таблиц: Companyes, Regions, Products, Main Поля таблиц: Companyes - ID, Company Regions - ID, Region Products - ID, Product Main - ID_reg, ID_prod, Date, Rates, ID_comp, Main связанна с Company по ID_comp, соответственно с Region по ID_reg и тд... Данные мне присылают извне в Ексель-файлах со следующими полями: Region, Product, Date, Rates, Company Тк обьем данных огромный, от 1000 до 5000 записей, то я столкнулся с необходимостью быстрого импорта их из екселя. Обычный импорт ч/з "файл" -"внешние данные" и тд не проходит.. Я создал связь с внешним Ексель-файлом, куда я копирую приходящие данные(поля те же). Далее попытался осуществить Запрос на добавление записей из связаной таблицы Ексель (Import) в таблицу БД Main. В запросе я связал поля Region, Product, Company из Import, с полями таблиц Companyes, Regions, Products cледующим образом: - Import LEFT JOIN Regions ON Import.Region = Regions.Region - и тд... В результате я без проблем получаю добавление записей в Main, по полям Date и Rates, а вот по остальным полям я получаю значение NULL и "ошибку преобразования типа"... В F1 я не нашел толкового обьяснения... Вопрос: каким образом я могу осуществить импорт из екселя, чтобы названия полей заменялись на ID из Companyes, Regions, Products... Надеюсь что я доступно обьяснил суть своей проблемы... Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 13:21 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Возможно, при присоединении файла Экселя некоторые поля были восприняты Аксессом как поля "не того" типа. Это легко проверить, открыв в конструкторе присоединенную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 15:04 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Здравствуй Владимир Саныч! (я на ты, тк это пожелание написанно у тебя в примечание) Я уж боялся что сегодня ты выходной :)) По делу: Так оно и есть - в присоед. Экселе эти поля как текстовые, а Айдишники у меня числовые..... Раньше я использовал Аксесс как Ворд :(, те почти все данные хранил в текстовом формате и в одной таблице.. И осуществлял примитивный импорт экселя в эту таблицу. И все было ок, пока... Пока кол-во записей не достигло 80 000! И любой мой запрос просто умирал или нещадно врал! Пока до меня не дошло что базу нужно проанализировать и разделить. После ее разделения и вроде правильного создания индексов и ключей(делаю все по книжке Роджера Дженнингса) я столкнулся с проблемой внесения данных в таблицу Main!!! Уже пару дней я никак не могу дойти каким образом в запросе на добавление указать какие типы данных и куда должны добавляться???? Каким образом заносяться данные в основную таблицу????? С Аксессом недавно, поэтому прошу прощения за дилетанский подход к делу Если есть возможность подскажите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 15:22 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Я и есть выходной. :^) Если поле X текстовое, а поле Y числовое, то предлагаю в запросе вместо X=Y писать Val(X)=Y. Правда, запрос при этом станет открываться только в режиме строки SQL, а не графического конструктора, но это не страшно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 15:29 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
2 denter А поля Id в таблицах Companyes ,Regions ,Products определены как счетчики? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 15:36 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Да, как счетчики! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 15:49 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Делаешь так ( при условии что Id во всех трех таблицах -счетчики) 1) Код: plaintext 1. 2. 2) Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 15:57 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Sorry, в 1) конечно же должно быть Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 16:55 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
А в 2) вроде скобок недостает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 16:55 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
А в 2) вроде скобок недостает? Непонял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 17:25 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Insert into main select regions.id,products.id,imports.date,imports.rates,companies.id from ((imports inner join regions on imports.region=regions.region) inner join products on imports.product=products.product) inner join companies on imports.company=companies.company SQL сервер без этих скобок поймет, а Аксесс нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 17:36 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
Ох уж этот Аксесс ... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2004, 17:51 |
|
||
|
Запрос на добавление записей...
|
|||
|---|---|---|---|
|
#18+
2 (c)VIG 2 Виктор Саныч Спасибо!! Все получилось! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 16:30 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1629&tid=1674575]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 347ms |

| 0 / 0 |
