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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Как при включении флажка сделать всю запись нередактируемой
 
 автор: roland_08   (16.05.2009 в 01:43)   личное сообщение
 
 

Помогите реализовать

  Ответить  
 
 автор: АлексейAlex   (16.05.2009 в 08:44)   личное сообщение
 
 

см. тут прикрепленные файлики у Леона

http://hiprog.com/forum/read.php?id_forum=1&id_theme=5169

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

ну если подсказать теоретически....
то у каждого поля есть свойство Locked когда оно false - поле блокируется от внесения записей если true то не блокируется....осталось одно при возникновении определенного условия (в вашем случае наличие галочки во флажке) изменить во всех полях формы это свойство на нужное......

далее не мое - разыскал тут в недрах этого форума


Вопрос: Обработка значений всех полей формы .... или о пользе префиксов (суффиксов) в названиях объектов.

Совет:
Есть некий документ - в данном случае просто форма, в котором находятся некие данные плюс реквизиты некого предприятия (Банковские там и пр....)

Задача:

"Зачистить" (то есть задать значение NULL) этим реквизитам, и только им - остальные поля оставить как есть.

Причем:

В отличии от остальных полей формы, название каждого "зачищаемого" поля реквизитов начинается с "Rec" ( "RecName" =Название предприятия, "RecBank"= Название банка и т.д.) , если нет то следует привести поля под это правило.

Тогда:

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

Dim MyControl As Control
Dim MyControlName As String

'цикл по обработке всех обьектов формы
For Each MyControl In Me.Controls
With MyControl
MyControlName = .Name
'проверка имени тек. обьекта
If Left(MyControlName, 3) = "Rec" Then
'если это поле реквизитов то меняем значение
.Value = Null
End If
End With
Next MyControl





теперь вам остается попытаться объединить все что я тут написал

и еще посмотреть тут.....http://hiprog.com/forum/read.php?id_forum=1&id_theme=5124&page=2

  Ответить  
 
 автор: roland_08   (17.05.2009 в 17:21)   личное сообщение
 
 

а что Вы скажите по поводу этого
Private Sub flag_Click()
If flag=True Then
Form_podForm1.pddate.Enabled = False
Else
Form_podForm1.pddate.Enabled = True
End If
End Sub
не могу понять что такое pddate

  Ответить  
 
 автор: Анатолий (Киев)   (18.05.2009 в 11:52)   личное сообщение
 
 

Для вашей задачи я бы применил событие Form_Dirty:

If Me.ActiveControl.Name = "ИмяФлажка" Then
  Me.Refresh         'Изменили флажок - сохраняем запись
ElseIf Me![ИмяФлажка] = True
  Cancel = True     'Если флажок установлен - запрещаем редактирование других полей.
End If


Form_podForm1.pddate.Enabled = False


Здесь запрещается доступ к полю "pddate" на форме "podForm1". Надо сказать, что это нестандартное обращение к форме, я таким не пользуюсь.
Для текущей формы можно так:
Me![pddate].Enabled = False
Для другой открітой формы (не субформы):
Forms![podForm1]![pddate].Enabled = False

  Ответить  
 
 автор: roland_08   (18.05.2009 в 16:02)   личное сообщение
 
 

Все сделал, но вот только он блокирует полностью все записис с таким полем как сделать так чтобы он блокировал только текущую запись?

  Ответить  
 
 автор: Леон   (18.05.2009 в 16:25)   личное сообщение
 
 

введи в таблицу с данными логическое поле

  Ответить  
 
 автор: roland_08   (18.05.2009 в 18:03)   личное сообщение
 
 

вел, но вот незадача, те записи которые заблокированы при новом открытии формы снова доступны для редактирования, как можно сделать так чтобы все сохранялось?

  Ответить  
 
 автор: snipe   (19.05.2009 в 02:51)   личное сообщение
 
 

Вы обрабатываете только одно событие - скорее всего После обновления флажка.....
если дополнительно обрабатывать событие формы текущая запись то проблемка решиться

  Ответить  
 
 автор: roland_08   (20.05.2009 в 18:12)   личное сообщение
 
 

а как сделать так чтобы блокировалась заись не только в форме, но и данная запись в таблице?

  Ответить  
 
 автор: snipe   (21.05.2009 в 05:01)   личное сообщение
 
 

Позвольте поинтересоваться - а за чем?......
если заблокировать текущую запись в таблице от внесения изменений пока форма просматривает запись (ну что бы два и более юзеров не начали бодаться за инфу) то это в настройках ......
а если заблокировать запись в таблице при прямом доступе к таблице то это (для меня) не понятно вообще ...... к таблицам доступ имею только я и ни кто другой, остальные имеют право получать инфу через те алгоритмы которые им предложены и ни как иначе....а предоставить юзерам прямой доступ к таблицам это равносильно что бегемота в посудную лавку завести и оставить без присмотра - за пять минут так заюзают что за 10 лет не разберешься.....

по этому и возник вопрос - почему возникла необходимость блокирования записей прямо в таблице?

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