|
sql2vba
|
|||
---|---|---|---|
#18+
Доброго времени суток! Извините если вопрос дублируется или задан не в той ветке. Подскажите, что и где можно почитать про запросы к SQL из VBA. По ходу прочтения разнообразной литературы и топиков различных форумов возникает масса вопросов по поводу правильности оформления самих запросов;( Код: sql 1. 2. 3. 4. 5. 6. 7.
------------------------------------ Код: sql 1. 2. 3.
Непонятно, что значат эти кавычки " и амперсанды &? ---------------------------------- Код: sql 1. 2. 3. 4.
В книгах которые я читал фигурируют SQL запросы скажем так в чистом виде, а каким образом их интерпретировать в код VBA? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2012, 18:12 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Имхо, MySQL тут ни причем. Учите синтаксис VBA. Модератор: Тема перенесена из форума "MySQL". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2012, 18:18 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Да и, судя по квадратным скобкам в SQL-запросе, СУБД у вас тоже не MySQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2012, 18:19 |
|
sql2vba
|
|||
---|---|---|---|
#18+
miksoft, Так дело в том, что и в VBA источниках я этого не встретил. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2012, 18:28 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Fox.RM Код: sql 1.
По-моему, это в Аксесс надо. Fox.RMSQL запросы скажем так в чистом виде, а каким образом их интерпретировать в код VBA?А вообще, вопрос очень расплывчатый. Чем не устраивает пример номер 1? Fox.RMНепонятно, что значат эти кавычки " и амперсанды &?это фомирование текстовой строки. Но не ждите, что вам тут будут пересказывать первые страницы учебника по VB. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2012, 18:31 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Fox.RMmiksoft, Так дело в том, что и в VBA источниках я этого не встретил.странно, это даже Яндекс знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2012, 18:40 |
|
sql2vba
|
|||
---|---|---|---|
#18+
miksoft, Такого запроса как "Амперсанд в VBA" я конечно не делал, я учебники-книги по VBA искал. Спасибо, есть интересные главы! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2012, 20:51 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Ребят, помогите пожалуйста! Пересмотрел с 10-ок различных книг по ВБА, там в основном описание ADO, DAO, Recordset и пр., практически нет примеров. Запросы SQL в самом примитивном виде и то не во всех книгах... Как передавать результат запроса в код ВБА я вообще не нашел;( Может кто встречал какие источники, статьи? Где уважаемые профи учились??? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2012, 20:29 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Под результатом запроса я имел ввиду к примеру передачу значения Count(ПолеХ) какой либо переменной процедуры ВБА. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2012, 20:33 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Fox.RM ...Непонятно, что значат эти кавычки " и амперсанды &?..на всякий случай для Акса нашел здесь - http://hiprog.com/access/dwn/help97_rus.zip - русский хелп от Аксесса 97 Использование значений в выражениях Для того чтобы указать значение в выражении используют литералы, константы, функции и идентификаторы. · Литералом называют значение в явном представлении, например, число, строковое значение или дату. Примерами значений в явном представлении могут служить "Москва", 100 и #1-янв-94#. Даты необходимо заключать в символы (#), а строковые значения в прямые кавычки ("). · Константа представляет не изменяющееся значение. True, False и Null являются примерами констант, автоматически определяемых в Microsoft Access. Пользователь имеет возможность определить собственные константы языка Visual Basic для приложений (VBA), которые могут быть использованы в процедурах Visual Basic. · Функция возвращает значение, которое является результатом расчетов или выполнения других операций. В Microsoft Access определен ряд встроенных функций, например: · функция Date возвращает текущую дату; · функция Sum возвращает сумму набора значений поля; · функция DLookup возвращает значение указанного поля. В языке Visual Basic пользователь имеет возможность создавать собственные функции. · Идентификатор представляет ссылку на значение поля, элемента управления или свойства. Например, следующий идентификатор определяет ссылку на значение свойства Значение по умолчанию (DefaultValue) элемента управления "ДатаРазмещения" в форме "Заказы": Forms![Заказы]![ДатаРазмещения].DefaultValue Оператор слияния строк & позволяет объединить значение поля, элемента управления или свойства со строкой в явном представлении. Например, в следующем выражении выполняется слияние строки "[КодТипа] = " со значением элемента управления «КодТипа» в форме «Товары»: "[КодТипа] = " & Forms![Товары]![КодТипа] В некоторых случаях ѕ например, в статистических функциях по подмножеству, таких как функция DLookup ѕ значение должно заключаться в одинарные (') или в двойные (") кавычки. Простейшим способом добавления кавычек является включение символа одинарных кавычек в строку с последующим слиянием строки с другой строкой, содержащей единственный символ одинарных кавычек, как в следующем примере: "[КодТипа] = ' " & Forms![Товары]![КодТипа] & " ' " Существующие приложения Microsoft Access поддерживают использование операторов вертикальной черты (| |) вместо открывающих и закрывающих пар символов прямых кавычек (") и операторов & (слияния строк), например: "[КодТипа] = '|Forms![Товары]![КодТипа]|' " Однако использовать символы вертикальной черты не рекомендуется, поскольку в некоторых обстоятельствах они могут давать непредсказуемые результаты. Для того чтобы получить в выражениях строку, заключенную в кавычки, следует либо использовать вложенные строки в одинарных кавычках, либо использовать тройные пары прямых кавычек. Например, следующие выражения являются эквивалентными: Forms![Контакты]![Город].DefaultValue = " 'Рига' " Forms![Контакты]![Город].DefaultValue = " " "Рига" " " Для получения дополнительных сведений о константах нажмите кнопку . Для получения дополнительных сведений о создании функций пользователем нажмите кнопку . Для получения дополнительных сведений об использовании идентификаторов в выражениях нажмите кнопку . Использование кавычек в строковых выражениях См. также Пример При объединении строк часто возникает необходимость включить сроку или строковую переменную как часть другой строки. Обычно такие ситуации возникают при следующих действиях: · указание условий отбора для статистических функций по подмножеству;. · указание условий отбора в методах Find; · указание условий отбора для свойства формы Фильтр (Filter); · создание инструкций SQL. В каждом из этих случаев Microsoft Access должен передать строку в ядро базы данных Microsoft Jet. Например, при указании аргумента условие для статистической функции по подмножеству требуется определить значение каждой переменной, объединить их в строку, а затем передать полную строку условий отбора в ядро базы данных Jet. При включении в условия числовой переменной Microsoft Access просто определяет значение переменной и сливает его со строкой. Если переменная имеет строковое значение, то результирующая строка условий должна содержать вложенную строку. Строка, вложенная в другую строку, должна быть выделена с помощью ограничителей строковых значений. В противном случае ядро Jet не сможет распознать, какая часть переданной строки условий является подстрокой, которую следует использовать. Ограничители строковых значений не являются частью строковой переменной и должны отдельно включаться в строку аргумента условие. Допускается использование как одинарных кавычек ('), так и прямых кавычек ("). Существуют три способа создания строки условие. Их результатом является строка одного из следующих типов. "[Фамилия] = 'Гуськов'" – или – "[Фамилия] = "Гуськов"" Включение одинарных кавычек Символы одинарных кавычек (апострофов) включаются в строку условие таким образом, чтобы строковое значение после объединения с полной строкой оказалось заключенным в одинарные кавычки. Предположим, например, что в аргумент условие требуется включить значение, представляемое строковой переменной strФамилия. В этом случае допускается указание аргумента условие следующим образом: "[Фамилия] = '" & strФамилия & "'" После определения значения переменной strФамилия и его объединения со строкой условие аргумент условие принимает вид: "[Фамилия] = 'Гуськов'" Примечание. Данный синтаксис не допускает присутствия апострофов (') в значении строковой переменной. Если в значении переменной содержится апостроф, возникает ошибка при выполнении. В этом случае следует использовать другой синтаксис, описанный ниже. Включение прямых кавычек Символы прямых (двойных) кавычек включаются в строку условие таким образом, чтобы строковое значения после объединения с полной строкой оказалось заключенным в прямые кавычки. Внутри строки следует включать два символа прямых кавычек для представления одного символа прямых кавычек. В этом случае указание аргумента условие образуется следующим образом. "[Фамилия] = """ & strФамилия & """" После определения значения переменной строкаФамилия и его объединения со строкой условие два идущих подряд символа прямых кавычек заменяются одним, в результате чего аргумент условие принимает вид: "[Фамилия] = 'Гуськов'" Данный синтаксис является несколько более сложным, чем в предыдущем примере, но в нем допускается включение в аргумент условие строк, содержащих апострофы. Данный синтаксис обеспечивает также возможность создания строк, содержащих вложенные строки нескольких уровней. Включение переменной, представляющей символы кавычек Удобным приемом является создание строковой переменной, представляющей символ прямых кавычек, и использование этой переменной при создании строки условий отбора. В кодировке ANSI символ прямых кавычек представляется функцией Chr$(34); это значение можно присвоить переменной strКавычки. Определенная таким образом переменная включается в условие отбора следующим образом: "[Фамилия] = " & strКавычки & strФамилия & strКавычки После определения значений переменных и их объединения в строке условие аргумент принимает вид: "[Фамилия] = "Гуськов"" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2012, 21:08 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Спасибо. По крупицам материал накапливается? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2012, 21:24 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Fox.RMПод результатом запроса я имел ввиду к примеру передачу значения Count(ПолеХ) какой либо переменной процедуры ВБА. а ф-ии типа DCount(...), DSum(...) и проч не подходят ? дим перемСумма ас дабл перемСумма = DSum(...) и тд .. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2012, 21:35 |
|
sql2vba
|
|||
---|---|---|---|
#18+
Fox.RM, в местном форуме Access даже простым поиском вы найдете ответы (множество ответов) на свои вопросы ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2012, 22:32 |
|
|
start [/forum/topic.php?fid=60&fpage=86&tid=2158080]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 192ms |
0 / 0 |