|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
Здравствуйте. В Аксессе 97 добавлял одну запись запросом без исходной таблицы (см. рис), обращаяся к этому запросу из ВБА Код: vbnet 1.
В Акс.2010 требует исходную таблицу. Единственное в чем отличие (от примера в Акс.97) - это в данном случае таблица, в которую требуется добавить запись - является источником данных активной формы . После анализа этой таблицы, формируютя значения полей новой записи. Ввиду того, что значения полей новой записи последовательно формируются пользователем с помощью запросов, которые запрещают ввести несовместимые данные нельзя (или трудно) открыть доступ к новой запси в форме и заполнить ее. Подскажите, действительно ли появилось ограничение? Или что-то я забыл? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 14:18 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
Игорь С, вероятно в режиме SQL ваш запрос выглядит так: Код: plsql 1.
Если А97 это и позволял, то это было отклонение от правил (была другая версия JET). Для этой цели существует конструкция вида: Код: plsql 1.
Но что вам мешает в форме выполнить 4 функции - получить в переменных 4 значения - добавить запись в Recordset формы? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 14:39 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
или даже так Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 16:06 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
sdku, а если Null нужно вставить вместо любого значения? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 16:27 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
Панург, если Null-фиг сработает или обеспечить доступ к кнопке после заполнения всех полей или менять текст запроса в зависимости от заполнения полей или использовать RS короче есть варианты(лично я использовал бы рекордсет) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 17:25 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
Кривцов Анатолий Но что вам мешает в форме выполнить 4 функции - получить в переменных 4 значения - добавить запись в Recordset формы? Вот спасибо. Я и сам подумал про рекордсет. Но прочему в Рекордсет формы? Может быть прямо в Рекордсет таблицы (открыть и добавить)? (Ведь Рекордсет формы построен на достаточно сложном запросе и там может случиться что-нибуть непредвиденное ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 20:47 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
Братцы! На домашнем компьютере, тот же запрос, такой же Аксесс 2010 (из того же файла) сработал. Вот SQL (почищен от проверок на Нулл). Код: plsql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2019, 21:07 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
Игорь С, всё же правильно писать данный запрос так Код: sql 1.
Оба списка (полей и значений) должны быть симметричны и заключены в скобки. Я предпочитаю такие запросы делать с параметрами - не надо парится с разными знаками (ковычками, диезами, запятыми-точками) и можно при надобности присваивать Null. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 04:46 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс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, 10:45 |
|
Запрос на добавление одной записи без исходной таблицы Аксесс2010
|
|||
---|---|---|---|
#18+
Кривцов Анатолий...Поэтому через Рекордсет (к тому же пустой) - лучшая альтернатива... sdku....короче есть варианты(лично я использовал бы рекордсет) рекордсет-наше фсё ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 11:40 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1610677]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
60ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 165ms |
0 / 0 |