2 / 2 / 0
Регистрация: 23.10.2015
Сообщений: 51
1

Access 2013: источник записей для формы

07.03.2017, 14:03. Показов 2776. Ответов 7
Метки нет (Все метки)

День добрый.

Вопрос по Аксесс ВБА: может ли источником записей для формы являться рекордсет?

Конструкция
Visual Basic
1
2
3
4
Dim Н_Документ_ As DAO.Recordset
 
    Set Н_Документ_ = CurrentDb.OpenRecordset("Документ_", dbOpenTable)
    Me.RecordSource = "Н_Документ_"
вызывает ошибку "Источник записей не существует".
Как быть?
Спасибо.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2017, 14:03
Ответы с готовыми решениями:

Источник записей для формы
Возможно ли в качестве источника записей для формы использовать одновременно несколько НЕ СВЯЗАННЫХ...

Изменяем источник записей для подчиненной формы
Можно с помощью VBA изменять источник данных (таблицы) для подчиненной формы. Например в Поле со...

Как через VBA сменить источник записей для неподчинённой формы ?
Как программно (нажав "кнопку18") для формы "ЗпрИДКаф_Лент" сменить источник записей с "ЗпрИДКаф_1"...

Как программно изменять источник записей у формы
К примеру если флажок=true то источник строк у формы изменять?

7
Эксперт MS Access
16345 / 6782 / 1487
Регистрация: 21.06.2012
Сообщений: 12,519
07.03.2017, 14:21 2
Только ADODB.Recordset может быть использован в качестве источника записей формы.
0
2 / 2 / 0
Регистрация: 23.10.2015
Сообщений: 51
07.03.2017, 14:59  [ТС] 3
Тогда так.
На форме имеется выпадающий список с именем DocType.
В коде имеется фрагмент:

Visual Basic
1
2
    Me.RecordSource = "Документ_"
    Me.DocType.ControlSource = "Тип"
В результате список принимает значение текстового поля "Тип" первой записи таблицы "Документ_".
Вот, теперь не умею перемещаться по записям так, чтобы DocType всегда был привязан к полю текущей записи.
С DoCmd не справился - ошибки не выдаёт, но значение контрола не меняется, всегда стоит первое.
В чём не прав?
0
Эксперт MS Access
26705 / 14385 / 3190
Регистрация: 28.04.2012
Сообщений: 15,783
07.03.2017, 15:11 4
Цитата Сообщение от kukana Посмотреть сообщение
Вопрос по Аксесс ВБА: может ли источником записей для формы являться рекордсет?
Да может
Visual Basic
1
    set me.recordset = currentdb.openrecordset("select * from Документ_")
0
2 / 2 / 0
Регистрация: 23.10.2015
Сообщений: 51
07.03.2017, 15:33  [ТС] 5
Что называется какой вопрос, такой ответ
С таким подходом соглавсен, но при этом контролы, получающие значения из запроса позволяют только читать информацию, но не изменять. Тут приходится принимать дополнительные меры. Можно обойтись без этого? Т.е. привязав контролы к полям таблицы просто ходить по записям, читать и менять их?

Добавлено через 18 минут
mobile, а как перемещаться по записям?
0
Эксперт MS Access
26705 / 14385 / 3190
Регистрация: 28.04.2012
Сообщений: 15,783
07.03.2017, 15:51 6
Цитата Сообщение от kukana Посмотреть сообщение
контролы, получающие значения из запроса позволяют только читать информацию, но не изменять.
Если источник нередактируемый, то конечно изменять не получится. А если модификация источника возможна, то с чего бы ему нельзя менять данные, конечно можно.

Цитата Сообщение от kukana Посмотреть сообщение
как перемещаться по записям?
Как обычно
Visual Basic
1
2
3
4
Me.recordset.movefirst     'на первую запись
Me.recordset.movelast      'на последнюю
Me.recordset.movenext      'на следующую
Me.recordset.moveprevious  'на предыдущую
0
2 / 2 / 0
Регистрация: 23.10.2015
Сообщений: 51
07.03.2017, 15:59  [ТС] 7
Слишком просто что-то
Спасибо.
0
2 / 2 / 0
Регистрация: 23.10.2015
Сообщений: 51
14.03.2017, 07:47  [ТС] 8
День добрый.
Вопрос решил так: по ходу пьесы создаём временную таблицу, куда грузим по запросу реквизиты нужных документов и делаем её источником данных для формы. Потом если надо - переписываем изменения в основную таблицу. Временную стираем.
Спасибо помогавшим.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2017, 07:47

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Фильтрация данных основной формы через данные подчиненной формы в MS Access 2013
Может кто подскажет, есть ли простое решение, когда есть стандартные 2 таблички (главная-1 и...

Образуются лишние пробелы при добавлении записей в MSSQL из MS Access 2013
Hi, All! Рад всех видеть на этом форуме! Проблема в следующем. Есть база MSSQL Express 2013,...

Создание кнопочной формы в Access 2013
Всем доброе утро ну или доброй ночи если вы живёте западнее России) Итак как уже можно было понять...

Задать источник записей для отчета
Всем добрый день! :) Хочется реализовать следующее, а умишек не нажил. Есть Форма1, в ней 3...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.