Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/55: Рейтинг темы: голосов - 55, средняя оценка - 4.62
1 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 24

Присвоение переменной значения из запроса

13.12.2015, 16:51. Показов 10919. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Пожалуйста помогите я не программист, но приходится...
Может ли кто подсказать как этот sql запрос можно прописать в vba?
Или хотя бы как из этого сохраненного запроса "Имя_файла" присвоить переменной "A" значение полученного результата?

SQL
1
2
3
4
5
SELECT FIRST([цвета заказа материал]![заказ №] & " " 
& [цвета в заказе]!материал & "-" & [цвета в заказе]!описание) AS 1
FROM [материалы для отчета]
 INNER JOIN [цвета заказа материал]
 ON [материалы для отчета].Материалы = [цвета заказа материал].материал;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.12.2015, 16:51
Ответы с готовыми решениями:

Присвоение переменной vb результата SQL-запроса
Здрасте! Такая проблема: не могу присвоить переменной vb результат SQL-запроса (подсчет кол-ва строк таблицы). Пробую через рекордсет: ...

Присвоение параметру запроса значения через VBA
Здравствуйте! Помогите пожалуйста, как написать код, присваивающий параметру запроса на выборку новое значение. Добавлено через 30...

Присвоение полю значения, полученного из запроса на выборку
Здравствуйте. В стартовой форме выбирается язык и нажимается кнопка для перехода на Форму2. Исходя из выбранного языка нужно в эту...

11
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
13.12.2015, 17:19
Visual Basic
1
2
3
strSQL = "SELECT First([цвета заказа материал]![заказ №] & ' ' & [цвета в заказе]!материал & '-' & [цвета в заказе]!описание) AS 1"
strSQL = strSQL & "FROM [материалы для отчета] INNER JOIN [цвета заказа материал] ON [материалы для отчета].Материалы = [цвета заказа материал].материал"
A = CurrentDb.OpenRecordset(strSQL).Fields(0)
Или, учитывая, что запрос сохраненный - можно так:

Visual Basic
1
DLookup("1","Имя_файла")
0
1 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 24
13.12.2015, 17:43  [ТС]
Второй вариант работает, спасибо!
Но очень хочу первый, а он не работает, гляньте, что не так...пигет "invalid use of property" и курсор останавливается на А=
Visual Basic
1
2
3
4
5
Dim A As Recordset
        strSQL = "SELECT First([цвета заказа материал]![заказ №] & ' ' & [цвета в заказе]!материал & '-' & [цвета в заказе]!описание) AS 1"
        strSQL = strSQL & "FROM [материалы для отчета] INNER JOIN [цвета заказа материал] ON [материалы для отчета].Материалы = [цвета заказа материал].материал"
        A = CurrentDb.OpenRecordset(strSQL).Fields(0)
    MsgBox A 'Проверка значения
[/VB]
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
13.12.2015, 18:09
Цитата Сообщение от Ludkov Посмотреть сообщение
и курсор останавливается на А=
Dim A As Recordset
Ну и зачем вы А описали как рекордсет? Переменная должна быть того же типа, что и единственное поле запроса.

Добавлено через 1 минуту
Рекордсет тут вообще фигурирует виртуально, мы обращаемся сразу к его полю.
0
1 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 24
13.12.2015, 18:12  [ТС]
Так я и как String описывал, но не работает
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
13.12.2015, 18:17
Попробуйте так:

Visual Basic
1
2
3
4
5
6
Sub ttt()
Dim A As String, strSQL As String
    strSQL = CurrentDb.QueryDefs("Имя_файла").SQL
    A = CurrentDb.OpenRecordset(strSQL).Fields(0)
    Debug.Print A
End Sub
Если так работает, а с явным прописыванием текста запрося прямо в vba нет - значит ошибка в тексте запроса.
0
1 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 24
13.12.2015, 18:43  [ТС]
Сохраненный запрос выдает нужный результат, он рабочий...AS 1 заменил на AS N
SELECT First([цвета заказа материал]![заказ №] & " " & [цвета в заказе]!материал & "-" & [цвета в заказе]!описание) AS N
FROM [материалы для отчета] INNER JOIN [цвета заказа материал] ON [материалы для отчета].Материалы = [цвета заказа материал].материал;

Ваш последний код выдает ошибку: Слишком мало параметров. Требуется 1.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
13.12.2015, 19:14
Не вижу таблицы [цвета в заказе] в операторах FROM/JOIN
--------
и выложите наконец базу --лень угадывать имена
0
1 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 24
13.12.2015, 20:07  [ТС]
Извините, но выложить базу не получится, слишком она громадная 1,8 Гб. Вот сам запрос:
Миниатюры
Присвоение переменной значения из запроса  
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
13.12.2015, 20:26
слишком она громадная 1,8 Гб.
вы ее что
--никогда не сжимали
--или заполнили массой картинок и OLE -объектов(или вложений)
--------
несуразный размер
===================
если надумаете сжимать ---сначала задублируйте
0
1 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 24
13.12.2015, 21:47  [ТС]
Сжимаю конечно ))) и резервные копии создаю, есть очень много важных вещей, которые жалко потерять, поэтому уже в течении 7 лет она растет...Да картинки и OLE объекты там есть и немало, они и весят.
До поры до времени все делалось с помощью макросов, но залез в VBA и понял, что теперь не хочу макросов, тут все очень гибко и понятно.
Спасибо shanemac51, ваши предыдущие советы очень пригодились...
На данный момент сделал необходимое с помощью DLookup, но понимаю, что создание сохраняемых запросов меня будет сковывать.
Очень буду признателен, если подскажете понятную литературу для формирования всех типов запросов в коде VBA.
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
13.12.2015, 22:17
Ludkov, создайте чистую базу. В ее импортируйте ваш запрос и таблицы, имеющие отношение к вопросу, проследив, что в параметрах импорта указано "только структура", и отмечена галочка "схема даных".

Затем открываете таблицы и вносить буквально по 2-3 записей "с потолка" (чтобы мы могли понять, о чем речь).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2015, 22:17
Помогаю со студенческими работами здесь

Присвоение переменной из значения в форме
Доброго вечера, есть форма фильтра по таблице. Поставив фильтр отсеиваем искомые записи, нажав на значение поля присваиваем его значение...

Объявление переменной и присвоение ей значения одной строкой кода
Здравствуйте! Подскажите пожалуйста как объявить переменную и сразу же присвоить ей значение в одной строке. У меня не получается: ...

Присвоение переменной результат запроса
Всем привет! Появилась вот такая вот проблема: в коде я пытаюсь ввести данные в таблицу через хранимую процедуру. insert into ...

Присвоение переменной результата запроса
Подскажите, пожалуйста, а то что-то встал в ступор, есть следующий код: Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As...

Присвоение переменной результата запроса
Подскажите как переменной присвоить результат SQL запроса?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru