Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Определение формата переменной  [new]
Mikhail78
Member

Откуда:
Сообщений: 3
Коллеги подскажите какой нужно установить формат переменной

Pstr_3 = Me.Дата_от.Text
Rstr_4 = Дата_до.Text

Вот краткая инструкция

Private Sub кнопка_Click()
Dim Pstr_3 As String
Dim Pstr_4 As String
Pstr_3 = Me.Дата_от.Text
Rstr_4 = Дата_до.Text
Me.Filter = "дата between pstr_3 and pstr_4"
Me.FilterOn = True
End Sub

Спасибо.
29 дек 18, 11:18    [21776266]     Ответить | Цитировать Сообщить модератору
 Re: Определение формата переменной  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 18301
А что такое "формат переменной"?
29 дек 18, 11:21    [21776270]     Ответить | Цитировать Сообщить модератору
 Re: Определение формата переменной  [new]
Mikhail78
Member

Откуда:
Сообщений: 3
Возможно я ошибаюсь на счет формата, но если не указать тип поля то фильтр не работает
29 дек 18, 11:25    [21776274]     Ответить | Цитировать Сообщить модератору
 Re: Определение формата переменной  [new]
Mikhail78
Member

Откуда:
Сообщений: 3
Пока вставлял и изменял русскую карябицу удалил пару букв
Rstr_4 = me.Дата_до.Text
29 дек 18, 11:29    [21776276]     Ответить | Цитировать Сообщить модератору
 Re: Определение формата переменной  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 397
попробуйте такой вариант, рекомендовал бы переименовать "дата" в например "Kogda" (в запросе .ControlSource)
+
Private Sub кнопка_Click()
Dim Pstr_3$, Pstr_4$
Pstr_3 = Me.Дата_от
Rstr_4 = Me.Дата_до
Me.Filter = "[Kogda] between " & AmericanDate(pstr_3) & " and " & AmericanDate(pstr_4)
Me.FilterOn = True
End Sub
Public Function AmericanDate(date1 As Date) As String
' переводим дату в американский стандарт
AmericanDate = Format$(date1, "\#mm\/dd\/yy\#")
End Function

29 дек 18, 13:50    [21776397]     Ответить | Цитировать Сообщить модератору
 Re: Определение формата переменной  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 397
не проверил соответствие переменных, исправление
alecko
попробуйте такой вариант, рекомендовал бы переименовать "дата" в например "Kogda" (в запросе .ControlSource)
+
Private Sub кнопка_Click()
Dim Pstr_3$, Pstr_4$
Pstr_3 = Me.Дата_от
Pstr_4= Me.Дата_до
Me.Filter = "[Kogda] between " & AmericanDate(Pstr_3 ) & " and " & AmericanDate(Pstr_4)
Me.FilterOn = True
End Sub
Public Function AmericanDate(date1 As Date) As String
' переводим дату в американский стандарт
AmericanDate = Format$(date1, "\#mm\/dd\/yy\#")
End Function

29 дек 18, 13:51    [21776398]     Ответить | Цитировать Сообщить модератору
 Re: Определение формата переменной  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5457
Mikhail78,
DoCmd.ApplyFilter , "полеСдатой>=#" & format(me.ot,"mm\/dd\/yyyy") &
 "# and полеСдатой<=#" & format(me.do,"mm\/dd\/yyyy") & "#"
29 дек 18, 16:21    [21776514]     Ответить | Цитировать Сообщить модератору
 Re: Определение формата переменной  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5457
вдогонку:полеСдатой тип-дата/время
29 дек 18, 16:22    [21776516]     Ответить | Цитировать Сообщить модератору
 Re: Определение формата переменной  [new]
Eugene-LS
Member

Откуда:
Сообщений: 15
 	Me.Filter = "Дата Between " & _
 	Format$(Me!pstr_3, "\#mm\/dd\/yyyy\#") & _
	" And " & _
	Format$(Me!pstr_4, "\#mm\/dd\/yyyy\#")
31 дек 18, 03:48    [21777073]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить