Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.12.2014
Сообщений: 36
1

Как вызывать форму для редактирования записей и как задать нулевое значение полю

03.03.2017, 18:38. Показов 1397. Ответов 8

Добрый день уважаемые форумчане. Прошу вас помочь разобраться в следующей проблеме.

1. Есть таблица номенклатуры, есть ее форма. Так же есть форма для добавления товара.
Необходимо реализовать : По двойному нажатию на запись (наименование) товара в форме Номенклатура, открывалась бы форма (добавления товара) но для изменения данных. Т.е. с теми же данными которые уже записаны. Так же и при копировании, выбрал запись - нажал "КОПИРОВАТЬ" и открывается опять та же форма для редактирования скопированных данных.

Пытался сделать это с помощью макроса, но при нажатии на любой записи открывается для редактирования все равно последняя...

2. Есть таблица, с ее помощью реализован приход товара. Необходимо, создать запрос который бы присваивал заданное числовое значение в новом поле (мне необходимо "0"), по всем старым записям. Я думал например, по нажатию кнопки выскакивает окно "выберите поле", после "задайте числовое значение" далее "присвоить" и все. Т.к. номенклатура будет только увеличиваться то очень нуждаюсь в автоматизации процесса))

Я прикрепил кусок базы, очень буду вам признателен за помощь. По 2му пункту можно показать пример на той таблице которая в этом куске базы.

Заранее всем огромное СПАСИБО!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Как вызывать форму для редактирования записей и как задать нулевое значение полю  
Вложения
Тип файла: 7z BD_22.7z (655.9 Кб, 11 просмотров)
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2017, 18:38
Ответы с готовыми решениями:

Как задать значение полю со списком из другой формы
Есть 2 формы - главная (форма1) и подчиненная (форма2). В главной - поле со списком фамилий , при...

Как задать ограничение по количеству вводимых в форму записей?
Подскажите пожалуйста, как можно задать ограничение по количеству вводимых в форму записей (не...

Создать форму для редактирования записей
Доброго времени суток. У меня есть приложение где на главной форме присутствуют TreeView и...

Как открыть форму для редактирования
Всем привет. Начну с того что никогда не делал формы в акцессе, но тут такая задачка, что надо...

8
8181 / 4045 / 919
Регистрация: 05.10.2016
Сообщений: 11,170
Записей в блоге: 1
04.03.2017, 09:28 2
Первый пункт отрабатывает (насколько я понял задачку)
По второму ничего не понятно.
1
Вложения
Тип файла: zip BD_23 (Eugene-LS).zip (598.0 Кб, 14 просмотров)
0 / 0 / 0
Регистрация: 05.12.2014
Сообщений: 36
04.03.2017, 10:05  [ТС] 3
Спасибо огромное я уже думал что никогда этого не будет))
Во втором пункте я имею в виду, что приход товара в моей базе реализован с помощью добавлении поля (название поля - у мня это дата прихода), и проставления напротив нового товара количества (числовое поле) как на скриншоте.
В данном случае мне необходимо, чтобы после добавления нового поля в таблице (числового), с помощью обработки можно было поставить нули напротив всех записей. Как на скрине, только сейчас я делаю это в ручную, проставляю на против каждой.
0
8181 / 4045 / 919
Регистрация: 05.10.2016
Сообщений: 11,170
Записей в блоге: 1
04.03.2017, 10:17 4
Лучший ответ Сообщение было отмечено spec1a1or как решение

Решение

Цитата Сообщение от spec1a1or Посмотреть сообщение
можно было поставить нули напротив всех записей.
Не сильно я понял задачку, но думаю что должно быть нечто подобное:
Visual Basic
1
2
3
4
5
6
Dim strSQL As String
 
'В таблице "Товары" ставим везде 0 (ноль) в поле "12"
    strSQL = "UPDATE Товары SET [12]=0"
'Выполнение запроса
    CurrentDb.Execute strSQL
1
шапоклякистка 8-го дня
3665 / 2225 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
04.03.2017, 10:19 5
spec1a1or, смотрите: вы пытаетесь в аксес применять методы ведения учета, характерные скорее для экселя. Если вам удобен именно такой метод - мне кажется, зря вы отказались от электронных таблиц. Таким методом удобнее вести учет в экселе.

