Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2014, 21:01   #1
Beginner_Access
Пользователь
 
Регистрация: 17.08.2014
Сообщений: 41
По умолчанию Изменение даты в форме

Всем привет!

Помогите пожалуйста решить проблему. Необходимо изменить текущую дату в Форме Дата путем ввода более ранней даты в Форму ФормаИзмененияДаты.

Если возможно, чтобы при открытии Формы Дата сформировать такое условие на значение по умолчанию, чтобы устанавливалась либо текущая дата, либо дата из формы изменения даты, если она открыта.

Спасибо.
Вложения
Тип файла: rar Замена даты.rar (8.6 Кб, 11 просмотров)
Beginner_Access вне форума Ответить с цитированием
Старый 22.08.2014, 20:10   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Beginner_Access.
"... при открытии Формы Дата ... дата из формы изменения даты, если она открыта..."
Ваша задача может решаться подобным кодом в обработчике события формы "Дата":
Код:
Private Sub Form_Open(Cancel As Integer)
Dim oFrm As Form, s$
For Each oFrm In Forms 'проверка всех открытых форм
    With oFrm
        If .Name = "ФормаИзмененияДаты" Then
        'если имя формы "ФормаИзмененияДаты"
            If .ActiveControl.Name = "ПолеИзменитьДату" Then
            'если фокус ввода на "ПолеИзменитьДату"
                s = .ПолеИзменитьДату.Text 'читается его текст
            Else 'если контрол "ПолеИзменитьДату" не активен
                s = .ПолеИзменитьДату.Value 'читается его значение
            End If
            Exit For 'выход из цикла
        End If
    End With
Next
'если форма не была открыта или не задана дата - задается текущая
If Not IsDate(s) Then s = Format(Date, "dd.mm.yyyy")
ПолеДата = s
End Sub
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 23.08.2014, 01:14   #3
Beginner_Access
Пользователь
 
Регистрация: 17.08.2014
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте Beginner_Access.
"... при открытии Формы Дата ... дата из формы изменения даты, если она открыта..."
Ваша задача может решаться подобным кодом в обработчике события формы "Дата":
Код:
Private Sub Form_Open(Cancel As Integer)
Dim oFrm As Form, s$
For Each oFrm In Forms 'проверка всех открытых форм
    With oFrm
        If .Name = "ФормаИзмененияДаты" Then
        'если имя формы "ФормаИзмененияДаты"
            If .ActiveControl.Name = "ПолеИзменитьДату" Then
            'если фокус ввода на "ПолеИзменитьДату"
                s = .ПолеИзменитьДату.Text 'читается его текст
            Else 'если контрол "ПолеИзменитьДату" не активен
                s = .ПолеИзменитьДату.Value 'читается его значение
            End If
            Exit For 'выход из цикла
        End If
    End With
Next
'если форма не была открыта или не задана дата - задается текущая
If Not IsDate(s) Then s = Format(Date, "dd.mm.yyyy")
ПолеДата = s
End Sub
Евгений.
Спасибо, Евгений!
Beginner_Access вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое изменение даты AvivNoa Microsoft Office Word 34 03.06.2016 21:04
Изменение даты в графике RUBEY Microsoft Office Excel 2 08.12.2012 22:19
Изменение даты Access Мелка_Я Microsoft Office Access 2 21.11.2012 13:56