Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Импорт из Excel в MSSQL посредством С++builder

19K
14 мая 2007 года
Levi
35 / / 11.05.2007
Импорт из Excel в MSSQL посредством С++builder
Каким образом реализовать?
Страницы:
19K
20 мая 2007 года
Levi
35 / / 11.05.2007
Извини я все понимаю, но действительно времени мало на это уделяю...
Много других проблем работа, курсы...
Постараюсь все сделать правильно...я и не хочу чтобы диплом писали за меня...Надеюсь твои консультации помогут вылезти мне из серости и наконец по настоящему включить мозги..
С Уважением Владимир
P.S.
Как считаешь может стоить весь адрес город, индекс, улица, дом, офис в одну таблицу запихать, ведь адрес это не главное в моем деле...
Седня постараюсь сделать все верно, если будет время у отца ДР 50 лет исполнилось...
19K
20 мая 2007 года
Levi
35 / / 11.05.2007
http://cp.liveofan.jino-net.ru./SQL4.rar
Так вроде все...
1
20 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Levi
http://cp.liveofan.jino-net.ru./SQL4.rar
Так вроде все...


Вот это уже гораздо лучше. Город только можно все же вынести в справочник - но это по желанию.
Теперь поехали дальше - опиши какая информация из экселя куда предполагается. И какое решение ты принял по адресам и сотрудникам? как планируешь осуществлять ввод?

19K
20 мая 2007 года
Levi
35 / / 11.05.2007
Цитата:
Город только можно все же вынести в справочник

Хорошо вынес в отдельную таблицу Город с id_gorod и туда вставил id_adres, а в таблице Название_орг, заменил id_adres на id_gorod, если надо скажи сброшу обновление.
Теперь по экселю, смотрю по 1 строке, закладка ремонт:
1)Наименование:
(название)"Амоком" ООО - в таблицу Название_орг, ячейка название

2)№, дата договора:
(№договра)183-РО/2006А - в таблицу Договор, ячейка договор
(дата заключения)от17.12.05 - в таблицу Сделка, ячейка дата_заключения

3)Реквизиты, Ф. И. О. руководителя:
(должность)Директор - в таблицу Должность, ячейка должность
(Ф)Габриелян - в таблицу Сотрудники, ячейка фамилия
(И)Армен - в таблицу Сотрудники, ячейка имя
(О)Арнольдович - в таблицу Сотрудники, ячейка отчество
(индекс)650021 - в таблицу Адрес, ячейка индекс
(город)г. Кемерово - в таблицу Город, ячейка город
(улица)бр. Стоителей - в таблицу Адрес, ячейка улица
(дом)34 - в таблицу Адрес, ячейка дом
(офис)оф.212 - в таблицу Адрес, ячейка офис
(ИНН)ИНН 4205016672 - в таблицу Название_орг, ячейка ИНН
(КПП)КПП 420501001 - в таблицу Название_орг, ячейка КПП
(ОКПО) - в таблицу Название_орг, ячейка ОКПО
(ОГРН) - в таблицу Название_орг, ячейка ОГРН
(тел/факс/мыло)т.53-67-66, 53-49-52, 3-09, 8-923-617-0169 (туда же факс, мыло) - в таблицу Телефон, в ячейку номер (+ко всему надо как-то для каждого телефона/факс/мыла назначать id_contact раб/дом/сот/факс/мыло/нач_отд/Сергей Валерианович(я думаю его занести в контакты, т.к. в основном даются телефоны непосредственного руководителя)

4)Предмет договора:
(наименование)Ремонтно-строительные работы помещений, зданий и сооружений - в таблицу Договор, ячейка наименование (+ тут надо присвоить вид работ в зависимости от того из какого листа мы выгружаем данные)

5)Срок работ:
(дата начала)01.02.06 - в таблицу Сделка, ячейка дата_начала
(дата завершения)-01.05.06 - в таблицу Сделка, ячейка дата_завершения

6)Условия оплаты:
(условие)В течение 30 дн. после акта КС-2 - таблица Условие, ячейка условие

7)Сумма договора:
(сумма)1 426 186р. - в таблицу Сделка, ячейка сумма

Примерно так должно быть...

Цитата:
И какое решение ты принял по адресам и сотрудникам? как планируешь осуществлять ввод?


Маленько не понял суть вопроса(
Ввод куда, откуда? Вообще добавление будет осуществляться процедурой, как ты и посоветовал я ее переделаю...
Или ты спрашиваешь при импорте, какие нужно условия ставить, чтобы определенная информация заносилась в нужную таблицу? Если так, то я думал, все это осуществить через условие, например:

1)Все названия фирм начинаются с символа " - значит нужно поставить условие в СИ, если найдет символ " то эту информацию занести в таблицу Название орг, ячейка название...Ну и конечно наверное можно сделать что поиск нужно осуществлять в 1 ячейке.

2)На номер договора нужно ставить несколько условий, допустим нахождение д/с и после несколько подряд идущих символов "от" и то что поиск нужно осуществлять во 2 ячейке. (после чего занести туда-то)

3)Дата_заключения символ "от" в начале даты и то что поиск нужно осуществлять во 2 ячейке.
(опять возникает вопрос, в СКЛ дата же хранится в формате год.месяц.число, а в СИ у нас содержится число.месяцюгод, нужно конвертор поставить)(после чего занести туда-то)

4)Должность, тут возникают проблемы..( Но можно предположить, что Поиск нужно осуществлять по 3 ячейке и что это 1 строковое значение в данной ячейке, т.к. нулем оно быть не может...

5)То же самое по ФИО, это соотвественно 2,3 и 4 строковое значение в 3 ячейке.

