Привет ребята! Летом писал приложение на MS Access & VBA для складского учета. Понадобилось организовать потребительскую корзину и я сделал отдельную табличку для этих целей, обработотчик для поставок, продаж. Но приходиться каждый раз табличку эту подчищать запросом, после которого приложение закрывется автоматически.....Кто-нибудь знает почему так происходит ?. Есть мысля что это из-за отображения на форму, когда данные удаляются то запрос на отображенее данных ни фига не отображает, и форма начинет глючить но это только догадки.... Вот код обработчика поставок:
| Код | Private Sub bDebit_Click() On Error GoTo Err_bDebit_Click 'открывем таблицу-корзину OpenDb ("blinn") 'запоминаем последнюю запись корзины rec.MoveLast temp = rec("id") rec.MoveFirst
Do i = rec("id") thing = rec("thing") value = rec("value") Data = Дата.value sender = Поставщик.value 'Если кол-во товара >0 If value > 0 Then 'открывем таблицу поставок и пишем данные OpenDb ("debit") rec.AddNew rec("debit") = value rec("thing") = thing rec("date") = Data rec("№") = Счет.value rec("sender") = sender rec.Update 'Ищем в таблице статуса идентификатор текущего товара FindCrit = " thing= " & thing OpenDb ("status") rec.FindFirst FindCrit 'Если такого товара в таблице статуса нет то добавляем запись If rec.NoMatch Then rec.AddNew rec("thing") = thing rec("value") = value rec.Update Else 'если есть то обновляем эту запись и увиличиваем кол-во товара rec.Edit rec("value") = rec("value") + value rec.Update End If End If 'Проверяем последняя ли запись корзины обрабатывалась если да то break; OpenDb ("blinn") FindCrit = "id=" & i rec.FindFirst FindCrit If rec("id") = temp Then Exit Do End If 'если нет то переходим к следущей записи корзины rec.MoveNext Loop While rec("id") <> 0 '--------------ЗАПРОС НА УДАЛЕНИЕ ПОСЛЕ КОТОРОГО ВЫЛЕТАЕМ ИЗ ПРИЛОЖЕНИЯ ---------------------- DoCmd.OpenQuery ("clear_blinn") '---------------ЗАКРЫТИЕ ФОРМЫ---------------------------------------------------------------------------------------- DoCmd.Close
Exit_bDebit_Click: Exit Sub
Err_bDebit_Click: MsgBox Err.Description Resume Exit_bDebit_Click End Sub
|
|