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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Формат
 
 автор: GoodBus   (04.06.2009 в 05:38)   личное сообщение
 
 

Есть кусок кода
If flag_5.Value = True Then ck = ck & "[DATE_IN]>=" & Format(pole_c.Value, "\#mm\/dd\/yyyy\#")
If flag_6.Value = True Then ck = ck & " And [DATE_IN]<= " & Format(pole_do.Value, "\#mm\/dd\/yyyy\#")
If flag_1.Value = True Then ck = ck & "[AUTH]= pole_auth.Value"
If flag_2.Value = True Then ck = ck & " and [SVC]= " & Format(pole_svc.Value)
If flag_4.Value = True Then ck = ck & " And [SECONDS]= " & Format(pole_seconds.Value)

первые две и последняя работают нормально. Конкретно третья не пашет. Полагаю, что с форматом данных в таблице. В столбце AUTH данные числовые, но почему-то сохранены как текст, об этом мне говорит Excel. МОжет надо формат прописать правильно или что-то другое, в общем помогайте= )


версия 2003

  Ответить  
 
 автор: osmor   (04.06.2009 в 08:42)   личное сообщение
 
 

[AUTH] - это поле таблицы? Какой тип?
почему везде вы используете "&" для формирования строки, а в AUTH нет?
нужно так:

....& "[AUTH]=" & pole_auth.Value

А если [AUTH] текст, то
....& "[AUTH]='" & pole_auth.Value & "'"

  Ответить  
 
 автор: GoodBus   (04.06.2009 в 08:56)   личное сообщение
 
 

использовал, просто скопировал один из пробных вариантов= )) А вот про одиночные кавычки позабыл, спасибо= )) все бы так решалось= ))) Благодарю еще раз= )

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

Замечание...
У вас возможна ситуация, когда flag_5.Value = True, flag_6.Value = False, flag_1.Value = True?
В этом случае вы получите смесь из двух критериев без оператора And.

И наоборот, если flag_5.Value = False и flag_1.Value = False - вы получите критерий, начинающийся с And.

Я бы во всех вариантах в начале указывал And, а в собранной строке отбросил бы первый-лишний. Так - надежнее.

  Ответить  
 
 автор: GoodBus   (04.06.2009 в 18:09)   личное сообщение
 
 

Да, спасибо, уже сам так сделал= ))

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