6)Также можно осуществить добавление индекса.только + к нему нужно поставить условие, что это числовая переменная состаящая из 6 подряд идущих символов, т.к. в Екселе иногда Индекс стоит после города.
И во всех этих ячейках указать, что значения следует через пробел или запятую.(начало и конец)

7)На город можно поставить условие, что это 6 значение и то что начинается с символа "г. " (г точка пробел)

8)На улицу условие, что значение строковое может начинать с символа " ."(2 пустых символа точка) и что это 7 значение

9)На город то что это 8 значение, числовой код из 1-4 символов (думаю больше быть не может), то что после чисел может быть буква (например дом 20а)

10)На офис то что это 9 значение может начинаться с символов " ." (2 пустых символа точка), то что это числовой код из 1-5 символов и то что после чисел может быть буква (например кв 101а)..Также нужно учесть что он может принимать нулевое значение.

11)ИНН,КПП,ОГРН,ОКПО - ограничение по численности подряд идущих цифр (вроде ИНН - 10, КПП - 9, ОКПО - 8, ОГРН - 13 это исходя из данных экселя), а также что начинаются с ИНН,КПП,ОКПО,ОГРН - соотвественно.Также нужно учесть что он может принимать нулевое значение.

12)По телефонам сложнее, нужно что-то придумать к тому же нужна как то соотнести их с контактами.Определить их можно по числовому варианту (то что цифры следуют через дефис - ), в начале стоит т. или т/факс или сот.

13)Наименование работ добавляются по принципу что это очень много подряд через пробел следующих строковых переменных и то что они выбираются только из 4 ячейки

14)Дата начала выбирается из 5 ячейки числовые символы следующие через точку и то что заканчивается либо пробелом либо дефисом

15)Дата завершения выбирается из 6 ячейки числовые символы следующие через точку и начинающие с пробела и дефиса

16)Условие выбирается из 7 ячейки могут начинаться с символа В, А или число%

17)Сумма выбирается из 8 ячейкм содержит только цифры следующие через пробел оканчивающиеся символом р.

P.S.
Я не знаю что делать по поводу совмещения Ячеек Наименования и Реквизитов в Екселе...И как все-таки они соединятся Идешниками...
Вроде все...но это теория, как реализовать вопрос...

1
20 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Levi
Хорошо вынес в отдельную таблицу Город с id_gorod и туда вставил id_adres, а в таблице Название_орг, заменил id_adres на id_gorod, если надо скажи сброшу обновление....


Стоп стоп стоп. Я думал мы уже этот вопрос решили и сразу на диаграме не обратил внимания. Ты действительно, как бы это сказать политкорректно, альтернативно талантлив. :)
Давай еще раз - адрес ДОЛЖЕН СОДЕРЖАТЬ id_nasv_org а не таблица организаций - id_address. И в таблице Адрес помещается id_gorod. Повторяю ще раз: И в таблице Адрес помещается id_gorod. Почему? Потому что в данном случае мы создаем справочник. Потому что название города может быть использовано во множестве адресов. Это ясно? Я посмотрю еще раз на диаграмму - возможно чтолибо я пропустил таким же образом.

19K
20 мая 2007 года
Levi
35 / / 11.05.2007
Знаю, я там ошибку допустил, щас диаграмму выложил имправленную и переработанный Ексель документ:
http://cp.liveofan.jino-net.ru./SQL5.rar
1
21 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Levi
Знаю, я там ошибку допустил, щас диаграмму выложил имправленную и переработанный Ексель документ:
http://cp.liveofan.jino-net.ru./SQL5.rar



Ок. Код для закачки я тебе подготовлю - конечно было бы гораздо проще если бы разбить ФИО, должность и прочее по отдельным полям. лано разберемся я попытаюсь показать как это можно реализовать а ты дальше сделаешь по аналогии. если успею завтра выложу

19K
21 мая 2007 года
Levi
35 / / 11.05.2007
Спасибо, если у меня возникнут еще вопросы, можно будет воспользоваться твоими консультациями?
Блин тебе у нас в группе преподавать ) А то наши препады старше нас на 1 -2 года и учились программе вместе с нами...
19K
22 мая 2007 года
Levi
35 / / 11.05.2007
CREATE PROCEDURE DobavAdres
@index int,
@ulica varchar(50),
@dom varchar(50),
@office varchar(50),
@IDGorod int,
@IDOrg int
AS
declare @IDAdres int
declare @gorod varchar(50)
declare @org varchar(50)
declare @INN varchar(50)
declare @KPP varchar(50)
declare @OKPO varchar(50)
declare @OGRN varchar(50)
set @IDGorod=(Select id_gorod from Город where город=@gorod)
set @IDOrg=(Select id_nazv_org from Название_орг where название=@org and ИНН=@INN and КПП=@KPP and ОКПО=@OKPO and ОГРН=@OGRN)
set @IDAdres=(Select id_adres from Адрес where индекс=@index and улица=@ulica and дом=@dom and офис=@office and id_gorod=@IDGorod and id_nazv_org=@IDOrg)
if @IDAdres is null begin
insert into Адрес (индекс,улица,дом,офис,id_gorod,id_nazv_org)
values (@index,@ulica,@dom,@office,@IDGorod,@IDOrg)
set @IDAdres=IDENT_CURRENT('Адрес')
end
GO

Почему не работает?
19K
22 мая 2007 года
Levi
35 / / 11.05.2007
все сам уже разобрался, спасибо )
19K
23 мая 2007 года
Levi
35 / / 11.05.2007
Как реализовывать каскадное удаление и обновление?
Пример, если можно и где про это почитать..
19K
25 мая 2007 года
Levi
35 / / 11.05.2007
Fg
все еще жду ответа )
19K
29 мая 2007 года
Levi
35 / / 11.05.2007
вверх
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог