|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.09.2012, 15:24 | #41 |
Пользователь
Регистрация: 01.09.2012
Сообщений: 22
|
Да. В пустую таблицу main запрос
INSERT INTO main ( value1, value2, value5, value4, value3 ) SELECT 'тест' AS value1, #9/1/2012# AS value2, 2 AS value5, (SELECT t1.ID FROM t1 WHERE t1.value2 = True), Sum (main.value5) + 1 FROM main WHERE (((main.value2)=#9/1/2012#)); добавляет запись. Но в выражении Sum (main.value5) + 1 - не плюсуется единица для первой записи за дату. Вторая запись Единицу плюсует. Как приплюсовать значение к сумме пустой выборки?! Значение по умолчанию в виде 1, исчезает после запроса. Последний раз редактировалось anton__k; 02.09.2012 в 15:28. |
02.09.2012, 15:27 | #42 | |
Пользователь
Регистрация: 01.09.2012
Сообщений: 22
|
Цитата:
|
|
02.09.2012, 15:32 | #43 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
02.09.2012, 15:37 | #44 |
Пользователь
Регистрация: 01.09.2012
Сообщений: 22
|
Проверьте.
По единице идеи у кого-нибудь есть?) Но в выражении Sum (main.value5) + 1 - не плюсуется единица для первой записи за дату. Вторая запись Единицу плюсует. |
02.09.2012, 15:51 | #45 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
не плюсуется потому как: что-то + null = null вот так должна - Nz(Sum(main.value5), 0) + 1 |
|
02.09.2012, 15:52 | #46 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Но такие выражения уже повод на сомнение в правильности архитектуры и/или действия.
|
02.09.2012, 16:05 | #47 | |
Пользователь
Регистрация: 01.09.2012
Сообщений: 22
|
Цитата:
Значение, записываемое в виде суммы значений другого поля в моей задаче играет существенное значение. Окончательный вариант тестового запроса: Код:
Всем ОГРОМНОЕ спасибо. |
|
02.09.2012, 16:11 | #48 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
02.09.2012, 16:19 | #49 |
Пользователь
Регистрация: 01.09.2012
Сообщений: 22
|
Грубо говоря:
В целевую базу из приложения передаётся набор значений. Часть значений - ссылки (ID) на записи во вспомогательных таблицах (некоторые известны, некоторые нет). Соответственно те которые не известны (в данном случае одно) выдергивается SELECT'ом. Затем на основании одной записи в БД формируется документ word (от одного до нескольких) с уникальным порядковым номером. Каждый день нумерация начинается с 1. В нашем случае значение получаемое в результате SUM - это первый порядковый номер для документа (последующие номера идут как +1 в зависимости от кол-ва формируемых документов, количество - это суммируемое поле). Соответственно номер первого документа для первой записи в день = 1. Номер первого документа в последующих записях = сумме количества документов в предыдущих записях +1. Как-то так. Последний раз редактировалось anton__k; 02.09.2012 в 16:23. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос на добавление | Slame | Помощь студентам | 4 | 20.11.2011 23:01 |
Запрос на добавление | Slame | Microsoft Office Access | 3 | 15.11.2011 11:24 |
Запрос на добавление | Insightful | Microsoft Office Access | 9 | 30.04.2010 18:17 |
Добавление (запрос) | warshadow | Microsoft Office Access | 8 | 23.10.2009 01:15 |
запрос на добавление | William | Microsoft Office Access | 3 | 13.07.2007 22:00 |