|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.02.2014, 11:05 | #11 |
Форумчанин
Регистрация: 01.06.2012
Сообщений: 139
|
Взгляните пожалуйста на то, что я натворил.
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
|
08.02.2014, 11:11 | #12 |
Форумчанин
Регистрация: 01.06.2012
Сообщений: 139
|
Мне просто довольно трудно понять вас, т.к. это первая БД, которую я пишу, по крайней мере на делфи, взгляните на то что я написал, может я совсем всё неправильно сделал...
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
|
08.02.2014, 11:36 | #13 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Цитата:
Теперь подробно по сабжу. Если я правильно понял, то в данный момент выводятся значения складских остатков, которые вводятся вручную. Можно конечно при выполнении операции прихода и списания обновлять значения поля amount в таблице goods в программе, но ИМХО здесь смысла в этом немногим больше, чем в ручном вводе. В данном случае это создаёт необходимость дополнительных операций в клиентской программе, которые её только лишний раз усложнят, потому что без них вполне возможно обойтись. Создайте в БД представление (в терминах Access "Запрос") с подзапросами, как я Вам советовал в своих предыдущих постах и всё, включая необходимые расчёты, ядро СУБД выполнит за Вас. Ядро СУБД для работы с .mdb - Jet 4. Оно встроено в Windows. Поэтому для просмотра представления, к нему вполне можно обращаться из сторонней программы как к таблице. Таким образом, данное решение избавит Вас от не только от необходимости ручного ввода, но и значительно упростит Вам жизнь при разработке программы. |
|
08.02.2014, 11:48 | #14 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Прошу прощения, что вклиниваюсь.
Авторская база, прежде всего не нормализована. А это породит в будущем столько проблем, что мало не будет. Нужно исправить структуру таблиц прихода и расхода с тем расчетом, чтобы записывать не наименование товаров, а их идентификаторы из таблицы товары. Т.е. переделать поля Name (текст) на IDGood (целое число). И только потому уже обсуждать как получать сальдо по товарам. Само-собой, как и сказал Streletz, поле количество в товарах совсем не нужно, т.к. значение товара в остатке всегда можно посчитать по приходу и расходу. Который, надо заметить, считается в SQL запросе достаточно просто, без каких-либо дополнительных представлений. Последний раз редактировалось Прик; 08.02.2014 в 11:53. |
08.02.2014, 11:55 | #15 | |
Форумчанин
Регистрация: 01.06.2012
Сообщений: 139
|
Цитата:
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
|
|
08.02.2014, 12:07 | #16 | ||
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Прик,
Цитата:
Rockot, Цитата:
Если имеется в виду SQL запрос с подсчётом суммы, то его пример я Вам уже приводил. Примеров создания представления (запроса) в Access море и в сети и в литературе. Пример нормализации таблиц БД? Пожалуйста. |
||
08.02.2014, 12:10 | #17 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Вроде бы ясно сказал. Повторю:
В среде Аксесса, в конструкторе добавляем в таблицу expenditure поле под наименованием IDGood - тип: числовой (имя для примера, разумеется). То же самое в таблице coming. Конструкторы закрываются и открываются эти таблицы. Для тестирования в новое поле записываются (все там же, в среде Аксесса) идентификаторы товаров (значения поля ID) таблицы Goods. После этого поле Name в обеих таблицах можно удалить. Так же можно удалить и поле amount из таблицы Good. |
08.02.2014, 12:15 | #18 | |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Цитата:
Но, думаю, что если, ТС новичок, то ему в Аксессе и запрос сделать будет по не просто. |
|
08.02.2014, 12:24 | #19 | |
Форумчанин
Регистрация: 01.06.2012
Сообщений: 139
|
Цитата:
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
|
|
08.02.2014, 12:33 | #20 | |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Цитата:
У вас есть нормальная БД, а что с ней делать дальше - это вы расскажите. Ввод товаров, ввод расхода, ввод прихода, отображение сальдо товаров на определенную дату. Остатки делаются ВСЕГДА на какую-то дату. Не напрасно же, в таблицах приходов и расходов есть дата операции. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Соединение несколько таблиц в одну | REztor | SQL, базы данных | 8 | 31.12.2013 23:18 |
Объединение столбцов с нескольих таблиц в одну | Enchanter | Microsoft Office Access | 8 | 11.06.2013 11:19 |
Данные из двух таблиц в одну | reihtmonbern | БД в Delphi | 1 | 15.01.2013 23:25 |
объединение одинаковых таблиц в одну | Алабор | Microsoft Office Access | 2 | 21.03.2011 21:17 |
Сведение нескольких таблиц в одну | Sega | Microsoft Office Excel | 3 | 05.08.2008 15:21 |