Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2010, 09:40   #1
Kot9ra
Пользователь
 
Аватар для Kot9ra
 
Регистрация: 10.06.2010
Сообщений: 17
Вопрос Изменение данных и перенос данных из одной таб в другую

Помогите плиз Новечку
Создал базу, теперь не знаю как сделать:
1. Нужно чтобы форма "данные о сотруднике" открывалась при старте.
2. В форме "данные о сотруднике" есть флажок "разрешить изменение данных", нужно чтобы данные всегда были закрыты от редактирования и только при установке галочки данные открывались для редактирования.
3. Есть кнопка "уволить" чтобы при её нажатии выскакивало окно подтверждение увольнения "Да" или "Нет" и при нажатии кнопки да все данные о сотруднике находящиеся в таблице "Сотрудники" перемещались в таблицу "Уволенные" кроме столбца "№ п/п" -(Счетчик).

Кто может помогите.

Заранее благодарю
Вложения
Тип файла: rar База.rar (51.4 Кб, 20 просмотров)
С уважением,
Константин.
Kot9ra вне форума Ответить с цитированием
Старый 23.06.2010, 20:08   #2
AdrenalinE
Пользователь
 
Аватар для AdrenalinE
 
Регистрация: 29.09.2007
Сообщений: 95
По умолчанию

1. В основном меню аксеса Tools - Startup (если речь о 2003), если 2007, то в настройках в разделе Current database что-то похожее.
2. Через свойство Visible, полагаю.
3. Через связку SQL-конструкций INSERT INTO и DELETE FROM.
AdrenalinE вне форума Ответить с цитированием
Старый 23.06.2010, 22:18   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Kot9ra.

Первый совет от AdrenalinE я поддерживаю, действительно Параметры запуска устанавливаются в меню MS Access.

Со вторым не соглашусь, свойство Visible не имеет никакого отношения к изменению данных. Вы в своём проекта используете обработку макросами, как изменить свойства макросами объяснять не буду, предложу код VBA для Вашей задачи - "..только при установке галочки.."
Код:
Private Sub Флажок86_Click()
Dim b As Boolean
	b = Флажок86.Value
	Me.AllowAdditions = b
	Me.AllowDeletions = b
	Me.AllowEdits = b
End Sub
От третьего решение как и от таблицы "Уволенные", предлагаю отказаться совсем. Добавьте в таблицу "Сотрудники" поле "ДатаУвольнения" и все данные могут храниться в одной таблице, без проблем с "перемещением в таблицу..."
Источником записей формы может быть запрос отображающий только работающих сотрудников
Код:
SELECT *
FROM Сотрудники
WHERE ДатаУвольнения Is Null
или только уволенных
Код:
SELECT *
FROM Сотрудники
WHERE ДатаУвольнения Is Not Null
Евгений.

P.S. выкладывая сообщение не забывайте обращаться к тем кому его адресуете, не знаете как - можно просто поздоровавшись.

Простите не могу сдержаться: "..плиз Новичку.." - не пишите иностранные слова русскими буквами, лучше следите чтобы русские слова были правильно написаны.
Teslenko_EA вне форума Ответить с цитированием
Старый 23.06.2010, 23:00   #4
AdrenalinE
Пользователь
 
Аватар для AdrenalinE
 
Регистрация: 29.09.2007
Сообщений: 95
По умолчанию

Евгений, фразу "открывались для редактирования" я понял как то, что до этого они скрыты, поэтому и предложил Visible. Если задание подразумевает постоянное наличие данных в поле обозрения пользователя, то Ваш совет, конечно, к месту.
AdrenalinE вне форума Ответить с цитированием
Старый 24.06.2010, 09:29   #5
Kot9ra
Пользователь
 
Аватар для Kot9ra
 
Регистрация: 10.06.2010
Сообщений: 17
По умолчанию

По поводу флажка так и не получается после вставки кода ни чего не произходит, данные как менялись так и меняются. Мошет я чего не понимаю объясните.
Как лучше закрыть данные? чтобы потом при установки флажка разрешалось редактировать.
С уважением,
Константин.
Kot9ra вне форума Ответить с цитированием
Старый 24.06.2010, 18:18   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Kot9ra.
У формы есть три свойства
AllowAdditions - разрешение добавления
AllowDeletions - разрешение удаления
AllowEdits - разрешение изменения

задайте им значения - Нет, они задаются в свойствах, вкладка Данные. Программно их можно устанавливать тоже, но для этого изменение должно запускаться событием, в моём примере это событие Нажатие кнопки Вашего объекта Флажок86. Простое размещение кода в модуле формы не является подключением обработчика события. Для "подключения" необходимо в свойствах объекта (Флажок86) на вкладке События, событию Нажатие кнопки назначить процедуру (выбрать из списка [Процедура обработки событий]). И только попом редактировать код.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 25.06.2010, 06:44   #7
Kot9ra
Пользователь
 
Аватар для Kot9ra
 
Регистрация: 10.06.2010
Сообщений: 17
По умолчанию

Доброе утро! Начался рабочий день вроде с хорошим настроением.
Евгений, то как вы описали проделать действия я и тогда сделал, но есть одно "но". Форму я то закрываю от изменений, удалений и редактирования. но данный флажок так же находится в этой форме, и он получается тоже заблокирован от изменений. Наверно гдето надо прописать его открытие независимо от разрешений формы. ток как и где непойму.

Евгений подскажите, Может мне лучше тогда добавить кнопку Разрешающую редактировать, а при нажатии на кнопку сохранения, данные чтобы опять блокировались. Если на Ваш взгляд этот вариант лучше, то помогите сделать это.
заранее благодарю.
С уважением,
Константин.

Последний раз редактировалось Stilet; 25.06.2010 в 09:04.
Kot9ra вне форума Ответить с цитированием
Старый 25.06.2010, 15:15   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Kot9ra.
Да действительно "проблема" имеет место если пытаться управлять не подчиненной формой, а той на которой установлен контрол. У него есть возможность быть подключенным к данным и MS Access блокирует его возможность изменять данные.
Предлагаю два простых решения :
1. разместите на форме аналогичный контрол CheckBox из библиотеки Microsoft Forms 2.0, он не подключается к данным источника и потому не блокируется и будет работоспособным.
2. "..добавить кнопку.." поручив ей управления разрешениями, для удобства индикации можно менять надпись на ней и её цвет задав предварительно значения по умолчанию
Код:
Dim b As Boolean ' переменная объявляется на уровне модуля
.....
Private Sub Кнопка1_Click()
Const sM = "Изменение ", sM1 = "разрешено", sM2 = "запрещено"
b = Not b
AllowAdditions = b
AllowEdits = b
AllowDeletions = b
Кнопка1.Caption = sM + IIf(b, sM1, sM2) '
Кнопка1.ForeColor = IIf(b, 0, 255) '
End Sub
Пробуйте и у Вас всё получится.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 01.07.2010, 09:56   #9
Kot9ra
Пользователь
 
Аватар для Kot9ra
 
Регистрация: 10.06.2010
Сообщений: 17
По умолчанию

Здраствуйте Евгений,
Благодарю за помощь, немного конешно у меня не получилось так как при повторном нажатии на "Кнопка1" запрет на изменение не выходит. остается неизменным кнопка с надписью "Изменение разрешено" и данные открыты для редактирования.
С уважением,
Константин.
Kot9ra вне форума Ответить с цитированием
Старый 01.07.2010, 20:16   #10
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Kot9ra.
"..немного конечно .. не получилось.." ?
в файле образец.
Евгений.
Вложения
Тип файла: rar образец.rar (11.3 Кб, 37 просмотров)
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных из строки одной таблицы БД в другую БД Optigood БД в Delphi 15 12.05.2010 17:07
Перенос данных из одной таблицы в другую в Excel Vindima Помощь студентам 2 11.04.2010 19:54
перенос значений из одной базы данных в другую mr.D Microsoft Office Excel 3 16.03.2010 21:11
Перенос данных из одной книги со многих листов в другую gavrylyuk Microsoft Office Excel 34 20.07.2008 21:39
Перенос данных в из 1 таб. в другую... ivp88 БД в Delphi 12 11.01.2008 15:45