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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Подскажите пожалуйста решение такой задачки?
 
 автор: mulrus   (28.06.2009 в 18:41)   личное сообщение
 
 

Столкнулся с такой задачей

У меня есть поля

Студент | Группа | Курс
Иванов 209 2
Сидор 209 2
Иван 209-з 2

Саакисян 309 3
Панов 309 3
Михалов 309-з 3

Так вот, как мне сделать так, чтобы те кто был на 2 курсе перевелись на 3-курс в идентичные группы, а те кто были на 3-ем на 4-ый соответсвенно? Может кто знает решение.

  Ответить  
 
 автор: Гоблин   (28.06.2009 в 22:51)   личное сообщение
7 Кб.
 
 

Проверь таблицу, запусти запрос и проверь таблицу снова. Так?

  Ответить  
 
 автор: mulrus   (28.06.2009 в 23:12)   личное сообщение
 
 

Хм...это я знаю...но все равно спасибо....

Но я написал...фигня заключается в том, чтобы помимо курса...мне надо еще и в группу перевести. То бишь: студент находится в 209 группе на 2-ом курсе, должен перевестись в 309 на 3 курс.....

  Ответить  
 
 автор: Lukas   (28.06.2009 в 23:33)   личное сообщение
 
 

Во "взрослой" системе, на каждый учебный год должна формироваться структура учебного заведения.
На основании приказов по учебному заведению на зачисление формируются группы первого курса.
По окончании учебного года, приказом, студенты переводятся на следующий курс.
Закончившие обучение - отчисляются и т.д.
(Формируется структура учебного заведения на новый учебный год.)

В вашем случае, проще всего, хранить в таблице запись группы в виде "09" и курс, а в нужных местах "собирать" группу: [Курс] & [Группа].
Тогда при "переводе студента на следующий курс" достаточно будет изменить значение поля [Курс].

Или в нынешнем виде запросом:

UPDATE Студенты SET 
Группа = Курс+1 & Mid(Группа,2), 
Курс = Курс+1;

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

  Ответить  
 
 автор: Гоблин   (28.06.2009 в 23:25)   личное сообщение
12 Кб.
 
 

Или не заморачиваясь с формами грубо говоря типа так.

  Ответить  
 
 автор: Гоблин   (28.06.2009 в 23:26)   личное сообщение
 
 

А нутак бы и сказал. А то курс. Токмо время цыгель. Завтра уже.
А собственно какая разница. Ежели в структуре каждому курсу соответствует определенная группа, (Основная таблица - курс, подчиненная - группа.) То меняя курс у толпы - они автоматом будут попадать в свои группы.
Или нечто не так? В противном случае нужно будет каждому индивидуальный подход - кого в какую группу.
Или я опять чего-то не так понял.

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

Создать запрос на обновление где обновлением будет значение функции
группу в функции разложить на составляющие т.е. на число и текст потом к числу + 100 и собрать обратно , с курсом проще +1 (а нужен ли этот столбец в таблице если первая цифра группы обозначает курс)

  Ответить  
 
 автор: mulrus   (29.06.2009 в 10:47)   личное сообщение
 
 

Спасибо за помощь, в последующих версиях конечно сделаю, чтобы группы хранились формате, который указал Lukas. А так пока пришлось вывернуться из текущей ситуацией таким методом.

1. Сначала перевел всех на следующий курс
2. Затем отрезал функцией Mid() первый символ от старой группы
3. Склеил новый КУРС с ОСТАВШИМИСЯ ДВУМЯ последними символами от грцппы
и все студенты стали переведенными.

Большое спасибо коллеги.

  Ответить  
 
 автор: snipe   (29.06.2009 в 11:06)   личное сообщение
 
 

Mid("строка",1,1) - отрежет первый символ ( в данном случае будет "с").....
а связка Mid("строка",1,1) & Mid("строка",2) lвернет "строка" (но сначала разделит на "с" и "трока" а потом объединит)

  Ответить  
 
 автор: mulrus   (29.06.2009 в 11:07)   личное сообщение
 
 

Тоже большое спасибо.

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