Аватар для Памириканец
1 / 1 / 0
Регистрация: 03.07.2012
Сообщений: 107

Как в VBA присвоить переменным значение полей таблицы или запроса?

05.03.2015, 12:48. Показов 7314. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток форумчане.
Подскажите как в VBA присвоить переменным значение полей таблицы, чтобы в дальнейшем использовать для экспортирование в MS Word (для печати контракта)

Таблица:
dogovor (id_d, klient, INN, tel)

Создал форму в котором находится Поле со списком (id_d) и кнопка со следующим кодом:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Кнопка1_Click()
Dim sql
sql = "select * from dogovor WHERE id_d = " & id_d.Value
    Dim oapp As Object, owrk As Object
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset(sql)
    Set oapp = CreateObject("Excel.Application")
    Set owrk = oapp.Workbooks.Add
    oapp.range("A4").copyfromrecordset rst
    oapp.Visible = True
End Sub

Правда этот код экспортирует данные в эксель.

Я хочу присвоить данные запроса sql к переменным id_d, klient, INN, tel и вставить их в нужных местах документа контракта Word-а.
Если есть какой нить другой способ

Добавлено через 1 минуту
,подскажите
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.03.2015, 12:48
Ответы с готовыми решениями:

Как присвоить одной переменной значение нескольких полей одной таблицы на VBA?
Как присвоить одной переменной значение нескольких полей одной таблицы на VBA? Как эту переменную занести в поле другой таблицы на...

Как присвоить одной переменной значение нескольких полей одной таблицы на VBA?
Как присвоить одной переменной значение нескольких полей одной таблицы на VBA? Как эту переменную занести в поле другой таблицы на...

Получить перечень полей таблицы или запроса
народ - подскажите - как в MS SQL получить перечень полей таблицы или запроса - (очень надо) знаю что есть то-ли функция, то ли таблица...

3
Эксперт MS Access
26824 / 14504 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
05.03.2015, 13:43
Лучший ответ Сообщение было отмечено Памириканец как решение

Решение

Можно и без переменных. Непосредственно из рекордсета в ворд.

Предполагается, что в ворде есть закладки с теми же именами, что и поля рекодсета. Если не так, то меняйте имена в коде на правильные
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim sql
sql = "select * from dogovor WHERE id_d = " & id_d.Value
    Dim oapp As Object
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset(sql)
    Set oapp = CreateObject("Word.Application")
    oapp.Documents.Open "Путь и имя документа ворда"
    With oapp.ActiveDocument
        .Bookmarks.Item("id_d").Range.Text = rst!id_d
        .Bookmarks.Item("klient").Range.Text = rst!klient
        .Bookmarks.Item("INN").Range.Text = rst!INN
        .Bookmarks.Item("tel").Range.Text = rst!tel
    End With
    oapp.Visible = True
1
 Аватар для Памириканец
1 / 1 / 0
Регистрация: 03.07.2012
Сообщений: 107
06.03.2015, 08:21  [ТС]
большое спасибо. все работает. но только один раз. после того как выполняется программа. в документе "ворд" закладка удаляется. при повторном нажатии на кнопку выводит ошибку "Запрашиваемый номер семейства не существует"
0
Эксперт MS Access
26824 / 14504 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
06.03.2015, 09:23
Цитата Сообщение от Памириканец Посмотреть сообщение
все работает. но только один раз. после того как выполняется программа. в документе "ворд" закладка удаляется. при повторном нажатии на кнопку выводит ошибку "Запрашиваемый номер семейства не существует"
Я такого не вижу.
Поскольку Вы не дали вариант, сделал по собственному разумению. Разархивируйте вложение в любую папку, вызовите БД, смотрите форму Form1. Поставьте курсор на любую запись в подформе и нажмите кнопку. Можно несколько раз. Или меняя записи в подформе. Ошибок не наблюдается
Вложения
Тип файла: rar памириканец.rar (24.8 Кб, 57 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2015, 09:23
Помогаю со студенческими работами здесь

Как присвоить переменным значение слова на русском?
хочу сделать так: #include <iostream> using namespace std; int main() {

Как присвоить значение переменным в другой форме?
Имеется: - форма "Form_1"; - форма "Form_2"; - форма "Form_2" содержит переменную `Dim var_1 As String`; ...

Создал textbox в vba excel (поле само) как присвоить значение переменной которую вводишь или получаешь из других макросо
подскажите сам код чтобы значение этого textbox'а приравнять к значению какой нибудь переменной

Как присвоить значение переменных php переменным javascript?
Добрый день! можно ли как нибуть через ajax присвоить значение переменных php переменным javascript? например: в файле...

Как присвоить значение переменным a и b находящимся в классе area_cl
Подскажите пожалуйста, как присвоить значение переменным a и b находящимся в классе area_cl, из функции main()? #include...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru