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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Помогите с синтаксисом SQL в VBA (Access 2010)
 
 автор: Kostya   (13.04.2012 в 16:19)   личное сообщение
 
 

Бодрого времени суток всем.

Никак не могу заставить в форме работать следующую строку:

"SELECT qry1.Level FROM qry1 WHERE (((qry1.Build)=[Формы]![Form1]![ПолеСоСписком12]) ORDER BY CDbl(Replace(Level, ",", "." )) DESC"


Подскажите, как правильно расставить кавычки/апострофы/амперсанды.

Спасибо.

  Ответить  
 
 автор: silich   (13.04.2012 в 16:29)   личное сообщение
 
 


"SELECT qry1.Level FROM qry1 WHERE (((qry1.Build)=" & [Формы]![Form1]![ПолеСоСписком12] & ") ORDER BY CDbl(Replace(Level, ",", "." )) DESC"



если текстовое, то надо одинарные кавычки

  Ответить  
 
 автор: Kostya   (13.04.2012 в 16:32)   личное сообщение
 
 

Вот ведь мистика. Как только задал вопрос, так сразу и разобрался :)

Заработала такая конструкция:

"SELECT qry1.Level FROM qry1 WHERE ((qry1.Build)=" & [Формы]![Form1]![ПолеСоСписком12] & ") ORDER BY CDbl(Replace(Level, '" & "." & "', '" & "," & "' )) DESC" 

  Ответить  
 
 автор: silich   (13.04.2012 в 16:34)   личное сообщение
 
 


"SELECT qry1.Level FROM qry1 WHERE (((qry1.Build)=" & [Формы]![Form1]![ПолеСоСписком12] & ") ORDER BY CDbl(Replace(nz(Level,''), ',', '.' )) DESC"

  Ответить  
 
 автор: Kostya   (13.04.2012 в 16:48)   личное сообщение
 
 

Хмм..
А при такой конструкции выдает ошибку.

Run-time error '2465':
Приложения Microsoft Access не удается найти поле "|1", указанное в выражении.

Интерес чисто академический :) wtf?

  Ответить  
 
 автор: silich   (13.04.2012 в 17:21)   личное сообщение
 
 

имелось ввиду показать возможности использования одинарных кавычек внутри двойных

може функция nz перестала существовать в вашей версии аксесс, хз

  Ответить  
 
 автор: Kostya   (13.04.2012 в 17:25)   личное сообщение
 
 

Нее :) На месте nz. Возможно ошибка из-за данных. В в этом поле в таблице хранятся текстовые данные вида "+1.000"; "-2.300" и т.д.

  Ответить  
 
 автор: Анатолий (Киев)   (13.04.2012 в 16:32)   личное сообщение
 
 

В чем выражается "не могу заставить в форме работать следующую строку"?
А если [Forms] вместо [Формы]?
А если без ORDER BY?
В поле "Level" есть пустые поля (Null)? Функция Replace не принимает Null.

  Ответить  
 
 автор: Kostya   (13.04.2012 в 16:37)   личное сообщение
 
 

Не-не-не.
Тупой код на тему Me.Поле.RowSource. Скопировал из конструктора запросов (в запросе работало) и пропустил лишнюю скобку. Сам дурак, не на то грешил.

Р.С. лишняя скобка после WHERE

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