Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Имя формы через переменную на VBA в Access

Всем добрый день,

Заморочился по одному вопросу, и никак не могу нигде найти простое решение своей проблемы.

у меня есть достаточно большой список различных форм, и мне нужно через VBA менять значение полей в нужных формах.

Вот работает такой код:


Dim r As String
If IsNull(Me.Список157.Value) = False Then
r = Me.Список157.Value
End If
If r <> "" Then
a = Forms![Форма1].Поле153.Value
b = Forms![Форма1].Поле152.Value
c = Forms![Форма1].Поле154.Value
DoCmd.OpenForm r, acNormal

Forms![Форма2].Поле153.Value = a
Forms![Форма2].Поле152.Value = b
Forms![Форма2].Поле154.Value = c
DoCmd.Close acForm, "Форма1", acSaveNo
End If




Но проблема в том, что у меня в переменной "r" сидит название = "Форма2".
что нужно в коде поправить чтобы код выглядел не

Forms![Форма2].Поле153.Value = a
Forms![Форма2].Поле152.Value = b
Forms![Форма2].Поле154.Value = c


а примерно как то так


Forms![" & r & "].Поле153.Value = a
Forms![" & r & "].Поле152.Value = b
Forms![" & r & "].Поле154.Value = c


Заранее всем спасибо за помощь!

Модератор: Тема перенесена из форума "Visual Basic".
Ответ: __Michelle,

ООООО БОЖЕ МОЙ,

СПАСИБО ВАМ ОГРОМНОЕ,

я так и знал что где то близко находится ответ
Вопрос: Связь свободных таблиц на форме через запрос

На этом форуме мне помогли связать две свободные таблицы на форме через свободное поле ввода на форме. А можно ли решить эту задачу с помощью запроса? Я попробовал это сделать, но у меня не получилось. Файл я прикрепил, там связь через поле и моя неудачная попытка.
Ответ: tumanovalex, я почитал Ваши обращения...представьте, как должен выглядеть конечный результат: пусть в "верхней" форме 3 записи, а каждой принадлежит информация о 10 записях "нижней" формы, тогда что, внизу код должен вывести 30 записей? и зачем? а если записей вверху побольше и они побогаче? Ну если так нужно, делайте "внизу" независимую табличную форму, а источником записи-запрос из полей подчиненной таблицы без фильтра.
Вопрос: Отрыть форму без оболочки access

Весь интернете перерыл ни чего путного не нашёл.
Помогите!
Имеется БД в которой есть формы, запросы, таблицы, макросы и т. д.
Нужно что бы после запуска открывалась кнопочная форма без оболочки access.
Ответ:
Сообщение от Eugene-LS
Код вставляется в модуль - простым копи-пастингом.
Благодарю
Вопрос: При выборке данных из DB2 через iSeries Access ODBC Driver дробные числа становятся целыми

Добрый день.

Собственно, проблема в том, что при выборке данных из DB2 (из таблиц, вьюшек) через iSeries Access ODBC Driver дробные числа становятся целыми, точнее дробная часть отсекается.
В тестировании участвовали 4 рабочие станции, на одной выборка нормальная, на остальных возвращаются целые части от чисел. В качестве клиента для данной операции используется Lotus Notes. Все настройки у рабочих станций: региональные ,odbc,iSeries Client Access одинаковые, от версии Windows не зависит.
Как побороть?

Заранее спасибо.
Ответ: Привет,
Скажи, пожалуйста, как решил вопрос?
Вопрос: Сохранение excel файла через макрос access

доброго времени суток.
тем очень много, но не одна не помогла.
мне нужно макрос в access, который выполняет сохранение excel в данную папку.
я тут попробовал, в excel работает, а вот в access нет.
Visual Basic
1
2
3
4
5
6
7
8
9
Sub ГЊГ*êðîñ1()
 
    Windows("SHIPMENT.XLSX").Activate
    ChDir "\\bykna001\FREDIRECT$\Lysikov\Desktop\Ëèñò ïîäáîðГ*"
    ActiveWorkbook.SaveAs Filename:= _
        "\\bykna001\FREDIRECT$\Lysikov\Desktop\Ëèñò ïîäáîðГ*\SHIPMENT.XLSX", FileFormat _
        :=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub
Добавлено через 4 минуты
Забыл написать, что exsel файл открыт. И после сохранения он закрывается.
Ответ: Не уверен, что все так как Вы описываете, ведь откуда-то берется PERSONAL.XLSB? А надо чтобы он не возникал вообще.

Тем не менее, поскольку вы работаете в форме Access, то можно воспользоваться ее таймером. Установите интервал таймера формы на 30000 (это 30 секунд), создайте процедуру таймера и в ней запишите строки сохранения файла и его закрытия. Конечно убрав их из основной процедуры

Добавлено через 19 минут
Да, забыл. Объектная переменная xlWb для работы в процедуре таймера должна быть объявлена публичной или уровня формы. Тогда она будет доступна

