Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238

БД расчёт бетона

07.11.2017, 19:52. Показов 3513. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые завсегдатые форума, профессионалы, спецы и просто любители мира Аксесс. Не хотелось создавать новую тему, но приходится, так как подобных примеров найти именно в Аксесс пока не могу. Есть желание создать себе "Помощника" в будущем 2018-м строительном сезоне, но всё уперлось в банальное незнание некоторых основ Аксесс.
Вопрос в следующем.
Как организовать выборку записей из таблицы "ВидБетона" в зависимости от технологии и конечного продукта - таблица "Производство". Дело в том, что один и тот же вид бетона, к примеру "Тяжёлый" будет применим как для изготовления тротуарной плитки(1), так и для заливки фундамента(2) и для изготовления перекрытий и оснований(3)? Никак в голове не выстраивается древо последовательности и связей. А очень нужно с чего то начать. Следующий этап, это исходя из поставленной задачи и выбранного бетона "собрать" компоненты для него, т.е. будет ли использоваться в замесе: щебень или нет, пластификатор С-3, гидрофобизатор и газововлекающая добавка ГКЖ-136/41. Каждая "ветка" даёт своё ответвление и состав, после этого лишь производится расчёт компонентов смеси и их требуемый объём.
БД во вложении. Можете пинаться, ругаться - главное чтобы произошёл сдвиг правильном направлении.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.11.2017, 19:52
Ответы с готовыми решениями:

Задача о перевозке бетона
Задача: Бетон, производимый на заводах А и В, нужно развозить по трем стройплощадкам: S1, S2 и S3. Известны потребности стройплощадок в...

Сколько кубов бетона нужно для опалубки?
сколько кубов бетона нужно для опалубки,если: 21 м-длина,22 см-ширина,40 см-глубина опалубки???

самый быстрый способ поднять сайт! Прогрев бетона
Подскажите самый способ поднять сайт в Топ 10 ?))) Тематика неконкурентная, запрос ПРОГРЕВ БЕТОНА! Нужно поднять сайт в Топ максимум...

48
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.11.2017, 09:18
Студворк — интернет-сервис помощи студентам
Не знаю в тему или нет... Но возвращаясь к циклу расчета критерия качества, можно значительно облегчить расчет создав запрос, включающий все возможные наборы параметров из справочников. А дальше в коде уже по этому запросу находить критерий качества.
Для создания такого запроса, надо взять все справочники в декартовом умножении, т.е. не задавая между ними никаких связей, и выписать поля справочников. Получится полный набор всех возможных (а может быть и невозможных) комбинаций. Что-то вроде таблицы СвойстваПрод, но по всем комбинациям параметров. Далее в коде, взяв рекордсет этого запроса, пройти по нему и рассчитывать нужные параметры. Я их обозвал "критерием качества"
SQL
1
2
3
4
5
6
7
8
9
SELECT 
  Цемент.ЦементID, Цемент.Цемент, Цемент.Активность, Цемент.Описание, Цемент.Своиства, 
  [C-3].[С-3ID], [C-3].[С-3], [C-3].Описание, 
  ГКЖ136.ГКЖ136ID, ГКЖ136.[ГКЖ136/41], ГКЖ136.Описание, 
  БезЩебня.БезЩебняID, БезЩебня.БезЩебня, 
  Окрашив.ОкрашивID, Окрашив.Окрашив, Окрашив.Описание, 
  ГКЖ11.ГКЖ11ID, ГКЖ11.ГКЖ11, ГКЖ11.Описание, 
  ВидБетона.БетонID, ВидБетона.Наименование, ВидБетона.Свойства
