| |
|
|
| | Помогите пожалуйста...
Есть две многостраничные формы (БД в архиве http://slil.ru/29276574). Переход по страницам осуществляется с помощью кнопок(назад, далее)
Вот этот кусок кода является общим:
Public Sub NewPage(ByVal vNewValue As Variant)
On Error GoTo CurrentPageErr
With Me
.GoToPage vNewValue
If vNewValue = intMaxPages Then
.cmdEnter.Enabled = True
.cmdNext.Enabled = False
ElseIf vNewValue = 1 Then
.cmdPrevious.Enabled = False
.cmdEnter.Enabled = False
Else
.cmdEnter.Enabled = False
.cmdNext.Enabled = True
.cmdPrevious.Enabled = True
End If
End With
intCurrentPage = vNewValue
CurrentPageErr:
Resume Next
End Sub
|
Помогите сделать так чтобы его можно было использовать данный кусок кода как в форме frmУвольнение так и в форме frmПрием, пытался вставить его в глобальный модуль, ну что то не получилось. Сама БД в архиве http://slil.ru/29276574 | |
| |
| |
| |
|
|
| | Ваша проблемка в том что глобальный модуль не знает с какой формой работать
1. вот тут надо добавить
Public function NewPage(ByVal vNewValue As Variant, nameform as string)
2. вот тут изменить
With forms(nameform)
3. функцию вызывать как-то так
call NewPage (2, me.name) | |
| |
| |
| |
|
|
| | пробовал так делать, при этом возникает другая проблема
Теперь при переходе на последнюю страницу переменная intMaxPages обнуляется и при этом мы не попадаем в ветку
If vNewValue = intMaxPages Then
.cmdEnter.Enabled = True
.cmdNext.Enabled = False
|
| |
| |
| |
| |
|
|
| | значит надо значение переменной тоже передавать функции
попробуйте догадаться какие цифры я имею в виду в следующем примере
X+Y=Z
вот так и функция раз есть переменная и она не имеет значения значит 0 | |
| |
| |
| |
|
|
| | А можно на примере который я выложил...
Идею то я понял, но вот реализовать не получается...( | |
| |
| |
| |
|
|
| | ну как-то так
Public function NewPage(ByVal vNewValue As Variant, nameform as string, ntMaxPages1 as long) as long
On Error GoTo CurrentPageErr
With forms(nameform)
.GoToPage vNewValue
If vNewValue = intMaxPages1 Then
.cmdEnter.Enabled = True
.cmdNext.Enabled = False
ElseIf vNewValue = 1 Then
.cmdPrevious.Enabled = False
.cmdEnter.Enabled = False
Else
.cmdEnter.Enabled = False
.cmdNext.Enabled = True
.cmdPrevious.Enabled = True
End If
End With
NewPage=vNewValue
CurrentPageErr:
Resume Next
End function
пример вызова
intCurrentPage = NewPage(2,me.name,10) | |
| |
| |
| |
|
|
| | Если использовать нестандартные экземпляры класса, ссылки через коллекцию открытых форм по имени < forms(nameform) > работать не будут. Лучше к этому не "привыкать".  | |
| |
| |
| |
 79 Кб. |
|
| | На примере формы "frmПрием"
Вся логика работы кнопок вынесена в специально обученный класс.
Выполнение действий по событиям можно отменять, присвоив аргументу Cancel значение True.
В примере отменяется "Отмена".
Перехватываются и отменяются нажатия клавиш PageUp и PageDown в форме. | |
| |
| |
| |
|
|
| | Lukas
это архив 7z?
(а то у меня текст открылся с абракадаброй) | |
| |
| |
| |
|
|
| | Там расширение надо прибавить .7z.
В Zip-е не лезло. | |
| |
| |
| |
 47 Кб. |
|
| | Тут zip => | |
| |
| |
| |
|
|
| | Да... Круто!!! Спасибо огромное,Lukas!!! | |
| |
| |
| |
|
|
| | Lukas, а как сделать так чтобы при нажатии кнопки "Готово" (см. последний архив) форма не закрывалась, а становилась активной первая страница формы и соттветственно все кнопки (кроме назад) были активные.
Заранее спасибо!!! | |
| |
| |
| |
|
|
| | Изменить процедуру кнопки в классе, как-то так:
Private Sub btnEnter_Click()
blnCancel = False
RaiseEvent Confirmation(blnCancel)
If Not blnCancel Then
' DoCmd.Close
intCurrentPage = 1
Movement
End If
End Sub
|
| |
| |
| |
|
|