Ниже код будет работать для вас
Private Sub Command531_Click()
If Nz(ComboReports, "") <> "" And Nz(ComboReports, "") <> "Select Report" Then
DoCmd.OpenReport ComboReports, acViewPreview, acWindowNormal
Else
MsgBox ("You Must First Select a Report To Open!")
ComboReports.SetFocus
End If
ComboReports = ""
End Sub
Вы ищете LOCK
.
http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html
Это может быть выполнено как простое mysql_query
(или MySQLi::query/prepare
).
Я сказал бы, что лучше заблокировать определенные таблицы (хотя можно, вероятно, попробовать LOCK TABLES *
) это должно быть заблокировано, а не целая база данных - поскольку ничто не сможет быть считанным. Я думаю, что Вы ищете что-то как:
LOCK TABLES items;
START TRANSACTION;
INSERT INTO items (name, label) VALUES ('foo', 'bar');
UNLOCK TABLES;
Или в PHP:
mysql_query('LOCK TABLES items');
mysql_query("INSERT INTO items (name, label) VALUES ('foo', 'bar')");
mysql_query('UNLOCK TABLES');
Вручную блокировка таблиц хуже, думают, что Вы могли когда-либо делать. Что происходит, если код для разблокирования их никогда не работает (потому что PHP перестал работать, или пользователь затем нажимает следующий шаг, убегает от ПК, и т.д.).
Один способ минимизировать это в веб-приложении и частой ошибке devs делает, должен иметь datagrid полное из текстовых полей данных для редактирования, с кнопкой сохранения на строку или на целой таблице. Очевидно, если человек открывает это в пятницу и возвращается в понедельник, данные могли бы быть неправильными, и они могли сохранять по новым данным. Один простой способ зафиксировать это состоит в том, чтобы вместо этого иметь кнопки EDIT на каждой строке, и нажатие кнопки затем загружает форму редактирования, этот путь они, надо надеяться, загружают новые данные и могут только отправить 1 изменение строки за один раз.
Но что еще более важно, необходимо ли включать поле даты и времени как скрытое поле ввода, и когда они пытаются утверждать, что данные смотрят на дату и решают, какого возраста данные, и примите решение, какого возраста слишком старо и предупредить или отклонить пользователя об их действии.
Читайте на транзакциях базы данных. Это - вероятно, лучший способ обработать то, в чем Вы нуждаетесь, чем рабочие ТАБЛИЦЫ БЛОКИРОВКИ.
Вы могли проверить, были ли данные изменены перед редактированием чего-то. В этом случае, если кто-то отредактировал данные, в то время как другой человек делает свое редактирование, ему сообщат об этом.
Отчасти как stackoverflow обрабатывает комментарий.