FROM Цемент, [C-3], ГКЖ136, БезЩебня, Окрашив, ГКЖ11, ВидБетона;
Возможно в запросе я взял не все справочники, таблиц у Вас гораздо больше, но Вы сами можете легко исправить и добавить нужные
1
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
13.11.2017, 11:16  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Возможно в запросе я взял не все справочники, таблиц у Вас гораздо больше, но Вы сами можете легко исправить и добавить нужные
Да, справочные данные(таблицы) ещё не все созданы, пока путаюсь в трёх книгах, рассортировываю и создаю образчики справочников в БД, которые возможно со временем будут удалятся как ненужные.
За пример отдельное Вам спасибо, множество таблиц и запросов пока путают весь расклад (те что в скобках только ждут дальнейших шагов), а вариант с рекордсетом безусловно упростит БД.
0
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
15.11.2017, 20:06  [ТС]
Сделал форму для первого шага (подбор бетона). Вроде работает как надо, но есть некоторые моменты, которые не могу додумать. Много наверное чего в коде лишнего, но форма находится в процессе тестирования новых для меня свойств.
1. Возможно ли в поле22(Описание ГКЖ11) представленного в виде списка с источником строк из запроса, осуществить перенос текста в поле формы(который не входить в одну строку в форме).
2. Возможно ли при заполнении новой записи, скрыть в формы все компоненты с их описаниями, до того как будет выбрана продукция. Для тратуарки и фундамента я, что то подобное прописал в VBA, есть некоторые косяки с изменением продукции в готовых смесях(подвисает значение в поле "Вид бетона"), но это не так критично как новая запись с перечнем свойств. Сильно не ругайтесь, форма ещё сырая, можно её резать, дополнять, буду рад и благодарен любым советам.
Вложения
Тип файла: 7z Расчет.7z (48.4 Кб, 2 просмотров)
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
16.11.2017, 00:57
Чтобы на новой записи списки были пустыми, лишил из источника строк (RowSource), а sql выражение источника записал в Tag списков. На Текущей записи, если запись новая, источник обнуляется, если существующая, то его скл берется из тага. С полями чуть иначе - в соответствующих событиях записывается их выражение (длукап). На AfterUpdate чекбоксов те же действия, что и на Current.

Внизу формы надпись lbl, равная полю22. Если Поле22 невидимо (Visible=False), то и надпись невидима.
Вложения
Тип файла: rar Расчет.rar (43.9 Кб, 9 просмотров)
1
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
16.11.2017, 17:54  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Внизу формы надпись lbl, равная полю22. Если Поле22 невидимо (Visible=False), то и надпись невидима.
Ух сколько всего полезного, премного Вам благодарен

Добавлено через 14 минут
Буду разбираться и двигаться дальше по "наклонной" к конечному результату. mobile Вас случайно мысли не посещали, как бы замутить ИИ? и наблюдать со стороны за всем процессом

Добавлено через 9 часов 10 минут
Цитата Сообщение от Stalker73i Посмотреть сообщение
Буду разбираться и двигаться дальше по "наклонной"
Есть ли более простой способ скрыть поле29 с формы, при отсутствии в ней записи вида бетона(отсутствие в допустимом массиве критериев) или необходимо отлавливать каждое действие в форме строкой "Me.Поле29.Visible = False" и "Me.Поле29.Visible = True"? Способ с исчезновение поля будет восприниматся более наглядно - накосячил я составом бетона или нет.
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
16.11.2017, 18:59
Цитата Сообщение от Stalker73i Посмотреть сообщение
Способ с исчезновение поля будет восприниматся более наглядно - накосячил я составом бетона или нет
Я так не думаю. Опыт общения с пользователями показывает, что изменение, даже небольшое, геометрии формы часто приводит в юзеров в замешательство. Лучше уж условное форматирование - если нет значения (Null), то менять цвет поля. Воспринимается гораздо спокойнее и быстро привыкают.
1
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
16.11.2017, 19:44  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Лучше уж условное форматирование - если нет значения (Null)
Спасибо что напомнили. Совсем ведь забыл про данную функцию. Сделаю ещё подпись с примером раскраски, чтоб даже будучи опьяненный "от щастья" не ошибся с замесом бетона.

