LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Повторяющ...
 Тема: Повторяющиеся события
 
 15.06.2007 21:01:55
Sergey
3 сообщения


Тема: Повторяющиеся события
У меня возникла такая "проблема".При нажатии кнопки происходит обработка ряда одинаковых полей. Причем каждое поле обрабытывается так же как и предыдущее. Возможно ли создание класса,для обработки одинаковых полей. У меня сейчас это выглядит примерно так
Private Sub Sum_Click()
Dim EDEY_1 As Single
Dim EDEY_N As Single

If Mid$([Ctl1], 1, 1) = "н" Then ED1 = Mid$([Ctl1], 2, 4)
Select Case ED1
Case 1 To 24
EDEY_1 = ED1
Case Else
EDEY_1 = 0
End Select
'далее следует повторяющаяся обработка для N полей....
If Mid$([Ctl1], 1, 1) = "н" Then ED1 = Mid$([Ctl1], 2, 4)
Select Case ED1
Case 1 To 24
EDEY_N = ED1
Case Else
EDEY_N = 0
End Select
' и так далее

EDEY = EDEY_1+......EDEY_N
CtlO.Value = EDEY
End Sub



P.S. Создание классов
Автор: Sergey от 31.01.2002 5:28:28 Источник ...
 15.06.2007 21:01:55
Sergey
3 сообщения


RE: Повторяющиеся события
Досадная ошибка в примере:

Private Sub Sum_Click()
Dim EDEY_1 As Single
Dim EDEY_N As Single

If Mid$([Ctl1], 1, 1) = "н" Then ED1 = Mid$([Ctl1], 2, 4)
Select Case ED1
Case 1 To 24
EDEY_1 = ED1
Case Else
EDEY_1 = 0
End Select
'далее следует повторяющаяся обработка для N полей....
If Mid$([Ctl2], 1, 1) = "н" Then ED_N = Mid$([Ctl2], 2, 4)
Select Case ED_N
Case 1 To 24
EDEY_N = ED_N
Case Else
EDEY_N = 0
End Select
' и так далее

EDEY = EDEY_1+......EDEY_N
CtlO.Value = EDEY
End Sub


P.S. Создание классов
Автор: Sergey от 31.01.2002 7:29:31 Источник ...
 15.06.2007 21:01:55
All
4316 сообщения
1-ый


RE: Повторяющиеся события
Вообще класс желательно создавать в том случае, если Вам в классе формы "мешают" одинаковые однотипные операторы. В данном случае проще создать внешнюю функцию c одним аргументом. Например,

Public Function funSumFields(ctl As Control)
Dim ctl1 As Control, i As Long
For i = 1 To 10
Set ctl1 = ctl.Parent.Controls("Ctl" & i)
If Mid$(ctl1.Value, 1, 1) = "н" Then ED_N = Mid$(ctl1.Value, 2, 4)
'...
Next
' ...
End Function



P.S. Создание классов
Автор: Виктор Конюков от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Повторяющ...
ПоискПоиск  Список форумовСписок форумов  
right