powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как в Access выполнить сразу МНОГО SQL запросов ???
21 сообщений из 46, страница 2 из 2
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365191
n1ck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2AlexJuice: А для чего он тогда предназначен? В моем понимании(!), это должна быть стандартная возможность в программе, которая работает с бд.
Меня удивляет - это я что, один такой рагуль? Кроме меня никто с такой проблемой не встречался??? Не верю!
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365199
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2n1ck: Знаешь такую пословицу?

Кесарю - кесарево,
а слесарю - слесарево

Вот я, например, уверен, что в любом текстовом редакторе должен быть макрорекордер
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365202
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот еще поговорка:

Вам шашечки или ехать?

Если ехать, то вместо скрипта советую использовать DTS (надеюсь, это стандартная возможность?)
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365203
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
1. Если таблиц несколько, то и файлов должно быть несколько.

2. Позиция и ширина каждого поля должны быть заданы так, чтобы они совпадали в той программе, которая создает файл, и в той, которая его вводит.

3. Ввод файлов надо проводить в такой последовательности, чтобы не нарушать целостность данных (т.е. отцовские таблицы раньше, чем дочерние).
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365206
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет того, встречался ли я с такой проблемой - нет, конечно. У меня Аксесс - клиент под скулем, поэтому таблицы я копирую по другому. Варианты: либо через Copy / Paste, подправляя в случае необходимости типы полей, либо с помощью запроса на создание таблицы из присоединенной таблицы скуля (через ODBC). Если же требуется что-то усложнить или автоматизировать, DTS всегда поможет.
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365208
n1ck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите.... меня, домохозяйку эдакую.... но... что такое ДТС???
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365212
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Data Transformation Services
И здесь мы подходим, наконец, к главному: откуда скрипт-то взялся?
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365214
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, на самом деле я чуток загнул с иронией, правда... Хотя меня извиняет то, что было совершено посягательство на мой любимый Access.
Видимо, раз SQL Server недоступен, про ДТС тоже можно забыть :-(
Поэтому советую все же (если нужен именно Аксесс) для начала отделить мухи от котлет (как это он понимает), т.е. интрукции создания таблиц от их заполнения. А перенос содержимого - да хоть через Excel! Если что, мы поможем.
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365255
n1ck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо за обсуждение и советы.
Делаю вывод:
Сабж выполним! Только много геморроя для неподготовленного. Про альетнативные пути все ясно, спасибо!
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365256
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тута по моей части проблема.

"модель самолета-авиакомпания-расписание"
И 10200 записей.
База не нормализована.

Иначе бы было - около десяти моделей, около десяти авиакомпаний. Не более 24*60 временных отметок в таблице "Расписание"

К сожалению, нужный результат не обозначен и более четких рекомендаций дать не могу. Кроме одной. Ни одна эффективная база данных не может быть создана по хелпу и визардами. Матчасть надо учить.
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365269
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Cat2
Ну, то что база может быть ненормализована - и хрен бы с ним (хотя потом и аукнется)
Но импорт данных делать через 10000 запросов - это надо быть семи пядей во лбу. Двумя руками за. Интересно, в какой книжке такое написано?
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365545
Roalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли проехать 2 квартала по городу на машине?
Можно.
>>Только много геморроя для неподготовленного.
И учится никто не будет ради 2 кварталов.
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32365651
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я сразу предлагал, если уж настолько в лом кодить, - подцепиться аксом к любому серверу, совместимому с диалектом того дампа, каковой наш крендель намеревается поднять на аксе. (хоть MSDE поставь и луди). А в акс втягивать результат просто импортом таблиц. Причем исполнить SQL дампа можно и не имея приемлемой оболочки для сервера - из окна запросов акса, описав его как запрос к серверу и правильно указав строку подключения. Ну не занимается Акс разбором многокомандных скриптов. Для работы оно ему не надо. Все можно организовать либо из VB кода, либо (для ленивых) из макроса. Хотя возможность действительно была бы красивой. Представьте: 2 дополнительных зарезервированных слова BEGIN и END; И куча SQL кода, исполняемая как одна транзакция. :0)


но еще раз повторяю, синтаксис дампа обычно много беднее того, что допустимо с точки зрения SQL. Разбиралку простенькую написать не трудно. Правда читать по строке, думается, не получится. Ибо одиночная инструкция может быть и многострочной. И, что досаднее, скрипт может содержать и строки комментария. Отсылать их на исполнение не в кайф. Правда для этого есть ON ERROR RESUME NEXT + фиксация результатов в логе. (если опять таки в лом писать "интеллектуальный" разбор скрипта - "задачка то разовая")