Добавлено через 14 минут
Обнаружил засаду - уловное форматирование не активно для списка в форме, только для поля или поля со списком. Т.е. делать дубль(поле) с присваиванием значения списка, а сам список сделать невидимым на форме.
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
16.11.2017, 20:02
Цитата Сообщение от Stalker73i Посмотреть сообщение
Обнаружил засаду
У Вас простая форма. В ней не требуется УФ, можно напрямую менять цвет списка
Visual Basic
1
If условие Then Me.Поле29.BackColor=числоцвета
1
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
16.11.2017, 20:11  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
If условие Then Me.Поле29.BackColor=числоцвета
Вот я тормоз, делал же уже нечто подобное на карте с раскраской надписей в своей первой рабочей БД.
0
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
19.11.2017, 20:14  [ТС]
Цитата Сообщение от Stalker73i Посмотреть сообщение
сколько всего полезного!!!
Оценил это в полной мере лишь на работе, научился "играться с надписями" в зависимости от результата запроса и упростил код. Но ни как, почему то не могу победить поле27 (обновление надписи lbl8 за комментировано в VBA) и заставить его работать подобно низ лежащим надписям. Вылетает ошибка "о введение хотя бы одного" данного. А так, вроде форма приобрела надлежащий вид с соответствующим для меня функционалом.
mobile, без Вас наверное ну никак.
Вложения
Тип файла: 7z Бетон.7z (53.8 Кб, 1 просмотров)
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
19.11.2017, 20:30
Цитата Сообщение от Stalker73i Посмотреть сообщение
Но ни как, почему то не могу победить поле27 ... и заставить его работать подобно низ лежащим надписям. Вылетает ошибка "о введение хотя бы одного" данного.
Что нужно сделать, чтобы выйти на ошибку? И как правильно должно быть?
0
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
19.11.2017, 20:34  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Что нужно сделать, чтобы выйти на ошибку? И как правильно должно быть?
Снять коменты в обновлении Цемента. Правда без косяков я не могу, вместо lbl7 нужно забить lbl8.

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Цемент_AfterUpdate()
  '     Dim db As DAO.Database
  '    Dim strSql As String
 
'   strSql = " SELECT [Цемент].Своиства " & _
   '    " FROM [Цемент] " & _
   '    " WHERE ([Цемент].[Цемент])= " & (Forms![Текущие замесы]![Цемент])
 
'   Forms![Текущие замесы]!lbl7.Caption = CurrentDb.OpenRecordset(strSql).Fields(0) & ""
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
19.11.2017, 20:45
Там строка. Должны быть окаймляющие апострофы. Также полный адрес поля заменил на Me.
Visual Basic
1
2
3
   strSql = " SELECT [Цемент].Своиства " & _
       " FROM [Цемент] " & _
       " WHERE ([Цемент].[Цемент])= '" & Me.Цемент & "'"
1
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
19.11.2017, 20:49  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Там строка. Должны быть окаймляющие апострофы. Также полный адрес поля заменил на Me.
Красиво и быстро, нет слов
Теперь буду думать, как внедрить ещё один массив данных - выбор коэффициента качества для дальнейших расчётов в зависимости от выбранного вида бетона и качества наполнителей + фракционный состав щебня и песка.
0
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
24.11.2017, 11:56  [ТС]
На вахте мучал свою БД. Непонятно только, кто кого больше... В итоге для ввода параметров и данных по компонентам состава бетона сделал набор вкладок, с соответствующим "мудрёным" функционалом. Вроде осилил все эти циклы, проработав открытие-закрытие нужных вкладок, осталось добавить в них соответствующие данные.
Если ли вариант попроще с подчинённой формой(на основе таблицы), когда при выборе нужного состава в основной, открывались бы вкладки в подчинённой только те, которые были отмечены? Т.е. выбрал С-3 в основной, в подчинённой активизировалась вкладка для ввода данных по С-3, если нет С-3 - то вкладке юк. Никак не могу в голове проработать связь таблиц(активные поля в Замесе и вкладки в подчинен. форме),пока нет даже чернового варианта. Свой же вариант считаю рабочим, но больно уж пересыщенный циклами и отлавливать ошибку с каждой новой вкладкой становится всё тяжелее, да и таблица "Замесы" прирастёт ещё дополнительными 10-15 полями.
Критика и помощь приветствуется.
Вложения
Тип файла: 7z Бетон2.7z (47.6 Кб, 4 просмотров)
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.11.2017, 19:56
Stalker73i, попробуйте запрос
SQL
1
2
3
4
5
6
7
8
9
SELECT БезЩебня.БезЩебняID, БезЩебня.БезЩебня, БезЩебня.Описание AS БезЩебняОписание, 
ВидБетона.БетонID, ВидБетона.Наименование, ВидБетона.Свойства, 
ГКЖ11.ГКЖ11ID, ГКЖ11.ГКЖ11, ГКЖ11.Описание AS ГКЖ11Описание, 
ГКЖ136.ГКЖ136ID, ГКЖ136.[ГКЖ136/41], ГКЖ136.Описание AS ГКЖ136Описание, 
Окрашив.ОкрашивID, Окрашив.Окрашив, Окрашив.Описание AS ОкрашивОписание, 
[С-3].[С-3ID], [С-3].[С-3], [С-3].Описание AS [С-3Описание], 
СпосОкрас.СпосОкрас, СпосОкрас.Описание AS СпосОкрасОписание, 
Цемент.ЦементID, Цемент.Цемент, Цемент.Активность, Цемент.Описание AS ЦементОписание, Цемент.Своиства
FROM БезЩебня, ВидБетона, ГКЖ11, ГКЖ136, Окрашив, [С-3], СпосОкрас, Цемент
Фактически это полная версия того, что Вы хотите в Замесах или СвойствахПрод. Возможно некоторые, или даже многие комбинации невозможны или бессмысленны. Но их удалить гораздо проще и быстрее чем настраивать новые комбинации вручную. Подумайте по крайней мере о такой возможности.
1
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
24.11.2017, 20:29  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Фактически это полная версия того, что Вы хотите в Замесах или СвойствахПрод.
Обязательно опробую ваш вариант отбора бетона, времени пока для этого предостаточно. С моим вариантом в принципе отсев закончен(кроме керамзитблоков), стою на пороге отображения и выбора во вкладках фракционного состава щебня, песка и т.д. и т.п. которые планирую выдергивать из комбобокса справочных данных по последним, а по итогам заполнения таблицы перейти к дальнейшим расчётам. Вкладки для меня удобны тем, что не нужно прописывать событие скрытие или отображение полей и комментариев к ним. Добавлю вкладку вода(постоянно задействована), где опишу в поле надпись, какую воду стоит применять, а которую категорически нет. Тонкостей очень много, но не смертельно.

