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

Форум: MS ACCESS

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

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

 
 

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

вид форума:
Линейный форум Структурный форум

тема: Проблема с .DefaultValue
 
 автор: bagdat   (08.09.2011 в 09:23)   личное сообщение
 
 

Здравствуйте!
Мне нужно назначить значение по умолчанию полю "Дата".
Значение берется из таблицы "SomeTable".
Не получается! Никак!
Помогите пожалуйста. Вот код:


Private Sub Form_Open(Cancel As Integer)
Dim dbs As Database
Dim rst As Recordset

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("SomeTable")

If Not IsNull(rst![TheDate]) Then
Дата.DefaultValue = rst![TheDate]
Else
Дата.DefaultValue = DateTime.Date
End If

rst.Close
Set rst = Nothing
Set dbs = Nothing
End Sub

  Ответить  
 
 автор: Дядя Федор   (08.09.2011 в 09:24)   личное сообщение
 
 

Дата - поле в форме? А так
Дата = rst![TheDate]

  Ответить  
 
 автор: bagdat   (08.09.2011 в 09:54)   личное сообщение
 
 

Да, это поле в форме, связано с полем типа "Краткая дата" в таблице.
У поле "TheDate" такой же тип.

  Ответить  
 
 автор: kot_k_k   (08.09.2011 в 10:27)   личное сообщение
 
 

Me.Data.DefaultValue = "Date()"

вот такая конструкция работает!!!!

а вот такая Me.Data.DefaultValue = Date - балалайка

  Ответить  
 
 автор: kot_k_k   (08.09.2011 в 10:32)   личное сообщение
 
 

думаю так
Дата.DefaultValue = "#" & rst![TheDate] & "#"
или
Дата.DefaultValue = "#" & Format(rst![TheDate] ,"mm\/dd\/yyyy") & "#"

чтоб с датами не напророть

  Ответить  
 
 автор: bagdat   (08.09.2011 в 12:07)   личное сообщение
 
 

Спасибо kot_k_k !
Заработало!

  Ответить  
 
 автор: Анатолий (Киев)   (08.09.2011 в 10:34)   личное сообщение
 
 

В режиме конструктора в этом св-ве поля укажите:
=NZ(DLookup("[TheDate]";"SomeTable");Date())

  Ответить  
 
 автор: kot_k_k   (08.09.2011 в 10:47)   личное сообщение
 
 

нужны "#" - с обох сторон и форматирование
проверил тока что
= "#" & Date & "#"
дает ошибку а в defaulvalue пишет #09.08.2011#

= "#" & Format(Date, "mm\/dd\/yyyy") & "#"
дает нормальный результата и в defaulvalue пишет #09/08/2011#

если просто
=Date
то тож фигня а defaulvalue = 09.08.2011

как всегда с датами у Акса сложности (или у нас с Аксом )

  Ответить  
 
 автор: ddi   (08.09.2011 в 10:57)   личное сообщение
 
 

у аксса

  Ответить  
 
 автор: snipe   (08.09.2011 в 11:56)   личное сообщение
 
 

Kot_t_t а у тебя чего дата по америкоски стоит
седня 8 сентября - 08.09.2011

  Ответить  
 
 автор: kot_k_k   (08.09.2011 в 13:02)   личное сообщение
 
 

не знаю у меня дата аксовая
там же формат - вот и получается в результатет строка #09/08/2011# в Defaultvalue
а в поле пишет 08.09.2011 - все ОК

Me.Data.DefaultValue = "#" & Format(Date, "mm\/dd\/yyyy") & "#"
Me.Data.DefaultValue = "#" & Format(Date, "dd\/mm\/yyyy") & "#"

два вариант а выводят одну и туж дату но при обрабтке этот Акс первую воспринимает правильно
08.09.2011
а второй вариант получим 09.08.2011 так что в дефаулт надо загонять пиндосовскую дату.

п.с. хорошо было в Клиппере - написал при загрузке
Set Date German
и все на все время работы даты воспринимаются в нашем формате и не морочим мозк

  Ответить  
 
 автор: Дядя Федор   (08.09.2011 в 13:04)   личное сообщение
 
 

У меня прекрасно работает конструкция
Me.DataBegin = "01.01." & CStr(Year(Date))
Me.DataEnd = "31.12." & CStr(Year(Date))
Но! Это в форме.
При ипользовании в запросах надо форматировать или исп. BuildCriteria

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