Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Цикл по добавлению свободного номера, Необходимо по нажатию кномпки добавлять  
:(
    Опции темы
vavilom
Дата 19.10.2012, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.10.2012

Репутация: нет
Всего: нет



Добрый день. Такая задача: есть таблица сотрудников: sotrudnik, таблица номеров:mun, необходимо присваивать и лишать номера сотрудникам. В форме 2 это реализовано так: Присваивая по нажатию кномпки, выбирается свободный номер из таблицы mun, и этот же номер обновляется на статус (2) что означает что этот номер теперь занят, и запросом на добавление заносятся данные в таблицу истории:story.

Код

Private Sub êîìàíäà6_Click()
Dim a
Dim sql As String
Dim sql2 As String

a = DMin("num.numgrup", "num", "status = '1'")
Me.personnum = a
Me.Dirty = False
sql = "update num set status = '2' where numgrup = " & Me.personnum
CurrentDb.Execute sql
DoCmd.OpenQuery "prisv"
End Sub
Что интересно если за место DoCmd.OpenQuery "prisv" написать CurrentDb.Execut "prisv" высткакивает 3061, замало параметрів. очікується 2. Хотя в других формах я так запускал запрос на добавление.

И удалить номер так:

Код

Private Sub êîìàíäà7_Click()
Dim sql As String
Dim sql2 As String
sql = "update num set status = '1' where numgrup = " & Me.personnum
sql2 = "update sotrudnik set personnum = '' where id = " & Me.id
DoCmd.OpenQuery "ubr"
CurrentDb.Execute sql
CurrentDb.Execute sql2
Forms![Ôîðìà2].Requery
End Sub


Но если нужно удалить 100 номеров это займет уйму времени, я создал запрост тех кого удалить нужно, так же запрос кому нужно добавить номер и на Форме 1 кнопки добавить и убрать, но реализовать это не получается, мне сказали нужно через цикл попробовал написать неполучается:

Код

Private Sub 0_Click()
Dim a
Dim sql As String
Dim sql2 As String
Dim sotr
sotr = prisvoit.id
a = DMin("num.numgrup", "num", "status = '1'")
sql2 = "update sotrudnik set personnum = " & a
sql = "update num set status = '2' where numgrup = " & a
For Each sotr In sotrudnik
CurrentDb.Execute sqll
CurrentDb.Execute sql
Next sotr
End Sub

Наверно все не правильно сделал. Не пойму как для переменной сотрудники присвоить id сотрудника из таблицы sotrudnik, может кто нибудь поможет с этим циклом? 

Это сообщение отредактировал(а) Akina - 19.10.2012, 15:37

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  sotrudniki2.7z 35,81 Kb
PM MAIL   Вверх
Akina
Дата 19.10.2012, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Бред какой-то. Всё, что можно сделать через.... ммм... в общем, так и сделано.

Первый вопрос - база будет работать в однопользовательском режиме или в многопользовательском?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
vavilom
Дата 20.10.2012, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.10.2012

Репутация: нет
Всего: нет



Цитата(Akina @ 19.10.2012,  15:44)
Бред какой-то. Всё, что можно сделать через.... ммм... в общем, так и сделано.

Первый вопрос - база будет работать в однопользовательском режиме или в многопользовательском?

Согласен что цикл я написал бред, но не может быть такого что если небходимость убрать номер у 200 человек, или присвоить 300 нужно каждого искать и нажимать кнопочку. Возможно сделать это одним нажатием, только я не знаю как сделать этот цикл. На счет пользователей один пользователь.
PM MAIL   Вверх
Akina
Дата 20.10.2012, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Если один пользователь - то к чему все эти навороты? Впрочем, дело ваше...

Второй вопрос - почему нужно вручную присваивать номера пользователям? почему нельзя спокойно сделать поле номера счётчиком - и пусть у СУБД голова болит не дублировать... чем так пугают "дыры" в нумерации?



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
vavilom
Дата 22.10.2012, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.10.2012

Репутация: нет
Всего: нет



Цитата(Akina @ 20.10.2012,  21:56)
Если один пользователь - то к чему все эти навороты? Впрочем, дело ваше...

Второй вопрос - почему нужно вручную присваивать номера пользователям? почему нельзя спокойно сделать поле номера счётчиком - и пусть у СУБД голова болит не дублировать... чем так пугают "дыры" в нумерации?

Раньше так и было, это очень долго и сложно обьяснять, это тонкость нашей фирмы, номеров ограниченное количество сотрудникам некоторым будет несколько раз присваивать и уберать номера.  Некоторые сотрудники вообще будут работать без номеров. В общем мне уже помогли, добрый человек по имени Панург  smile , все равно спасибо за отклик!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.