Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Отмена  [new]
ИгорьКл
Member

Откуда: Пермский край
Сообщений: 570
Есть такой код. То есть если такой товар продавали, то выходит сообщение и курсор переходит на поле, где такой товар уже вводили. Вопрос - как сделать отмену только что введённому значению, которое уже было. Если написать Me.Undo перед поиском, то поиск не производится, а если после, то отмена не происходит. Может, что-то не так делаю.
Private Sub id_tovar_AfterUpdate()
    Dim db As Database
    Dim rs As Recordset
    Dim col As Integer
            Set db = CurrentDb()
        	Set rs = db.OpenRecordset("qryPoisk", dbOpenSnapshot)
   	 Do Until rs.EOF
             If rs!id_tovar = id_tovar Then
                	col = col + 1
                        MsgBox ("Товар был в продаже."), vbInformation
                   ' Поиск записи, соответствующей этому элементу управления.
                       Set rs = Me.Recordset.Clone
                       rs.FindFirst "[id_tovar] = " & Str(Nz(Form_sfrSostav.id_tovar, 0))
                       If Not rs.EOF Then Bookmark = rs.Bookmark
                End If
            rs.MoveNext
            Loop
        rs.Close
        Set rs = Nothing
End Sub
20 мар 06, 17:58    [2468727]     Ответить | Цитировать Сообщить модератору
 Re: Отмена  [new]
shirk
Member

Откуда: г. Санкт-Петербург
Сообщений: 401
МОжно создать рекорсет на основе запроса к базе... Если количтесво записей в запросе будет >0 тогда выдавать сообщение что такой товар уже есть... И потом выдрать id из рекордсета перейти на запись с этим id
20 мар 06, 18:18    [2468832]     Ответить | Цитировать Сообщить модератору
 Re: Отмена  [new]
ИгорьКл
Member

Откуда: Пермский край
Сообщений: 570
В принципе у меня так и сделано. Мне надо удалить ту запись которую ввели повторно. Я нахожу запись которая совпадает с только что введённой и перевожу туда курсор, а запись которую ввели повторно надо удалить или сделать отмену. Как?
20 мар 06, 18:25    [2468864]     Ответить | Цитировать Сообщить модератору
 Re: Отмена  [new]
Пользователь2
Guest
У меня все ок.

Private Sub id_tovar_AfterUpdate()
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim strSearch As String
    
    Set rst = Me.RecordsetClone
    strSearch = Str(id_tovar)
    
    rst.FindFirst "id_tovar = " & strSearch
    
    If rst.NoMatch Then
        Debug.Print "Запись не найдена."
    Else
        Me.Undo
        Me.Bookmark = rst.Bookmark
    End If
    
    rst.Close
End Sub
21 мар 06, 10:10    [2470201]     Ответить | Цитировать Сообщить модератору
 Re: Отмена  [new]
ИгорьКл
Member

Откуда: Пермский край
Сообщений: 570
2 Пользователь2
автор
У меня все ок.

Теперь и у меня всё ОК! Огромнущее спасибо!
21 мар 06, 15:05    [2472105]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить