Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите новичку: Создание БД закупок.
 
 автор: Cityfox   (08.06.2011 в 12:11)   личное сообщение
59 Кб.
 
 

Уважаемые форумчане, помогите разобраться новичку!

Проблема следующая:
На базе Access делаю небольшую базу по учету закупок материалов. Вот столкнулся с некоторыми проблемами:

1) Как сделать так, чтобы в главной таблице "Закупка сырья", при наведении на поле "Контрагент", "Материал" , автоматически вылезал список Контрагентов,материалов из подчиненных таблиц "Контрагенты", "Материалы"? Установить связи не получается!

2) Как сделать так, чтобы в поле "Сумма" главной таблицы происходило вычисление (Объем* Цена за единицу"? т.е. после ввода Объема и цены за единицу , автоматически рассчитывается их произведение в поле Сумма!

  Ответить  
 
 автор: час   (08.06.2011 в 12:48)   личное сообщение
 
 

1) - с помощью запроса на выборку - по условию отбора в нужном поле.
2) - перенести поле "Сумма" в примечание формы и написать ему в свойстве "Условие на значение" = "Выражение"
Где "Выражение" - Объем * Цена за единицу
где (Объем и Цена за единицу) - названия полей с данными из запроса.

  Ответить  
 
 автор: Cityfox   (08.06.2011 в 12:58)   личное сообщение
 
 

Если не сложно, можно на примере показать как это сделать! Чтобы был некий шаблон!

  Ответить  
 
 автор: snipe   (08.06.2011 в 13:01)   личное сообщение
 
 

сделайте пример на аксе 2003

  Ответить  
 
 автор: Cityfox   (08.06.2011 в 13:21)   личное сообщение
13 Кб.
 
 

Вот, сохранил в 2003

  Ответить  
 
 автор: Explorer   (08.06.2011 в 13:12)   личное сообщение
 
 

не нужно поле "сумма" в таблице.

в таблице не хранятся вычисляемые значения, они расситываются в запросах

SELECT tblOrders.OrderDate, tblOrders.Quantity, tblOrders.PricePerUnit,  (tblOrders.Quantity * tblOrders.PricePerUnit) AS TotalAmnt FROM tblOrders

  Ответить  
 
 автор: Гоблин   (08.06.2011 в 13:51)   личное сообщение
 
 

Народ, подскажите в данном случае. Понимаю, что 3 таблицы - не база. Но без схемы уже десятая база встречается. Проясните ситуевину - это мода такая и ноу хау? Ну не воспринимаю базу без схемы. Видимо не дорос

  Ответить  
 
 автор: snipe   (08.06.2011 в 14:00)   личное сообщение
 
 

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

  Ответить  
 
 автор: Explorer   (08.06.2011 в 14:21)   личное сообщение
 
 

>> мешают общему восприятию схемы

отключи отображение лишних таблиц на схеме

  Ответить  
 
 автор: Cityfox   (08.06.2011 в 14:56)   личное сообщение
 
 

Ну хорошо,

Базой будет основная таблица "Закупка сырья", туда будут попадать данные из запроса. Т.е., к примеру делается запрос - назовём его "Ввод данных по закупкам", в который мы вносим дату, цену, объем и т.д. и эти данные попадают в основную таблицу "Закупка сырья"! Я правильно понимаю?
Хорошо, тогда как в запросе "Ввод данных по закупкам" реализовать 1) чтобы вылеза список Контрагентов,материалов 2) Происходил рассчет (цена за единицу*объём) и эта цифра попадала в таблицу "Закупка сырья " - в поле "сумма"

Можно на примере! Я не программист, поэтому плаваю во всё этом деле, хочется увидеть пример, "на пальцах".

  Ответить  
 
 автор: Гоблин   (08.06.2011 в 16:11)   личное сообщение
20 Кб.
 
 

Все понятно, только зачем запрос - недопонял. ПоляСоСписками на форму, источником которой "Закупка сырья" и дело с концом.
В данном случае я бы не ограничивался 2 справочными таблицами, а связал бы и таблицей тип сырья, сделал бы таблу цена за единицу, а далее наступал бы вот в таком направлении, как начал тут => по аналогии полей товар и ед изм. (выбрал товар, ед измерения сама влетит в нужное место.) Осталось только объем (количество) ввести, цена за единицу если бы была влетала бы так же точно как и ед измерения, все остальное вычислить не проблема.

  Ответить  
 
 автор: час   (08.06.2011 в 19:11)   личное сообщение
 
 

В догонку- никада не рисовал схемы.
Нафига они нужны?
Ну разве что в самых первых базах.
А если надо что то как то связать - можно в запросе указать.

  Ответить  
 
 автор: Explorer   (08.06.2011 в 19:28)   личное сообщение
 
 

всегда рисовал схемы - удобный наглядный инструмент организации подержки целостности данных.

не без недостатков, конечно, но с помощью прилады от лебанса (сохранение схемы БД в JPG) и других ухищрений удалось попривыкнуть и смириться.

запросы к поддержке целостности данных в таблицах отношения не имеют

  Ответить  
 
 автор: час   (08.06.2011 в 20:00)   личное сообщение
 
 


Целкостность - кодом добываю...

  Ответить  
 
 автор: Explorer   (08.06.2011 в 21:03)   личное сообщение
 
 

в зависимости от проекта...
и вообще - у тебя частный случай, ты Access только как хранилище используешь.

  Ответить  
 
 автор: Гоблин   (08.06.2011 в 21:20)   личное сообщение
 
 

Ну у меня на схему базы 90% время уходит. Все остальное как по чертежу идет. Иначе не получается. Запросов много нужно писать да и условия их выполнения предусмотреть все никак не получится. Хотя... как сказать.

а где хозяин вопроса?

  Ответить  
 
 автор: час   (08.06.2011 в 22:26)   личное сообщение
 
 

хазяин - похоже на верном пути..........
попёрло......

  Ответить  
 
 автор: час   (08.06.2011 в 22:27)   личное сообщение
 
 


ты Access только как хранилище используешь.

в основном - Да!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList