powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не колю ли я орехи авиационным двигателем?
11 сообщений из 11, страница 1 из 1
Не колю ли я орехи авиационным двигателем?
    #32374570
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В форме есть такие два поля: одно поле со списком - выбирается район, второе участвует в склейке, формирующей № договора. Т.е в № договора подставляется не порядковый номер района, а спец. обозначение ему присвоенное (у некоторых районов совпадает).
Выдал шедевр:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub №района_AfterUpdate()
ИД1.Value = Switch(№района.Value =  "1 ",  "07 ", №района.Value =  "2 ",  "05 ", №района.Value =  "3 ",  "01 ", №района.Value =  "4 ",  "02 ", _
№района.Value =  "5 ",  "10 ", №района.Value =  "6 ",  "18 ", №района.Value =  "7 ",  "06 ", №района.Value =  "8 ",  "16 ", №района.Value =  "9 ",  "23 ", _
№района.Value =  "10 ",  "17 ", №района.Value =  "11 ",  "19 ", №района.Value =  "12 ",  "09 ", №района.Value =  "13 ",  "14 ", №района.Value =  "14 ",  "15 ", _
№района.Value =  "15 ",  "03 ", №района.Value =  "16 ",  "21 ", №района.Value =  "17 ",  "04 ", №района.Value =  "18 ",  "22 ", №района.Value =  "19 ",  "11 ", _
№района.Value =  "20 ",  "12 ", №района.Value =  "21 ",  "12 ", №района.Value =  "22 ",  "12 ", №района.Value =  "23 ",  "12 ", №района.Value =  "24 ",  "12 ", _
№района.Value =  "25 ",  "12 ", №района.Value =  "26 ",  "12 ", №района.Value =  "27 ",  "12 ", №района.Value =  "28 ",  "12 ", №района.Value =  "29 ",  "12 ", _
№района.Value =  "30 ",  "12 ", №района.Value =  "31 ",  "12 ", True, "")
End Sub

Вопрос к корифеям. Есть ли более гибкий, или скажем более правильный с точки зрения функционирования БД, способ решить поставленную задачу?
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374579
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Б'ля...
Обожаю горизонтальный скроллинг
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374604
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с точки зрения БД - номер договора должен быь в таблице Районы (если я правильно понял зависимоть номера договра от района) и оттуда и браться простым селектом
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374700
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо.
Еще раз имхо

В БД не должно быть значащих номеров договоров (это наследие старых систем).
Номер - это номер, район - это район.

Все повелось с тех времен когда не еще не было компьютеров и номера специально делались значащими чтобы "тетеньки-учетчицы" быстро ориентировались.

В нормельной системе есть форма поиска договоров с параметрами:
район, номер и т.д.
Пользователь выбирает район и видит все договора.
Дублировать эту же информацию еще и в номере договора...мягко говоря не очень.
У меня был совсем критичный случай, менеджер в номер договора забивал:
регион, номер шкафа, номер полки, номер папки, номер договора.
Пришлось давить на него через руководство и доказывать что это идиотизм.
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374746
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соглачен на все 100%. Но как говорится против системы не попрешь. Однако, я в таблицу такой номер "одно-другое/пятое-десятое" и не заносил, просто в созданной форме прицепил поле и там создал склейку из составляющих. Надо будет создам и в отчете. Вопрос в том, чтобы как грамотно прицепить в склейку частичку относящуюся к району. Я сделал как упоминалось выше, хотелось узнать можно ли это сделать более толково.
Вотъ.
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374763
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Rimbombo
Если тебе в таблице такое поле не нужно, тогда сделай расчетное поле прямо на форме/отчете:

в источник поля пишешь функцию
=nomer_dog([параметры])

Ну а внутри функции все что нужно.
Например
Public function nomer_dog([параметры])
nomer_dog=...............
end function

Преимущество по сравнению с AfterUpdate в том, что если номер состоит из многих полей, которые изменяются на форме, то не придется в каждое поле от которого зависит "склейка" ставить обработчик.
Также эту функцию можно потом использовать в отчетах (если вынести в отдельный модуль).
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374789
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имей ввиду
что switch
вычисляет ВСЕ условия
даже если условие
будет стоять первым
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374827
Фотография Polev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Select case тут не проканает случаем?
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374863
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похожий вопрос в эту тему чтобы не плодить топики:
есть задача создать трехуровневый справочник
содержащий в себе коды статей
например:

Уровень 1
01.МояСтатья

Ур.2
01-01.МояПодстатья1
01-02.МояПодстатья2ф


Ур.3
01-01-01.МояПодПодстатья1
01-02-01.МояПодПодстатья1ф
01-02-02.МояПодПодстатья2ф

согласно теории нормализации используем для этого три таблички (по одной для каждого уровня)
со структурой
ID КОд статьи (2 знака) Наим статьи
789 01 МояСтатья

в которой храним КОДы, относящиеся только к текущему уровню (2 знака вместо всего набора)

затем три таблички связываются по ключам
и в итоге легко получаем код третьего уровня типа "01-02-01

Вопрос: как наложить ограничение уникальности КОДА статьи на вторром и третьем уровне?
На первом все понятно - ключ по полю КОДСТАТЬИ
а глубже?
Ключ на поле кода + поле подстановки вышестоящей таблы?
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374872
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Alexus12
Думаю смело можно создавать отдельный топик.
Чисто интуитивно кажется, что тут можно использовать TreeView.
...
Рейтинг: 0 / 0
Не колю ли я орехи авиационным двигателем?
    #32374917
f2f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
f2f
Гость
какие тривью ?
автор просто забыл добавить в таблички внешние ключи
а уникальность по внешнему ключу и коду
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не колю ли я орехи авиационным двигателем?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]