например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Compare Database
Option Explicit

Const LOGFILE =  "ExpLog.txt" 
Dim nF As Long

Public Sub logPrint(Optional sOut As String = "")
Dim nL As Long, sFileName As String
    nL = FreeFile
    sFileName = CurrentDbPath() & LOGFILE
    Open sFileName For Append As #nL
    Print #nL, Now()
    Print #nL, sOut
    Close #nL
End Sub

и, для локальной бд, вместо EXECUTE :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Sub ExecLocalSQL(strSQL As String)
Dim CurDB As Database
    Set CurDB = CurrentDb()
    CurDB.Execute (strSQL)
    logPrint strSQL
    logPrint  "  "  &  "Ok ="  & ( 0  = Err.Number)
    CurDB.Close
    Set CurDB = Nothing
End Sub


PS: в некоторых случаях бывает очень удобен обычный MS-WORD :0) - в нем есть эдакие массовые замены, в т.ч. по вхождению "возвратов кареток" и т.п. В нем написать "разбор" скрипта вообще можно использовав фиксатор макросов + немного изобретательности. А можно просто подготовить скрипт к разборке недоделанной "машинкой". Например выбросив комментарии.
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32389638
Энт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Воевал с такой же проблемой несколько дней. Думал уж, что не судьба, и прийдется самому писать такую программулину.

Однако все же ЕСТЬ ТАКАЯ ПРОГРАММА!!!

Называется WinSQL 4.x, free (бесплатный вариант).
http://www.synametrics.com/SynametricsWebApp/WinSQL.jsp

Спокойно, после некоторых переделок SQL scripta (подгонка под Access) выполнила все мои около 50 DDL-инструкций ЗА ОДИН ПРИСЕСТ, в смысле, из одного SQL-файла со скриптом.

Я разделил отдельные операторы инструкцией GO, и все прошло.

.mdb - файл создался правильно.

Успехов!
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32389707
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДОМОХОЗЯЙКИ
такую задачу решают в 3 притопа
1) Сохраняют свои любимые 10200 строк в виде текстового файла с расширением .txt
2) Жмут Файл->Внешние данные ->Связь(или импорт по желанию).
3) пишут 1 запрос типа INSERT INTO ... SELECT FROM

СТУДЕНТЫ
такую задачу решают 1-й строчкой кода, нажав F1 и поискав по слову TransferText

Удачи
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32389716
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Victosha:
Это файл с селектами, а не с данными.
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32389734
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2 Victosha:
Это файл с селектами, а не с данными.

То есть с INSERT-ами... Insert там как будто по сценарию...

Для ДОМОХОЗЯЙКИ ЭТО неважно. Для ДОМОХОЗЯЙКИ БЕДА, если после каждого INSERT-а GO в следующей строке стоит.
А Insert-ы ДОМОХОЗЯЙКА мастером импорта/связи пометит, как неимпортируемые столбцы. (А ежели что, так и за Excel не вредно подержаться...)

Хотя совет GLOBAL FIND/REPLACE применить не выглядит чудовищно.
-)
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32389752
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Типа, похерить все названия полей, оставить одни данные - и куда введется, туда введется?
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32407114
Zimbabwe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем, кто удивлен такому способу залитию данных в свой галимый акс - это действительно самый популярный способ Dump->Restore или просто импорта-экспорта в таких (!!!!) и я не боюсь этого слова великих СУБД как Oracle, PostgreSQL, mySQL

а от того как приходится делать импорт данных в аксесс - блевать тянет
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32407128
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блевать в другом месте
...
Рейтинг: 0 / 0
Как в Access выполнить сразу МНОГО SQL запросов ???
    #32407533
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Zimbabwe

из "великих SQL" данные в Акс лить надо прямым подключением + запросами на добавление, а не из дампа. На худой конец предлагалась разбиралка в 3 строки, которой я с успехом раскидывал дамп данных PostreSQL (Sql-ный, а не с разделителями) по готовой структуре Акс (кстати, и в прилинкованные таблицы Postgre тоже - из интереса. Но там-то этого не надо - запускаете весь дамп в запрос (Аксеса) к серверу. Сервер вам и разберет.)

Есть разные приблуды для разных целей. И Акс это средство быстрой разработки, а не ссыкуль сервер.
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как в Access выполнить сразу МНОГО SQL запросов ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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