Промежуточный вариант рабочей формы, может кому и сгодится.
Вложения
Тип файла: 7z Бет2.7z (61.6 Кб, 4 просмотров)
0
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
02.01.2018, 20:51  [ТС]
Никак не могу одолеть поле "МодульКр" во вкладке "Песок". Почему не срабатывает функция IIf так и не понял, может из-за переменных в коде, а может из-за ошибки в самом выражении "Значение по умолчанию"? Помогите советом. Бд во вложении.
Вложения
Тип файла: 7z Бет2.7z (66.7 Кб, 8 просмотров)
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
02.01.2018, 21:07
И по логике, и по снтаксису NOT лишний в выражении [Карьер] Is Null. Так работает
SQL
1
=IIf([Карьер] IS NULL;DLookUp("[МодКр]";"[ПесокКарьер]";"[Карьер]=" & [Карьер]);0)
1
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
02.01.2018, 21:21  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
И по логике, и по снтаксису NOT лишний в выражении [Карьер] Is Null. Так работает
Спасибо, но результат в поле "0", т.е. IIf сработал, а DLookUp нет. До этого бодался именно через DLookUp, но не отловив ошибки решил отловить её IIf-ом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.01.2018, 21:21

Нужно узнать модуль упругости для заданного класса бетона
Привет Всем! Проблема, такая...есть таблица, состоящая из 2 столбцов(1-класс бетона, 2-модуль упругости(числовое значение)), и нужно...

Оптимизация с ограничениями: определить геометрические параметры резервуара, при которых на его изготовление пойдет минимальное количество бетона.
Емкость резервуара для жидких отходов должна составлять 40 000 л. Изготовляется резервуар из железобетона толщиной 10 см. С помощью функций...

Составить план перевозок бетона, при котором стоимость перевозок будет минимальной.
На заводах Аи В производится бетон и развозится по строительным площадкам №1,№2,№3. Завод А в сутки производит 320т бетона, завод В в сутки...

Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций.
День добрый товарищи специалисты, помогите пожалуйста с примером m=((1/n)*\sum_{i=1}^{n}{x}_{i}){}^{2}-\sum_{i=1}^{n}{x}_{i} ,n=5 ф-ция...

Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций
Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. На СИ


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru