powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
22 сообщений из 22, страница 1 из 1
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445891
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub ОбновитьКлассификатор()
Dim s

s = "SELECT first(КодОтдела), first(НаименованиеОтдела), first(КодГруппы), first(НаименованиеГруппы), first(КодПодгруппы), first(НаименованиеПодгруппы) FROM " & _
    "(SELECT КодОтдела, НаименованиеОтдела, КодГруппы, НаименованиеГруппы, КодПодгруппы, НаименованиеПодгруппы " & _
    "FROM Классификатор " & _
    "Union " & _
    "SELECT Classif.Поле1, Classif.Поле2, Classif.Поле3, Classif.Поле4, Classif.Поле5, Classif.Поле6 " & _
    "FROM Classif) WHERE NOT КодПодгруппы IS NULL " & _
    "Group by КодПодгруппы;"

CurrentDb.Execute s
MsgBox ("Импорт успешно завершен")

End Sub
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445892
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача просто обновить справочник (внести новые значения в случае их наличия)
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445903
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Runtime Error 3065 "Cannot execute a select query"

А Вы не пробовали прочитать сообщение об ошибке? ну и перевести его...
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445904
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но здесь только выборка.
Где же INTO ?
К тому же SELECT INTO создает новую таблицу, а не добавляет в существующую.
Для добавления нужно использовать INSERT INTO.
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445911
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Мысль была просто объединить и уникальные отобрать.
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445919
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну нельзя запрос SELECT выполнять через EXECUTE! используйте OpenRecordset.
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445925
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Истина где-то рядом__Michelle,

Мысль была просто объединить и уникальные отобрать.Как-то маловато существительных.)))
Что именно объединить?
Что должно быть уникальным?
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445935
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

я в SQL совсем недавно, в VBA b Excel все хватало, пока не устроился в другую организацию с большими массивами данных (по несколько млн. строк). Приходится осваивать...

Задача очень простая - по нажатию кнопки должен сработать алгоритм:

1. С выбранным файлом Excel сделать некоторые процедуры - чтобы привести к форме таблицы для распознавания её SQL методами (в т.ч. удаление различных столбцов и строк, проверка на соответствие задачам выбранного файла и т.д.)

2. Данные с экселя перегнать в Access, обновить справочники в случае наличия новых позиций и т.п.
Вот на обновлении я и тормознул.
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445945
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Истина где-то рядом,

Вот про обновление и расскажите, пожалуйста.
Какие таблицы участвуют, как выявляются новые записи, куда они должны отправиться.
Поконкретнее.
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445952
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Самый простой пример хочу решить
Таблица классификатора:
-КодОтдела
-НаименованиеОтдела
-Кодгруппы
-НаименованиеГруппы
-КодПодгруппы
-НаименованиеПодгруппы

Одна таблица у меня в БазеДанных - "Класссификатор"
Вторая берется из сводки - "Classif"

Вот из сводки должны лечь в основную таблицу данные где условие
Класссификатор.НаименованиеПодгруппы<>Classif.НаименованиеПодгруппы

Код: sql
1.
2.
3.
INSERT INTO Классификатор (КодОтдела, НаименованиеОтдела, КодГруппы, НаименованиеГруппы, КодПодгруппы, НаименованиеПодгруппы)
SELECT Classif.Поле1, Classif.Поле2, Classif.Поле3, Classif.Поле4, Classif.Поле5, Classif.Поле6  FROM Classif
WHERE Classif.Поле5 NOT IN (SELECT КодПодгруппы FROM Классификатор)



