Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / импорт в Access / 15 сообщений из 15, страница 1 из 1
24.08.2004, 13:27:12
    #32662921
Dogmatos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
Подскажите, плиз, как реализовать импорт данных в Access.
Есть файл - export.sql
В нем полно инсертов:
INSERT INTO Complex_Matrix(ProcID1,ProcID2,Prc) Values(1,2,40);
INSERT INTO Complex_Matrix(ProcID1,ProcID2,Prc) Values(2,1,12);
...
Нужно, из VB подключиться к базе и запустить что-то типа макроса, который импортнет данные из export.sql.

Есть-ли какая-нить функция импорта, которую можно запустить с указанием моего файла, и которая сама все из него импортнет? Или нужно самому что-то писать?

Спасибо
...
Рейтинг: 0 / 0
24.08.2004, 13:29:24
    #32662927
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
Посмотри Query Analyzer.
Нужно будет создать источник данных ODBC к твоей Аксеске, и запустить в нем скрипт. Я как-то давно такое делал - почти проканало!
...
Рейтинг: 0 / 0
24.08.2004, 13:32:25
    #32662933
Dogmatos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
TalenПосмотри Query Analyzer.
Нужно будет создать источник данных ODBC к твоей Аксеске, и запустить в нем скрипт. Я как-то давно такое делал - почти проканало!

А Какой скрипт? Не вспомнишь?
...
Рейтинг: 0 / 0
24.08.2004, 13:44:12
    #32662966
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
Dogmatos TalenПосмотри Query Analyzer.
Нужно будет создать источник данных ODBC к твоей Аксеске, и запустить в нем скрипт. Я как-то давно такое делал - почти проканало!

А Какой скрипт? Не вспомнишь?

В смысле какой скрипт?? мой был
...
Рейтинг: 0 / 0
24.08.2004, 13:47:34
    #32662980
Dogmatos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
пока сделал следующее:

Open ".../export.sql" For Input As #1
Do While Not EOF(1)
Line Input #1, strNextLine
DoCmd.RunSQL (strNextLine)
Loop
Close #1

Т.е. каждую строчку своего файла прогоняю через DoCmd.RunSQL (strNextLine)

Но хотелось бы, одной какой-нить командой весь файл отдать компилятору Access, чтобы он сам его обработал
...
Рейтинг: 0 / 0
24.08.2004, 13:51:07
    #32662994
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
Dogmatosпока сделал следующее:

Open ".../export.sql" For Input As #1
Do While Not EOF(1)
Line Input #1, strNextLine
DoCmd.RunSQL (strNextLine)
Loop
Close #1

Т.е. каждую строчку своего файла прогоняю через DoCmd.RunSQL (strNextLine)

Но хотелось бы, одной какой-нить командой весь файл отдать компилятору Access, чтобы он сам его обработал

А чем тебя это не устраивает? Я так понимаю это на один раз.
...
Рейтинг: 0 / 0
24.08.2004, 13:55:33
    #32663013
Dogmatos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
TalenА чем тебя это не устраивает? Я так понимаю это на один раз.

Это меня сейчас устраивает. Но, вдруг, в будущем нужно будет юзануть какой-нить файл, в котором будут не только инсерты, но и, например, создание каких-нить таблиц. Или Инсерты, которые оформлены не одной строкой, а несколькими, например:

INSERT INTO Complex_Matrix(ProcID1,ProcID2,Prc) Values(4,1,"текст текст
текст текст текст
текст текст текст
текст текст текст ");
...
Рейтинг: 0 / 0
24.08.2004, 13:56:58
    #32663016
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
Тогда лучше юзать Query Analyzer. Правда скрипт придется чуть-чуть поправить
...
Рейтинг: 0 / 0
24.08.2004, 13:58:39
    #32663021
Dogmatos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
TalenТогда лучше юзать Query Analyzer. Правда скрипт придется чуть-чуть поправить
мне нужно делать это программно
...
Рейтинг: 0 / 0
24.08.2004, 13:59:37
    #32663028
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
добавь проверку, если последний символ строки не равен ";", то читаем след. строку и объединяем с предыдущей...
...
Рейтинг: 0 / 0
24.08.2004, 14:00:56
    #32663032
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
Kelmeдобавь проверку, если последний символ строки не равен ";", то читаем след. строку и объединяем с предыдущей...

Акссеска разве смогет такое? Jet SQL не разрулит такой скрипт
...
Рейтинг: 0 / 0
24.08.2004, 14:02:22
    #32663035
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
Cможет, главной чтобы ты смог ;)
...
Рейтинг: 0 / 0
24.08.2004, 14:06:47
    #32663053
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
KelmeCможет, главной чтобы ты смог ;)


Попробовать надо. Помню в 97-ом такая штука лагала по-полной.
...
Рейтинг: 0 / 0
24.08.2004, 14:12:03
    #32663067
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
на вскидку примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
dim ResultString as string

Open ".../export.sql" For Input As # 1 
ResultString = ""
Do While Not EOF( 1 )
 
 Line Input # 1 , strNextLine
 ResultString = ResultString &  " " & strNextLine
 if Right$(strNextLine, 1 ) = ";" then
     DoCmd.RunSQL (trim$(ResultString))
     ResultString = ""
 end if
Loop
Close # 1 
...
Рейтинг: 0 / 0
24.08.2004, 14:16:44
    #32663075
Dogmatos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт в Access
Парни, спасибо за дискуссию!
Не могли бы ответить на след мой вопрос:
http://www.sql.ru/forum/actualthread.aspx?tid=116839
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / импорт в Access / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]