Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Использование общего куска кода в двух формах
 
 автор: TimRus   (08.06.2010 в 17:03)   личное сообщение
 
   to: Lukas   (08.06.2010 в 16:12)
 

Спасибо!!

  Ответить  
 
 автор: Lukas   (08.06.2010 в 16:12)   личное сообщение
 
   to: TimRus   (08.06.2010 в 15:27)
 

Изменить процедуру кнопки в классе, как-то так:

Private Sub btnEnter_Click()
    blnCancel = False
    RaiseEvent Confirmation(blnCancel)
    If Not blnCancel Then
'        DoCmd.Close
        intCurrentPage = 1
        Movement
    End If
End Sub

  Ответить  
 
 автор: TimRus   (08.06.2010 в 15:27)   личное сообщение
 
   to: TimRus   (06.06.2010 в 01:18)
 

Lukas, а как сделать так чтобы при нажатии кнопки "Готово" (см. последний архив) форма не закрывалась, а становилась активной первая страница формы и соттветственно все кнопки (кроме назад) были активные.
Заранее спасибо!!!

  Ответить  
 
 автор: Lukas   (06.06.2010 в 01:44)   личное сообщение
47 Кб.
 
   to: Lukas   (06.06.2010 в 01:17)
 

Тут zip =>

  Ответить  
 
 автор: TimRus   (06.06.2010 в 01:18)   личное сообщение
 
   to: Lukas   (06.06.2010 в 01:04)
 

Да... Круто!!! Спасибо огромное,Lukas!!!

  Ответить  
 
 автор: Lukas   (06.06.2010 в 01:17)   личное сообщение
 
   to: snipe   (06.06.2010 в 01:12)
 

Там расширение надо прибавить .7z.
В Zip-е не лезло.

  Ответить  
 
 автор: Lukas   (06.06.2010 в 01:16)   личное сообщение
 
   to: snipe   (06.06.2010 в 01:10)
 

Если использовать нестандартные экземпляры класса, ссылки через коллекцию открытых форм по имени < forms(nameform) > работать не будут. Лучше к этому не "привыкать".

  Ответить  
 
 автор: snipe   (06.06.2010 в 01:12)   личное сообщение
 
   to: Lukas   (06.06.2010 в 01:04)
 

Lukas
это архив 7z?
(а то у меня текст открылся с абракадаброй)

  Ответить  
 
 автор: snipe   (06.06.2010 в 01:10)   личное сообщение
 
   to: TimRus   (06.06.2010 в 01:03)
 

ну как-то так

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)

  Ответить  
 
 автор: Lukas   (06.06.2010 в 01:04)   личное сообщение
79 Кб.
 
   to: TimRus   (06.06.2010 в 00:50)
 

На примере формы "frmПрием"
Вся логика работы кнопок вынесена в специально обученный класс.
Выполнение действий по событиям можно отменять, присвоив аргументу Cancel значение True.
В примере отменяется "Отмена".
Перехватываются и отменяются нажатия клавиш PageUp и PageDown в форме.

  Ответить  
 
 автор: TimRus   (06.06.2010 в 01:03)   личное сообщение
 
   to: snipe   (06.06.2010 в 00:57)
 

А можно на примере который я выложил...
Идею то я понял, но вот реализовать не получается...(

  Ответить  
 
 автор: snipe   (06.06.2010 в 00:57)   личное сообщение
 
   to: TimRus   (06.06.2010 в 00:50)
 

значит надо значение переменной тоже передавать функции

попробуйте догадаться какие цифры я имею в виду в следующем примере
X+Y=Z
вот так и функция раз есть переменная и она не имеет значения значит 0

  Ответить  
 
 автор: TimRus   (06.06.2010 в 00:50)   личное сообщение
 
   to: snipe   (06.06.2010 в 00:36)
 

пробовал так делать, при этом возникает другая проблема
Теперь при переходе на последнюю страницу переменная intMaxPages обнуляется и при этом мы не попадаем в ветку

        If vNewValue = intMaxPages Then 
            .cmdEnter.Enabled = True 
            .cmdNext.Enabled = False 

  Ответить  
 
 автор: snipe   (06.06.2010 в 00:36)   личное сообщение
 
   to: TimRus   (05.06.2010 в 19:50)
 

Ваша проблемка в том что глобальный модуль не знает с какой формой работать
1. вот тут надо добавить
Public function NewPage(ByVal vNewValue As Variant, nameform as string)
2. вот тут изменить
With forms(nameform)
3. функцию вызывать как-то так
call NewPage (2, me.name)

  Ответить  
 
 автор: TimRus   (05.06.2010 в 19:50)   личное сообщение
 
 

Помогите пожалуйста...
Есть две многостраничные формы (БД в архиве 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

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList