Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
28.05.2019, 14:18
|
|||
---|---|---|---|
|
|||
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
Здравствуйте. В Аксессе 97 добавлял одну запись запросом без исходной таблицы (см. рис), обращаяся к этому запросу из ВБА Код: vbnet 1.
В Акс.2010 требует исходную таблицу. Единственное в чем отличие (от примера в Акс.97) - это в данном случае таблица, в которую требуется добавить запись - является источником данных активной формы . После анализа этой таблицы, формируютя значения полей новой записи. Ввиду того, что значения полей новой записи последовательно формируются пользователем с помощью запросов, которые запрещают ввести несовместимые данные нельзя (или трудно) открыть доступ к новой запси в форме и заполнить ее. Подскажите, действительно ли появилось ограничение? Или что-то я забыл? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2019, 14:39
|
|||
---|---|---|---|
|
|||
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
Игорь С, вероятно в режиме SQL ваш запрос выглядит так: Код: plsql 1.
Если А97 это и позволял, то это было отклонение от правил (была другая версия JET). Для этой цели существует конструкция вида: Код: plsql 1.
Но что вам мешает в форме выполнить 4 функции - получить в переменных 4 значения - добавить запись в Recordset формы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2019, 16:06
|
|||
---|---|---|---|
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
или даже так Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2019, 16:27
|
|||
---|---|---|---|
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
sdku, а если Null нужно вставить вместо любого значения? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2019, 17:25
|
|||
---|---|---|---|
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
Панург, если Null-фиг сработает или обеспечить доступ к кнопке после заполнения всех полей или менять текст запроса в зависимости от заполнения полей или использовать RS короче есть варианты(лично я использовал бы рекордсет) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2019, 20:47
|
|||
---|---|---|---|
|
|||
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
Кривцов Анатолий Но что вам мешает в форме выполнить 4 функции - получить в переменных 4 значения - добавить запись в Recordset формы? Вот спасибо. Я и сам подумал про рекордсет. Но прочему в Рекордсет формы? Может быть прямо в Рекордсет таблицы (открыть и добавить)? (Ведь Рекордсет формы построен на достаточно сложном запросе и там может случиться что-нибуть непредвиденное ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.05.2019, 21:07
|
|||
---|---|---|---|
|
|||
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
Братцы! На домашнем компьютере, тот же запрос, такой же Аксесс 2010 (из того же файла) сработал. Вот SQL (почищен от проверок на Нулл). Код: plsql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2019, 04:46
|
|||
---|---|---|---|
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
Игорь С, всё же правильно писать данный запрос так Код: sql 1.
Оба списка (полей и значений) должны быть симметричны и заключены в скобки. Я предпочитаю такие запросы делать с параметрами - не надо парится с разными знаками (ковычками, диезами, запятыми-точками) и можно при надобности присваивать Null. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2019, 10:45
|
|||
---|---|---|---|
|
|||
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
Игорь СНо прочему в Рекордсет формы? Может быть прямо в Рекордсет таблицы (открыть и добавить)? (Ведь Рекордсет формы построен на достаточно сложном запросе и там может случиться что-нибуть непредвиденное ...) Если Рекордсет формы позволяет добавлять записи, то новая запись сразу видна в форме, Requery не потребуется. Но можно и в Рекордсет таблицы. В любом случае это проще и надежнее чем запрос типа Insert...Values. sdku или даже так CurrentDb.Execute "INSERT INTO tbl(ctl,ctl1,ctl2) VALUES ('" & Me.полеТекст & "'," & Me.полеЧисло & ",'" & Me.полеДата & "')" В моем примере функции вызываются в самом запросе и при правильном типе возвращаемого значения все работает. А в вашем примере значения подставляются в текст запроса и тут начинается коррида - формат даты, "." - десятичный разделитель, вероятные кавычки внутри текста и Null. Поэтому через Рекордсет (к тому же пустой) - лучшая альтернатива. ЗЫ. Кстати, в запрос можно вставлять и Null как слово "Null", например: ... & NZ(Me.полеТекст,"Null") & ... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2019, 11:40
|
|||
---|---|---|---|
Запрос на добавление одной записи без исходной таблицы Аксесс2010 |
|||
#18+
Кривцов Анатолий...Поэтому через Рекордсет (к тому же пустой) - лучшая альтернатива... sdku....короче есть варианты(лично я использовал бы рекордсет) рекордсет-наше фсё ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&tablet=1&tid=1610677]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 136ms |
0 / 0 |