2015-10-29 2 views
0

Извините, если есть простое решение. У меня недостаточно навыков доступа ... но я пытаюсь учиться. У меня есть это решение в excel, но я искал более надежное долгосрочное решение и думал, что Access может помочь.Добавить результат запроса Доступ 2010

У меня есть база данных Microsoft 2010 Access для хранения ингредиентов для мыла. Моя цель с этой базой данных - позволить моей жене вводить ингредиенты для мыла, рецепты для нового мыла, и это скажет ей, сколько каждой партии мыла стоит, а затем и далее, сколько стоит каждый стержень мыла. У меня есть таблица (ингредиенты), где она может вводить все ингредиенты, которые она покупает, измерение этих предметов (фунтов, унций) и сколько они стоят. Я хочу автоматически рассчитать эти килограммы и унции в унции, чтобы облегчить расчет стоимости. Я придумал несколько решений, которые дают мне ответ, но я не смог найти способ сохранить эти результаты.

Во-первых, я создал событие After Update, которое войдет в TOTAL OUNCES в текстовое поле после того, как она выйдет из окна унций. Проблема заключается в том, что TOTAL OUNCES не хранится нигде, и все записи таблицы показывают последнее обновленное значение.

Я попытался создать запрос, который отлично работает, но опять же, я не смог добавить эти результаты в таблицу ингредиентов. Последняя итерация моего запроса выглядит так. У меня есть поле в таблице Ingredients (OuncesConverted), которое я хочу сохранить эту информацию.

INSERT INTO Ingredient (OuncesConverted) 
SELECT 16*[Pounds]+[Ounces] AS OuncesConv 
FROM Ingredient; 

При выполнении этого запроса возникает следующая ошибка.

Microsoft Access не может добавлять все записи в запрос добавления. Microsoft Access установил 0 полей в Null из-за отказа преобразования типа и не добавил 0 записей в таблицу из-за нарушений ключа, 0 записей из-за нарушений блокировки и 9 записей из-за нарушений правила проверки. Вы все равно хотите запустить запрос на действие? Чтобы игнорировать ошибки и выполнить запрос, нажмите «Да». Для объяснения причин нарушений нажмите «Справка».

Когда я нажимаю «да», ничего не происходит.

Любая помощь очень ценится. Я, наверное, переусердствовал, что делаю, когда не знаю программы.

ответ

2

Вы не должны вставить, ни обновления, просто выберите:

SELECT 
    *, (16 * [Pounds] + [Ounces]) As OuncesConverted 
FROM 
    Ingredient 

Это заменит поле OuncesConverted который можно удалить из таблицы. Затем используйте этот запрос в качестве источника для формы.

+0

Так что я изначально сделал это, и он работает, но как мне добраться до формы, соответствующей правильному ингредиенту? – MarkDownMark

+0

Привязать текстовое поле к полю 'OuncesConverted'. – Gustav

+0

Густав, спасибо за вашу помощь, но я попытался это сделать, и он продолжает давать мне ошибку ##AME ?. Я должен предположить, что из-за этого не знаю, какой ингредиент нужно связать с запросом. Верный? Как связать запрос «OuncesConverted» с ингредиентом, для которого он был преобразован? Извините ... Я все еще новичок в этом доступе. – MarkDownMark

Смежные вопросы