Аксес же заточен под совсем другой подход: делается таблица наименований (безо всяких приходов-расходов в ней), таблица документов (в ней хранятся такие атрибуты приходных и расхрдных накладных, как номер, дата, название контрагента, прочие реквизиты, общая сумма для контроля) и таблица "табличной части" накладных - в ней перечисляется, в какой накладной какого именно товара пришло/ушло сколько и по какой цене.

Поэтому приход, как и расход, не делается путем заполнения цифрами столбцов в таблице наименований. А создается документ и в него добавляются строки: название - количество, название - количество и т.д.

А ваша табличка с названиями и количествами получается запросом. Не для ввода данных, а для посомтреть текущее состояние.
2
8181 / 4045 / 919
Регистрация: 05.10.2016
Сообщений: 11,170
Записей в блоге: 1
04.03.2017, 10:30 6
texnik-san, абсолютно права, это не верный подход.
Нужно лепить табличку "Движение Товара" (Приход - Расход) - и склад считать по её данным.

Добавлено через 8 минут
А вообще, при ведении скл. учёта, хорошей практикой является работа "От Документа", те:
Есть док. ПРИХОДА и у него как минимум НОМЕР, ДАТА и Поставщик
Он содержит список пришедших товаров (КОД, Наименование, кол-во, цена ... в связанной таблице)
При сохранении документа ПРИХОДА кол-во товара увеличивается ...
При Расходе всё аналогично, только товар списывается и вместо "Поставщик" - Получатель.
... как то так ...
1
0 / 0 / 0
Регистрация: 05.12.2014
Сообщений: 36
15.03.2017, 12:51  [ТС] 7
Спасибо огромное за помощь.
Не могу только понять как заставить работать этот запрос на обнуление поля. Один раз как то получилось и все.
Я не силен в программировании, уверен что для вас это пустяки. Не могли бы вы показать на примере, как работает данный запрос. Можно на куске моей базы. На любом поле. Еще раз спасибо.

Добавлено через 54 секунды
Eugene-LS, Спасибо огромное за помощь.
Не могу только понять как заставить работать этот запрос на обнуление поля. Один раз как то получилось и все.
Я не силен в программировании, уверен что для вас это пустяки. Не могли бы вы показать на примере, как работает данный запрос. Можно на куске моей базы. На любом поле. Еще раз спасибо.
0
8181 / 4045 / 919
Регистрация: 05.10.2016
Сообщений: 11,170
Записей в блоге: 1
16.03.2017, 19:06 8
Цитата Сообщение от spec1a1or Посмотреть сообщение
Не могли бы вы показать на примере, как работает данный запрос. Можно на куске моей базы.
В вашей базе (пока) нет документов прихода-расхода - показывать не на чем.

А так все просто :
Объедините товары текущего документа со справочником товаров по коду товара и приплюсуйте к текущему кол-ву на складе количество из документа при сохранении оного.
На расходе обратная операция.

Что бы не делать 2 разных запроса можно промаркировать документ прихода маркером 1, а расхода -1 и тогда:
[Кол-во на складе]+([Кол-во из документа]*[Маркер документа])
0
Модератор
Эксперт MS Access
10163 / 4158 / 677
Регистрация: 07.08.2010
Сообщений: 11,710
Записей в блоге: 4
16.03.2017, 20:56 9
аксесс --это не ексель
у него свои законы и ограничения
многие вещи екселя в аксесс невозможны(напрямую)

---
например в екселе сейчас 16 тысяч столбцов, печать отчета любой шарины
в аксесс это реализуется, только через программный вывод в ексель

прилагаю примерчик(переделанную вашу базу)
0
Вложения
Тип файла: zip BD170316.zip (593.6 Кб, 6 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2017, 20:56

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как создать форму для редактирования таблицы?
Как создать форму для редактирования таблицы? Если с помощью "Разделенной формы", то при...

Как сделать свою форму для редактирования
Создаю свою форму пользовательскую! Публикую на сервер SP. Выдает на редактирование стандартную...

Как открыть форму для редактирования определенной записи
Добрый день ув. форумчане. Прошу вас помочь разобраться в следующей проблеме. 1. Есть таблица...

Как создать форму для редактирования и изменения документов на сайте?
как создания форму для редактирования и изменения докементов на сайте что бы каждый желающий мог...

Как по нажатию кнопки передавать в новую форму только текущую запись для редактирования
У меня есть форма в которой отображаеться таблица из базы sql в виде DataRepeater. Возле каждой...

Как правильно вызывать форму ui?
Добрый день. Как правильно вызывать форму ui? Есть две формы MainWindow и widget form_ui2. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.