|
|
|
| Всем привет, что то похожее видел но на свой вопрос не ответил, собственно вопрос:
Две таблицы:
Таблица 1: "код", "должность", "оклад"
Таблица 2: "...много столбцов...", "должность", "оклад"
Возможно в режиме таблицы, чтобы при заполнении должности, оклад автоматически вставлялся в поле. и если возможно то как? или это возможно в режиме формы? Если да то как?
Заранее спасибо... | |
|
| |
|
12 Кб. |
|
| можно так | |
|
| |
|
|
|
| Здорово! А как так сделал? | |
|
| |
|
|
|
| ну там все написано. смотрите событие после обновления | |
|
| |
|
|
|
| лучше организовать тарифные сетки тогда сотрудникам с одинаковой должностью можно будет назначать разные зарплаты
ввести для сотрудника тарифную ставку (а автозаполнение будет в таблице- тариф "по умолчанию" = 1) и менять ее для каждго сотрудника индивидуально.
должностной оклад останется одинаковым для всех должностей, но для каждого сотрудника отдельно можно вносить повышающий (>1) или понижающий (<1) тариф
соответственно зарплата сотрудника рассчитывается на лету: оклад должности * тариф сотрудника = зарплата сотрудника
в общем - кактотак
http://narod.ru/disk/17505867000/db9.zip.html | |
|
| |
|
|
|
| Me.Salary = Me.idPost.Column(2)
Опишите пожалуйста дословно на русском языке.... =( я делаю свою таблицу, но у меня не работает =(
Еще вопросик, возможно ли это для не числовых полей, текстовых например? | |
|
| |
|
|
|
| Из комбобокса IdPost источник записей которого составляет три столбца таблицы TblPost в поле Salary заносится значение третьего столбца .Column(2) - это третий столбец ( Отсчет начинается с 0 )
Еще вопросик, возможно ли это для не числовых полей, текстовых например?
|
Возможно | |
|
| |
|
|
|
| yt
-------
ой... что-то не то и не туда запостилось sorry | |
|
| |
|
15 Кб. |
|
| Вот мутил мутил и не намутил =( где ошибка? все перелопатил но так же не получается =(
Там предыдущий пример и я делал свой по аналогу но не получается =( мои таблицы Tablnaim и Tablsokr форма 123 =(
Помогите пожалуйста, где то прокол мой, я просто хочу понять как работает, чтобы применять везде можно было =) | |
|
| |
|
16 Кб. |
|
| вот | |
|
| |
|
|
|
| это хорошо, а что ты сделал? =) спасибп
SELECT tablsokr.idsokr, tablsokr.Naim, tablsokr.Sokr FROM tablsokr ORDER BY [Naim];
я понял ты эту строчку подправил... а дословно переведешь? | |
|
| |
|
|
|
| Добавил в источник записей комбобокса еще одно поле Sokr. Это значение и подставляется в текстовое поле на форме. Column(2) - и говорит о том, что подставить в поле нужно третий столбец из комбобокса. | |
|
| |
|
|
|
| Все понял спасибо большое =) очень помогли!!! с меня простава =) | |
|
| |
|
21 Кб. |
|
| Еще проблемка, по той же теме...
Теперь хочу чтобы подставляла и в другую строчку, вот сделал, подскажите что не так..... | |
|
| |
|
|
|
| Артем, это у тебя что - разработка "методом тыка"? | |
|
| |
|
|
|
| да нет, с разработкой все впорядке, просто решаю маленькие удобства, ведь так удобнее пользователю будет, я просто в Visual Basic не силен | |
|
| |
|
|
|
|
| ты бы помог лучше, не пойму где загвоздка.... | |
|
| |
|
|
|
| не знаю в чем загвоздка - но зачем в основной табле собирать так много данных
или это для отладки. | |
|
| |
|
|
|
| в форме - свойства Город:
число столбцов - 4 шт.
ширина столбцов - 0см;2,542см;0см;0см
и будет табе счастье | |
|
| |
|
|
|
|
в форме - свойства Город:
число столбцов - 4 шт.
ширина столбцов - 0см;2,542см;0см;0см
и будет табе счастье
|
Спасибо большое, вот она где сидела гадость =))) | |
|
| |
|
|
|
| а почему много? Для меня округ, область и город это ключевые показатели объектов, по ним идет сортировка, ну не столь короче =) | |
|
| |
|
|
|
| вообще-то Москва - это ни разу не Московская область (а Санкт-Петербург не Ленинградская)
так - нафсякей | |
|
| |
|
|
|
|
ник: Explorer
вообще-то Москва - это ни разу не Московская область (а Санкт-Петербург не Ленинградская)
так - нафсякей
|
Поверь мне, я знаю что Москва и Питер являются самостоятельными субъектами, данная таблица была представлена как условно-реальная информация для решения конкретной проблемы.
П.С. не умничай, тебе не идет | |
|
| |
|
|
|
|
условно-реальная информация для решения конкретной проблемы
|
ну-ну | |
|
| |
|
|
|
| как на мой взгляд - таблы:
1. Okrug (ID_Okrug, Naimen)
2. Oblast (ID_Obl, Naimen, ID_Okru)
3. Gorod (ID_Gorod, Naimen, ID_Obl)
4. Obekt (ID_Ob, Naimen, ID_Gorod)
и твоя форма - строится на основании запроса, а не "Основная таблица"
1. при твоем способе в обоих таблах - хранится лишняя инфа - лишний размер базы,
2. если в таком виде оставить ГОО - то получается при вводе нового города область и округ каждый раз пишем руками - они, ручки шаловливые юзеров, тебе такого налепят, что областей и округов будет больше чем звезд на небе. | |
|
| |
|
|
|
| Ты немного не прав, таблица ГОО - это таблица справочник, уже забитая информацией, ввод новой инфы туда пользователю закрыт будит. Вот сейчас у меня как ты предлагаешь отдельные таблицы - справочники Округа, Области, Города. Так юзер мне налепит что нибудь вроде Москва - Амурская область - СКВО, а потом разбирайся почему дебет с кредитом так сказать не сходится =) | |
|
| |
|
|
|
| для хранения информации об адресах есть КЛАДР | |
|
| |
|
|
|
|
для хранения информации об адресах есть КЛАДР
|
Как я понял КЛАДР - это классификатор адресов. Заводить его в данной базе нецелесообразно, заводить и вести его в принципе нет смысла. | |
|
| |
|
|
|
| поэтому он и задает вопрос - как подставить в поля одной таблицы значения из полей другой при выборе из ComboBox'a.в форме | |
|
| |
|
|
|
| Ну мы же вроде решили эту проблему? или я не поймал твою мысль.... -( | |
|
| |
|
|
|
|
как на мой взгляд - таблы:
1. Okrug (ID_Okrug, Naimen)
2. Oblast (ID_Obl, Naimen, ID_Okru)
3. Gorod (ID_Gorod, Naimen, ID_Obl)
4. Obekt (ID_Ob, Naimen, ID_Gorod)
|
навел меня на правильную мысль, сделал так
1. gorod (id_gorod, naimen, id_obl, id_okru) - по мере необходимости
2. oblast (id_obl, naimen) - перечень всех областей (84)
3. okrug (id_okru, naimen) - перечень округов (8)
4. Obekt (id_obekt, ..............., id_gorod)
форма "obekt" - источник записей запрос - все поля из таблицы №4 и поля округ и область из таблицы №1.
Итог:
1. Юзеру достаточно найти город - область и округ ставятся автоматически
2. При вводе нового города юзер из списка выбирает округ и область
П.С. Помойму здорово =) спасибо всем =) | |
|
| |
|
|
|
|
П.С. Помойму здорово =) спасибо всем =)
|
PS
это все совсем не здорово.
т.е. в части, которая касается
область и округ ставятся автоматически
|
это в общем-то не верно и неправильно | |
|
| |
|
|
|
| Почему ты так думаешь? Я не буду утверждать что у меня самый правильный вариант, но ты обоснуй почему не верно и неправильно, а так же не здорово.
Правка: Я просто по себе знаю иногда знаешь город, но не помнишь не его область, не округ =) например город Батайск, сразу не скажешь, а так она тебе поставила Ростовская область - СКВО =) | |
|
| |
|
|
|
|
1. Юзеру достаточно найти город - область и округ ставятся автоматически
|
Вам не кажется что это несколько не совсем правильный подход
(ваше желание облегчить труд юзера похвально)
что будет если юзер найдет город например Приморск
или Калининград (позволю себе обратить Ваше внимание на то что Приморск располагался чуть ли не у каждого моря бывшего СССР, а Калининградов -2 один в Московской области а другой в Калининградской ) | |
|
| |
|
|
|
|
1. Юзеру достаточно найти город - область и округ ставятся автоматически
|
бред | |
|
| |
|
|
|
|
Приморск располагался чуть ли не у каждого моря бывшего СССР
|
Под Минском есть ни то городок, ни то деревня с названием Приморье. Хотя моря в Беларуси не было с юрского периода. | |
|
| |
|
|
|
|
о! про Батайск я, кстати, знаю
-------------------------------------------------------
Николаичь - подтверди | |
|
| |
|
|
|
| Ну вы и закритиковали, прям не скажешь ничего =) согласен, наименования городов могут совпадать, когда последние находятся в разных субъектах. Но выбрал из двух зол самое нестрашное. Допустим Юзер выбрал
"Приморск, Выборгский район, Ленинградская область", а ему нужно
"Приморск, Светлый, Калининградская область", ну так видишь что не то выбрал, выбери другой приморск. Таких случаев от силы процентов 10, актуальность информации будет как мне кажется актуальнее, чем он будет выискивать область и город, тем более поля не обязательные, скорее всего они будут пустовать, по принципу "потом как нибудь заполню."
Нет, я не против критики, это даже очень хорошо, результат получиться самый отличный, ну предложите свой вариант, если так умеете критиковать...
У меня есть еще вариант, оставить все как есть, а для городов двойников через запятую вводить область. например:
Приморск, Калининградская область
Приморск, Ленинградская область
Вот.
У меня нет деревень, сел, хуторов, поселков, станций и т.д. Процент что когда то организация будет иметь деловые отношения с объектом, скажем,
"Соктуй-Милозан, Краснокаменский район, Читинская область", блин, минимальный... | |
|
| |
|
|
|
|
Под Минском есть ни то городок, ни то деревня с названием Приморье. Хотя моря в Беларуси не было с юрского периода.
|
Работаем только с Россией | |
|
| |
|
24 Кб. |
|
| вот посмотри.
форму Округ и подчиненные к нему создал просто так - мастером. несколько нажатий клавиш. это как пример связывания табл.
форма объек - как вариант для твоей реализации | |
|
| |
|
36 Кб. |
|
| Ну мне кажется так удобнее. | |
|
| |
|
|
|
| 1. ставить "Запрет на редактирование" нужно на область и округ в форме.
2. база получается больше, да если взять 1100 горододв России - на 4Кб, но идет речь не о конкретном примере, а о методе построения структуры, если записей сотни тысяч, и такого плана построения табл не одна то на ровном месте получаем лишний вес.
3. судя по базе это что-то военное или около, так они как раз ни любят шифроваться по таким населенным пунктам, которых и на карте нет, так что на города не надейся скорее в/ч, п/я и 33115 и проч.
извини забирают | |
|
| |
|
|
|
| 1. Согласен, запрет стоять будет
2. не согласен
2.1 С учетом всех поселков, аэропортов, станций и пр. - 65000 тысяч. то есть максимально таблица будет иметь ну пусть 70000 тысяч + 84 области + 8 округов, базу для нашей конторы разрабатываю, с 96 года имеем ну максимум 5000 объектов
2.2 Железо, на котором все это крутиться даже не заметит сколько весит база, блин, мы не в 90-х годах, когда на чип матери накручивали саморезами куллер и удаляли нах карзину чтобы место было больше =)
3. И военное тоже, но база для нас, помимо военных объектов, есть и гражданские.
С учетом выше сказанного такой подход подойдет? | |
|
| |
|
|
|
|
С учетом выше сказанного такой подход подойдет?
|
и с учетом вышесказанного такой подход все равно неверен.
1) военные округа не совпадают с административным делением
2) административное деление может меняться (и меняется)
3) деление на военные округи тоже может меняться (включаться разные территории)
4) объект на территории военного округа может подчиняться другому округу
все это приведет к тому, что в твоих таблицах накопятся неверные или устаревшие данные
и менять тебе их придется "врукопашную" прямо в таблицах выискивая блох.
в общем вольному воля - делай как хочешь | |
|
| |
|
|
|
| 1. слушай Explorer он говорит про подводные камни, это те что на верху (так на первый прищур), тех что не видно несут еще больше гемора.
2. Данные в базе данных хорошо структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки.
Под структурированностью в данном случае понимается явное выделение составных частей (элементов), связей между ними, а также типизация элементов и связей, при которой с каждым типом элемента или связи соотносится определённая семантика и допустимые операции[2], а эффективность определяется тем, как соотносятся гибкость и мощность возможностей (поиска и обработки) с затратами усилий и ресурсов.
|
это из Вики.
на конкретном примере я просто показал как лишние данные увеличивают базу, и если ты по такому же алгоритму будешь строить другие базы - набьешь шишек, чем стройнее структура БД тем проще в нее вносить изменения и получать из нее данные. | |
|
| |
|
|
|
| 1. Округа - шанс того, что появиться новый военный округ в РФ настолько мал, что даже думать об этом страшно. Разобрались с этим. Создали таблицу округов и забыли, все хорошо. на крайняк делается кнопочка добавть округ, которой наверное пользоваться никто не будет.
2. Шанс того что появиться новая область в РФ, согласен, более велик, но опять же не настолько высок. По принципу округов. Все. Разобрались.
3. Города - единственный динамически меняющийся показатель, он может поменять наименование, может вдруг оказаться в другом субъекте, в другом округе.
чем стройнее структура БД тем проще в нее вносить изменения и получать из нее данные
|
вот пример, в базе 1000 объектов, находятся они пусть в Химки - МО - МВО
тут химки вошли в состав москвы, что нужно сделать при моей структуре, зайти в таблицу, найти химки и поменять МО на город Москва. ВСЕ. Куда уж проще????
А на счет того сколько будет весить бд, мне откровенно все равно, 10 серверов с террабайтамит свободного места позволяют не думать об этом =))))
Гипотетически смоделировал случай если у конторы объекты будут ну во всей России, прям везде, таких у нас на этот год 158293, к каждому добавил облась + округ. вес базы с одной такой таблицей в 2007 аксе составил 20 мб =) работает шустро =) | |
|
| |
|
|
|
| Ребят, вопросик небольшой, пишу цикл на кнопку
if таблица1.значение1 = таблица2.значение2 then
ну и так далее.
Как правильно написать? | |
|
| |
|
|
|
| а что будет после Then ?
Можно поподробнее - что вы хотите добиться этим действом? | |
|
| |
|
|
|
| ну напишурусскими словами, хочу так:
Ели значение в таблице 1 (код) равно значению таблице 2 (код), тогда открывается форма таблицы 1 для отобранных записей по коду, если нет то открывается форма таблицы 2 с присвоением кода из таблицы 1. Вот =)
Я просто не все команды знаю, может переменные присвоить? и получиться типа:
if a=b then
tra ta ta
else
tra ta ta
end if | |
|
| |
|
|
|
| а чем вам подчиненные формы не нравятся - открываешь форму 2 (связанную с таблицей2) и в подчиненной форме 1 (связанной с таблицей1) видишь связанные записи - если добавляешь записи в форме1 то ID сам проставляется | |
|
| |
|
|
|
| хм, спасибо, нужно попробывать =) все же есть ответ по циклу, малоли может пригодятся такие знания...
Просто хотелость вести диалог с пользователем, если нет записи в связанной таблицей, то выскакивает окно, гововорит, записи нет, хотите добавить, ну и юзер думает нужно ему или нет. А если она есть то просто просматривает. Просто так окрывается пустая форма и юзер не понимает что это, я вот с какой точки зрения. Помоги в написании если знаешь, буду очень благодарен. Твой вариант сейчас моделирую =) | |
|
| |
|
|
|
|
это не цикл - это оператор условного перехода (ветвления - тернарнай оператор) писать на них циклы не очень хорошо (разве что рекурсивные)
операторы циклов это:
for ... next ...
for each ...
do while ... loop
do until ... loop
из твоего вопроса непонятно где ты хочешь устроить цикл | |
|
| |
|
|
|
| Хорошо, так как написать? Как написать сравнение значения одной таблицы с значением в другой?????????????????? | |
|
| |
|
|
|
|
из твоего вопроса непонятно где ты хочешь устроить цикл
|
если значение1 в таблице1 равно значению2 в таблице2, то открывается одна форма, если нет, то другая
Можете помочь? или еще отпишем пару десятков страниц? | |
|
| |
|
|
|
| Вы можете выложить свою базу
( с хоть не множко заполненными таблицами (соответственно левыми данными))
а то пока получается что слепой с глухим разговаривает о красоте пейзажа (извините) | |
|
| |
|
42 Кб. |
|
| Форма "postavka" отображает года для выбранного объекта. Связаны они idobekt = obekt.
Так вот что я хочу, что если для объекта не сформирована поставка, открываласть форма postavka с присвоением idobekta | |
|
| |
|
|
|
| самый простой - на событие открываемой формы "открытие "-вешай проверку есть ли в форме записи:
Private Sub Form_Open(Cancel As Integer)
If Me.RecordsetClone.EOF = True Then
DoCmd.GoToRecord , , acNewRec
Me.obect = Forms!obekt!idobect
Me.Requery
End If
End Sub
но если пользователь открыл ошибочно или не хочет вводить - нужно удалять программно заись спустой поставкой. | |
|
| |
|
|
|
| да можно хоть сто страниц написать :)))
но я не смогу помочь пока ты не поймешь основных принципов организации реляционных БД.
сранивать можно значения определенных записей в полях таблицы или разных таблиц
во втором случае (твой вопрос) сравниваемые записи должны иметь общий признак (одинаковое значение ключа) - т.е. /в частном случае/ - сравниваемой пары записей имеющих одинаковое значение ключевого поля (внутреннего ключа одной таблицы и внешнего ключа другой) | |
|
| |
|
|
|
|
во втором случае (твой вопрос) сравниваемые записи должны иметь общий признак (одинаковое значение ключа) - т.е. /в частном случае/ - сравниваемой пары записей имеющих одинаковое значение ключевого поля (внутреннего ключа одной таблицы и внешнего ключа другой)
|
совершенно верно | |
|
| |
|
|
|
| струтура БД - это таблы и их связи!!!!
- приходит "умный" чел (на смены другоме такомуже) и грит нужно добавить вот такие и такие данные по всем объектам в вот в этих отчетах и получать еще вот такие отчеты, он даже не знает что их в базе нет, и около птицы его, нет - введите любым для вас удобным способом.
в результате тебе нужно добавить в структу еще кучу табл и связать их с существующими + возможно придется менять кое-где алгоритм работы и построения базы, а твоя сделанная под условия "варианты могут быть, но мы их не учитываем", с конкретными - жесткими (сам задал, для облегчения работы) умолчаниями, - такого может не позволить - все пипец начинаем по новой строить, или переделывать до 70% старой.
есть понятие масштабируемость проекта - к БД это позволит база без особых напрягов дополнить ее еще данными, функциями, отчетами и проч....
вот ты и попал в маргарин обеими лапами:
тут химки вошли в состав москвы, что нужно сделать при моей структуре, зайти в таблицу, найти химки и поменять МО на город Москва. ВСЕ. Куда уж проще????
|
- а если не химки в МОскуву а область в другой округ.
структура таблы
1. gorod (id_gorod, naimen, id_obl, id_okru) - по мере необходимости
2. oblast (id_obl, naimen) - перечень всех областей (84)
3. okrug (id_okru, naimen) - перечень округов (8)
4. Obekt (id_obekt, ..............., id_gorod)
|
в каждом городе табла № 1 нужно менять ВЕЗДЕ округ для области, понятно можно запросом/кодом - но нет программиста рядом - сидит оператор - вспоминая программера вылавливая на форме город и меняя в ручную округ ВСЕ КУДА УЖ ПРОЩЕ!!!!!
"вот это и есть наша самая большая военная тайна" (ДБМ-1) | |
|
| |
|
|
|
|
а если не химки в МОскуву а область в другой округ.
|
Бл*, а тут я даже не подумал =( упрямство меня погубит, и погубит еще не созданную до конца базу =)
kot_k_k, беру твою структуру на вооружение!
надеюсь авторские требовать не станешь -) | |
|
| |
|
|
|
|
| просто подход - любую структуру нужно разложить на максимально (с головой конечно) возможные уровни, тогда менять потом придется очень мало. и только вершина имеет ID и название - все остальные еще ID вышестоящего уровня. | |
|
| |
|
75 Кб. |
|
| а почему у меня не получается обновить поля Name, Dol, StrPodr в форме Структура? | |
|
| |
|
|
|
| Потому что нельзя брать данные из таблицы для ввода данных в эту же таблицу.... Посмотрите внимательно структуру вашей БД. | |
|
| |
|
|
|
| я же беру данные из таблицы Общая | |
|
| |
|
15 Кб. |
|
| смотри
сделал на своем примере, ну там поймешь
П.С. предыдущее сообщение удалил - я там не правильно тебя понял | |
|
| |