Добавлено через 3 минуты
И еще. В начале работы TimerInterval должен быть равен нулю. Когда появится необходимость сохранения ексель-файла, вот только тогда пишете в коде Me.TimerInterval=30000
Вопрос: можно ли обращаться в SQL-конструкциях, помещенных в процедуры VBA, на поля таблици через переменную?

Добрый день
Помогите плз, подскажите, можно ли обращаться в SQL-конструкциях, помещенных в процедуры VBA, на поля таблици через переменную? Суть в чем: есть таблица с ценами для сети магазинов: записи Цена1; Цена 2; Цена 3 ... и поля Наименование; Магазин1; Магазин2; Магазин3 ... В форме на событии загрузки прописал процедуру:
Код Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Load()
 Dim TextSQL As String
 Dim ShopName As String
 ShopName = Forms!frmOperDay.txtShop
 TextSQL = "SELECT tblPrice.PriceName, tblPrice." & ShopName & vbCrLf & _
"FROM tblPrice;"
 Me.RecordSource = TextSQL
End Sub
Но VB ругается, мол что-то не так с символами (Run-time error 3075 Недопустимое использование . ! () в выражении запроса). Помогите, плз, разобраться
Заранее спасибо всем
Ответ:
Сообщение от texnik-san
Я о плюсиках-минусиках слева и сверху данных
Все, что можно убрать (обычно перед печатью) убирается так, как установлено на картинке. Остальное не убрать (+- сверху - это детали/сумма).
Вопрос: Создание формы в MS Access

Помогите пожалуйста доделать форму в Access.

У меня бд товаров, которая разбита на разделы и подразделы.
Я ее заполнил, связи проставил, ключи тоже, запросы вроде выполняются, а вот форму создать не могу.
В форме получается переходить между разделами, но не могу сделать так, что бы например
--зайдя в раздел компьютерная техника,
--далее компьютерные комплектующие
--и нажав на раздел процессоры мне ниже выдало таблицу с данными которые я заполнил до этого и смог посмотреть какие процессоры есть характеристики и тд. и так с каждым подразделом.

 Комментарий модератора shanemac51
битая ссылка -
Ответ:
Сообщение от Paul13
не смогу все собрать так что бы большое количество разных характеристик учитывались в одной таблице
Не в одной, а в трех: в одной название характеристики, в другой название товара, в третьей значение даннй характеристики данного товара.

Сообщение от Paul13
опять же потом скорее всего у меня будет проблема с выводом этих же характеристик в форму
Вот как раз не будет. Сделаете в форме товара подформу для ввода характеристик.

Короче, не паникуйте. Вечером спокойно сядете и разберетесь, все поймете.
Вопрос: Защита формы (не таблицы) Access

Здравствуйте!
На форумах много пишут о защите записей Access.
Подскажите пожалуйста, как защитить не таблицу, не ячейку, а форму - от режима редактирования и конструктора, да так, чтоб никто не залез без пароля.
Ответ: в 2003-м Акцесс форма именно так и защищена - не дал пользователю прав, он не может редактировать. Всё просто, буквально вчера права на свежей БД настраивал. Ну а в кастратах это самому всё рисовать надо и видимо для каждого юзера свою форму.
Вопрос: Открытие форм через браузер

Ребят, делаю курсовую в университете, нужна помощь: нужно веб интерфейс, возможно залить на Denwer или аналог, или просто открытие форм через браузер. Скажите как реализовать это?
Ответ: а что такое браузер по вашему? видимо не веб-интерфейс?
Вопрос: ACCESS Подчиненная форма через VBA

У меня две формы. Группа и студент.

Через свободную форму открываю группу двойным щелчком по названию группы, фильтруються люди с данной группой.

Потом в самой группе. Можно добавить человека. Но я хочу чтоб сразу туда он прописался. То есть ту что я открыл , автоматически в таблицу подставилось именно её код группы. Форме обе свободные.

Как я понимаю нужна подчиненная. Через аксесс не хочу, думал через вба командами. Но не сработало. Возможно делаю нелепую ошибку.

Я просто хочу оставить в таком внешнем виде списки. Они комфортны. В ленточной форме не желательно. Так как мне решить мою проблему? возможно ли в моём варианте? и Какие команды мне лучше использовать?

Visual Basic
1
2
3
4
5
6
Me.КонтролКонтейнерСубформы.Form.RecordSource="ИмяТаблицы/запросаИлиSQL-выражениеЗапроса"
 
Me.КонтролКонтейнерСубформы.SourceObject="ИмяФормы"
 
Me.КонтролКонтейнерСубформы.LinkMasterFields="ИмяПоляГлавнойФормы"
Me.КонтролКонтейнерСубформы.LinkChildFields="ИмяПоляПодформы"
Ответ: Что-то не вышло. пытался по всякому. не прописывает. Может кто взглянет?