|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
1. Создать таблицу, которая содержит сведения о сотрудниках фирмы. Структура таблицы: - фамилия сотрудника; - должность; - дата рождения; - дата поступления на работу; - номер отдела; - оклад. 2. Предусмотреть возможность добавления в таблицу произвольного количества строк. 3. Определить: • возраст сотрудников (количество полных лет) при поступлении на работу и на текущее время; • количество сотрудников заданного отдела младших Х лет (значение Х задано); • минимальный размер оклада. 4. Создать на 2 листе книги таблицу, которая содержит сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы. 5. Сортировать данные в таблице по заданному столбцу. 6. Увеличить на Y% оклады сотрудникам, которые проработали не меньше Z лет (значение Х и Z заданы). 7. Удалить информацию о сотрудниках старше заданного возраста. Самое последнее затруднение, в 4-м пункте, знать не знаю как выбрать несколько максимальных значений из диапазона и тем более как их ограничить 5-ю записями. Заготовка: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 00:48 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 00:59 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Это единственный возможный вариант решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 01:19 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Нет, но это самый простой и логичный. Фактически, состоит из двух команд, тут одна команда выбирает нужную информацию, другая ее вставляет в нужное место, все остальное - обрамление. 1) Можно отсортировать данные на листе и отобрать пять верхних (нижних) строк, потом все вернуть (при необходимости) 2) Наверняка можно воспользоваться формулой массива, но я не спец по ним 3) Можно воспользоваться циклическими обработками строк (или массива), но это самый длинный и муторный способ. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 01:24 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Просто никто не поверит что я такое написал сам, да и тут только фамилии, а нужны все данные ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 01:29 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
MrSavDreда и тут только фамилии, а нужны все данныеэто не проблема, в select через запятую можно указать все нужные поля MrSavDreПросто никто не поверит что я такое написал самЧтобы поверили - пиши сам. Я же не знаю, какие у тебя ограничения. Совет - не пытайся сначала написать программу, сначала продумай алгоритм, а потом, когда он заработает "на бумаге" - будешь писать реализацию ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 01:32 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Последняя просьба, можете объяснить как работает этот код? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 01:36 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Боюсь так, чтобы тебе поверили - нет. Это достаточно большой пласт - язык SQL - работа с базами данных (простой вариант которой ты сотворил) Раз это учебное задание, думаю, от тебя хотят вариант №3 Предлагаю НЕоптимальный вариант алгоритма: Начальный максимальный оклад примем за миллиард - N=1000000000 Начало цикла Сканируешь все оклады - ищешь самый большой, но меньше N. N=найденный оклад Сканируешь всех пользователей - отбираешь всех с окладом N Если общее количество набралось 5 - принудительно выходишь из цикла. Конец цикла Можешь придумать свой ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 01:47 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Диапазону ячеек можно присвоить формат даты через vba? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 01:51 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Да, конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 02:01 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Можно пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 02:02 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Shocker.Pro1) Можно отсортировать данные на листе и отобрать пять верхних (нижних) строк, потом все вернуть (при необходимости) Вот пример: ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 02:09 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Этот код тоже не объяснить, что ж, по крайней мере он корректно вставляет даты. Спасибо господа, вам обоим ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 02:15 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Почему не объяснить-то? Во-первых, код практически делает то же самое, что записал бы тебе макрорекордер (сделать копию листа - отсортировать данные - выбрать заголовок и пять первых строчек - скопировать их на второй лист - удалить копию). Просто убраны "излишние" телодвижения. Во-вторых, я специально использовал такие методы и свойства, чтобы код процедуры был именно "читаемым". Попробуй просто внимательно прочесть (сверху-вниз слева-направо) каждую из строк кода... только не говори мне, что ты изучаешь не английский язык ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 02:20 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
MrSavDreЭтот код тоже не объяснитьAndreTMПочему не объяснить-то?Привет, Андрей, все жду, когда же ты появишься в топике )) Потому что по идее учебный код должен состоять только из того, что проходили. При этом часто задачи формулируются исходя из того, что студент не знает и не может знать о существовании других инструментов для решения задачи, а мы в свою очередь не знаем, какими рамками мы ограничены, так как студент нам этих рамок не предоставляет. Посему, я и предлагаю ТС думать самому, благо студент попался не халявщик, и что-то упроно делает, реализовывая имеющиеся знания. ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 02:29 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Ну, так и я о том же. Только несколько с другой стороны: экономистов часто "учат" (в плане VBA) не алгоритмам, а "макрорекордированию" А то, что код "немного причёсан" - так это завсегда можно исправить, ведь ломать - не делать... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 02:37 |
|
Сведения о 5-ти самих высокооплачиваемых сотрудниках фирмы
|
|||
---|---|---|---|
#18+
Вот, кстати, те же самые действия, записанные рекордером. Найдёте много отличий? Код Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2014, 02:46 |
|
|
start [/forum/topic.php?fid=60&msg=38522731&tid=2156584]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
129ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 239ms |
0 / 0 |