Как этот код приспособить к VBA - вот тут у меня стопор (
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445955
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim s
Dim rs As Recordset

s = "SELECT Classif.&#207;&#238;&#235;&#229;1, Classif.&#207;&#238;&#235;&#229;2, Classif.&#207;&#238;&#235;&#229;3, Classif.&#207;&#238;&#235;&#229;4, Classif.&#207;&#238;&#235;&#229;5, Classif.&#207;&#238;&#235;&#229;6  FROM Classif " & _
    "WHERE Classif.&#207;&#238;&#235;&#229;5 NOT IN (SELECT &#202;&#238;&#228;&#207;&#238;&#228;&#227;&#240;&#243;&#239;&#239;&#251; FROM &#202;&#235;&#224;&#241;&#241;&#232;&#244;&#232;&#234;&#224;&#242;&#238;&#240;)"
Set rs = CurrentDb.OpenRecordset(s)



Загвоздка осталась в методах данные Recordseta залить в базу
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445968
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim s
Dim rs As Recordset

s = "SELECT Classif.Поле1, Classif.Поле2, Classif.Поле3, Classif.Поле4, Classif.Поле5, Classif.Поле6  FROM Classif " & _
    "WHERE Classif.Поле5 NOT IN (SELECT КодПодгруппы FROM Классификатор)"
Set rs = CurrentDb.OpenRecordset(s)


исправил
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445971
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а так работает?

Код: sql
1.
2.
3.
 CurrentDb.Execute "INSERT INTO Классификатор (КодОтдела, НаименованиеОтдела, КодГруппы, НаименованиеГруппы, КодПодгруппы, НаименованиеПодгруппы)
SELECT Classif.Поле1, Classif.Поле2, Classif.Поле3, Classif.Поле4, Classif.Поле5, Classif.Поле6  FROM Classif
WHERE Classif.Поле5 NOT IN (SELECT КодПодгруппы FROM Классификатор)" 
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445975
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за магия? ))
РАБОТАЕТ
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445979
Истина где-то рядомВот из сводки должны лечь в основную таблицу данные где условие
Класссификатор.НаименованиеПодгруппы<>Classif.НаименованиеПодгруппы

Код: sql
1.
2.
3.
INSERT INTO Классификатор (КодОтдела, НаименованиеОтдела, КодГруппы, НаименованиеГруппы, КодПодгруппы, НаименованиеПодгруппы)
SELECT Classif.Поле1, Classif.Поле2, Classif.Поле3, Classif.Поле4, Classif.Поле5, Classif.Поле6  FROM Classif
WHERE Classif.Поле5 NOT IN (SELECT КодПодгруппы FROM Классификатор)



Как этот код приспособить к VBA - вот тут у меня стопор ( Вот как раз такой запрос и выполняется методом CurrentDb.Execute
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445982
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Истина где-то рядом
Код: sql
1.
2.
3.
INSERT INTO Классификатор (КодОтдела, НаименованиеОтдела, КодГруппы, НаименованиеГруппы, КодПодгруппы, НаименованиеПодгруппы)
SELECT Classif.Поле1, Classif.Поле2, Classif.Поле3, Classif.Поле4, Classif.Поле5, Classif.Поле6  FROM Classif
WHERE Classif.Поле5 NOT IN (SELECT КодПодгруппы FROM Классификатор)



Как этот код приспособить к VBA - вот тут у меня стопор (Да так и делать, как в стартовом посте Вы же сами и показали.
Только там запрос был другой, неподходящий для этой цели.
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim S as String
S = "INSERT INTO Классификатор " & _
    "(КодОтдела, НаименованиеОтдела, КодГруппы, НаименованиеГруппы, КодПодгруппы, НаименованиеПодгруппы) " & _
    "SELECT Поле1, Поле2, Поле3, Поле4, Поле5, Поле6  FROM Classif " & _
    "WHERE Classif.Поле5 NOT IN (SELECT КодПодгруппы FROM Классификатор)"
CurrentDb.Execute S

И еще.
WHERE Classif.Поле5 NOT IN будет работать медленно,
лучше искать новые значения через LEFT JOIN.
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445983
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),

Т.е. CurrentDb.Execute не может работать с Select - чтобы его заставить нужно что-нибудь добавить в таблицу))

я почти усвоил
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445987
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Истина где-то рядом...чтобы его заставить...Все бы вам заставлять...
Инструментарий нужно освоить, и все само получится.
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39445994
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Дети не дают в полном объеме изучить, а кормить их надо.

Спасибо
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39446414
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Истина где-то рядом,

книжки читайте
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39446600
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222,

книжки читаю, но нет такой книжки, чтобы были описаны все тонкости. Практика приносит больше знаний. Это как пример из жизни: английский в школе учил 7 лет, в институте 5 лет (вплоть до уровня бизнес-инглиш). Но по прошествию многих лет - английским свободно не владею. А есть одноклассники, которые в школьные годы ездили в британию - приехали и как носители языка саксов.
...
Рейтинг: 0 / 0
Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
    #39446657
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Истина где-то рядом,

да судя по вопросам пока это не тонкости - это основы
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, где ошибка? Этот запрос в приложении Access выполняется, но в VBA ошибка 3065
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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