powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Insert into
15 сообщений из 15, страница 1 из 1
Insert into
    #39250919
AndKya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите пожалуйста, есть в модуле формы вот такая строчка:
insert into tabl ([nn],[Naim],[art]) select [nn],[Naim],[art] from ostfildataz;"
где ostfildataz - это запрос с параметрами. При выполнении этой строки выскакивает сообщение "Слишком мало параметров. Требуется 2.
А если я выполняю запрос на добавление записей, то такого сообщения не возникает. В чем проблема? Как обойти эти параметры?
...
Рейтинг: 0 / 0
Insert into
    #39250921
AndKya,

insert into
vs
запрос на добавление

Вычеркните лишнее...
.
...
Рейтинг: 0 / 0
Insert into
    #39250938
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо в запросе ostfildataz есть ссылки на поля формы. И выполняя запрос методами DAO, вы получите такое сообщение.
Попробуйте выполнить через RunSQL
Код: vbnet
1.
docmd.runsql "insert into tabl ([nn],[Naim],[art]) select [nn],[Naim],[art] from ostfildata"
...
Рейтинг: 0 / 0
Insert into
    #39250941
Mina Anna Mazzini
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_worldВидимо в запросе ostfildataz есть ссылки на поля формы. И выполняя запрос методами DAO, вы получите такое сообщение.
Попробуйте выполнить через RunSQL
Код: vbnet
1.
docmd.runsql "insert into tabl ([nn],[Naim],[art]) select [nn],[Naim],[art] from ostfildata"



mds_world, а можно испросить авторский мастер-класс на данном, конкретном примере?

Без малейшей издевки и прикола. Просто до боли интересны и ход твоей мысли, и мотивация на этот ход, из этой убогой и невнятной вводной.
.
...
Рейтинг: 0 / 0
Insert into
    #39250948
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС пишет, что ошибка в модуле формы. А когда "выполняет запрос", то ошибки нет. Предположил, что под "выполнением запроса" автор понимает открытие сохраненного запроса из списка запросов. Вот такие рассуждения...
...
Рейтинг: 0 / 0
Insert into
    #39250955
Mina Anna Mazzini
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world, снкс.

Я не успел отправить вот это сообщение:
Mina Anna Mazzinimds_world,

чутка конкретизирую. Вот это насторожило:
"Видимо в запросе ostfildataz есть ссылки на поля формы . "

Я мало-мало поплыл... смутился... озадачился... что ты имел ввиду?
Разъясни пожалуйста про запросы, оперирующие полями неких форм.
.

Это тоже непонятно... Мне, по крайней мере...
Стыдно, но, увы, это так...
Я ведь еще только учусь...
.
...
Рейтинг: 0 / 0
Insert into
    #39250958
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если выполнить запрос в вба (currentdb.execute) или открыть рекордсет на запросе в котором есть ссылки на поля форм, то будет сообщение об ошибке, поскольку выполняется методами DAO или ADO, которые ничего не знают о формах access. А если применить чисто аксовские методы (runsql, openquery), то эти методы прекрасно понимают ссылки на поля форм и выполняют их.
Есть еще даошный метод Execute (или OpenRecordset) от QueryDefs, но в котором можно явно задать параметры в выполнить запрос или создать рекордсет на запросе с параметрами.
...
Рейтинг: 0 / 0
Insert into
    #39250959
Mina Anna Mazzini
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,

Примерно понятно. Но, увы, вопрос остался открытым. Ты снова использовал:
"открыть рекордсет на запросе в котором есть ссылки на поля форм "
Я ни разу такого не видел.

У меня разрыв шаблона просто идет. Как в запросе можно сослаться на поля формы? Я даже синтаксис не могу себе представить. Может я уже набрался под горло, но нет...

Ведь форма - суть представление данных. Она вторична, дочерня к запросу по определению. У формы у самой в основе лежит запрос (опускаем внутрениие сервисы Акса). Запрос к таблице.

Ты запутал меня...
.
...
Рейтинг: 0 / 0
Insert into
    #39250962
Mina Anna Mazzini
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясню.

Может и можно в запросе обратиться к полям формы. Я не знаю, но, пусть есть такин механизмы.
Но - зачем? ПУРКУА?!

У формы есть источник данных - тот же запрос. На ъера обращаться к полям формы, черпающим данные из запроса, вместо обращения непосредственно к полям запроса?!!
.
...
Рейтинг: 0 / 0
Insert into
    #39250963
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как вариант:
Код: sql
1.
2.
Select * from Таблица
where id=Forms!ИмяФормы!ИмяПоля
...
Рейтинг: 0 / 0
Insert into
    #39250966
Mina Anna Mazzini
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,

М-м-да...
Антересно дефки пляшут. По четыре штуки в ряд...

- Век живи - век учись.
Сказал поручик Ржевский, перекладывая от греха серебрянный портсигар из кармана галифе в нагрудный.


Но зачем? Почему не к запросу-источнику?
Ведь форма, по парадигме своей, если и источник, то только новых данных, еще нигде не учтенных. По отношению к существкющим данным - она лишь последняя миля перед выводом на экран.

Я понимаю, что я тебя подзае.., подзаё.., подзая...

Обобщу последний вопрос. В какой задаче может потребоваться предпочтительно обращаться к вторичному, третичному и т.д. источнику данных, вместо первичного?
.
...
Рейтинг: 0 / 0
Insert into
    #39250967
Mina Anna Mazzini
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_worldНу как вариант:
Код: sql
1.
2.
Select * from Таблица
where id=Forms!ИмяФормы!ИмяПоля



Перечитал. И щаз только вкурил.
У меня планка тяжело перекидывается :(

У меня все это реализуется в коде. НИКОГДА, подчеркиваю, _НИКОГДА_ я не передавал значения контролов напрямую в такие ответственные участки, как строка запроса. Только через пременные, промежуточные ф-ции и т.п..

мдс, спасибо что уделил мне время и скузи за мою неповоротливость и закостенелость :)
.
...
Рейтинг: 0 / 0
Insert into
    #39251035
Код: vbnet
1.
2.
3.
4.
5.
With  CreateQuery("","insert into tabl ([nn],[Naim],[art]) select [nn],[Naim],[art] from ostfildataz")
  .Parameters(0).Value = ... 
  .Parameters(1).Value = ... 
  .Execute
End With

Если параметры, это ссылки на поля открытой формы, то можно так:
Код: vbnet
1.
2.
  .Parameters(0).Value = Eval(.Parameters(0).Name) 
  .Parameters(1).Value = Eval(.Parameters(1).Name)
...
Рейтинг: 0 / 0
Insert into
    #39251558
AndKya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за ответы. Анатолию (Киев) персонально. Общался с вами на am.rusimport.ru.
Cкажите пожалуйста, а docmd.runsql в access 97 будет работать?
...
Рейтинг: 0 / 0
Insert into
    #39251720
AndKyadocmd.runsql в access 97 будет работать? Будет. Но там также прийдется отключать/включать сообщения, поэтому не рекомендую. Лучше использовать CurrentDB.Execute
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Insert into
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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