Привет всем! Пролейте свет на следующую проблему. Есть сервер, на котором лежит БД Access. С нескольких компьютеров к ней оброщаются клиентские программы. В БД есть таблица "MySclad", в которой записывается Дата и Время создания накладной (при открытии этой накладной). Это для того, чтобы в один момент времени мог только один пользователь открыть накладную. При закрытии накладной, запись о времени создания накладной удаляется и соответственно с другого компа можно просмотреть и т.д.
Public Sub ClearScladDate()
Dim rs As Recordset
Set rs = New Recordset
SQL = "SELECT * FROM MySclad WHERE " & _
" MyDate=#" & Format$(ScladDate, "mm\/dd\/yyyy") & _
"# AND MyTime=#" & Format$(ScladTime, "hh:mm:ss") & "#"
rs.Open SQL, cn, adOpenStatic, adLockOptimistic
rs.Delete
rs.Close
Set rs = Nothing
ScladDate = sEmpty
ScladTime = sEmpty
End Sub
И в коде при попытке открыть накладную идет проверка:
Set rs = New Recordset
SQL = "SELECT * FROM MySclad WHERE " & _
" MyDate=#" & Format$(grdRash.Columns(1).Value, "mm\/dd\/yyyy") & _
"# AND MyTime=#" & Format$(grdRash.Columns(6).Value, "hh:mm:ss") & "#"
rs.Open SQL, cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.Close
Set rs = Nothing
Exit Sub
Else
rs.AddNew
rs!MyDate = grdRash.Columns(1).Value
rs!MyTime = grdRash.Columns(6).Value
ScladDate = grdRash.Columns(1).Value
ScladTime = grdRash.Columns(6).Value
rs.Update
End If
rs.Close
Set rs = Nothing
Так проблема в том, что при первой проверке все прекрасно работает. После нескольких проверок (закрытия и открытия накладных-- удаления и создания записей в таблице) проверка не срабатывает. Хотя в таблице есть запись, но запрос показывает rs.RecordCount =0. Может чтото в блокировке, хотя не думаю. Пробовал на двух компьютерах в сети, и на одном, запуская два экземпляра приложения.Никак не пойму в чем дело. Помогите найти причину. Спасибо.