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

Редактирование модуля из VBA в Access97

06.02.2011, 07:56. Показов 1279. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я использую редактирование модуля из VBA для выполнения сложных
вычислений для отчетов. В таблице в полях MEMO находится текст
функции CalcSQL() As Long, находящейся в модуле Calcmdl. Сначала
функция fill(str As String) As Long заменяет функцию CalcSQL на
строку str, берущуюся из поля Memo. Затем модуль сохраняется,
и вызывается функция CalcSQL. Проблема в том, что при первом
вызове функции Fill(str1) функция CalcSQL работает нормально, но
при втором вызове Fill(str2) функция CalcSQL выдает результат,
получаемый в str1, а не в str2. После выхода из программы в модуле
Calcmdl находится str2. Итог: первое редактирование и запуск
работают, последующие запуски не работают, последний запуск
срабатывает только при выходе из программы. Подскажите, по работе
очень надо!!! Заранее спасибо!!!!!
А вот исходники:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'Модуль Fillmdl
Option Compare Database
Option Explicit
 
Public Function fill(str As String) As Long
Dim m As Module
Dim s As Long
Application.Echo False
DoCmd.OpenModule ('Calcmdl')
Set m = Modules('Calcmdl')
s = m.ProcStartLine('CalcSQL', vbext_pk_Proc) + 1
m.DeleteLines StartLine:=s, Count:=m.ProcCountLines('CalcSQL', vbext_pk_Proc) - 2
m.InsertLines Line:=s, String:=str
DoCmd.Close acModule, 'Calcmdl', acSaveYes
Application.Echo True
Set m = Nothing
fill = calcSQL()
End Function
 
'Модуль Calcmdl
Option Compare Database
Option Explicit
Public Function calcSQL() As Long
MsgBox '2'
End Function
 
'Тест
Call fill('MsgBox''Запуск 1''') ' выводится 'Запуск 1'
Call fill('MsgBox''Запуск 2''') ' выводится 'Запуск 1', а надо, чтобы выводился 'Запуск 2'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2011, 07:56
Ответы с готовыми решениями:

Как в Access97 создать модуль из VBA
Я изучил Help. Проблема вот в чем: среди стандартных коллекций в Database нет коллекции Modules....

Редактирование элементов модуля
На шапке сайте стоит интерактивный модуль. tark.cc/ ( 4 блока и в каждом своя информация) У меня...

Редактирование модуля Login
Добрый день друзья! Редактирую стандартный модуль Login (joomla). Переопределил его в свой...

Редактирование модуля комментариев
Здравствуйте! Я пишу сайт,уже разместил его на бесплатном хостинге, вот его адрес orange.hol.es . Я...

1
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 54
06.02.2011, 09:50 2
Я думаю, что все эти выкрутасы с изменением модуля в процессе работы программы - неудачное решение. А что если придется создать файл mde? Как тогда будут изменяться модули?
Надо все решить через процедуры использующие различные функции и операторы выбора: if, iif, select case и т.д, а в соответствующем поле поставить соответствующий флаг выбора нужной функции.
0
06.02.2011, 09:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2011, 09:50
Помогаю со студенческими работами здесь

Редактирование пользовательского модуля
Приветствую. Первый раз гляжу на Битрикс и глубоко разбираться возможности нет. Может кто быстро...

Редактирование модуля авторизации в joomla 2.5
Ни как не вкурю как отредактировать название модуля авторизации в главном меню . Кто может помочь?

Редактирование модуля FilterPro v2.4.4.1 (seo)
Добрый день! Друзья уже третий день бьюсь над тем чтобы внести изменения в данный (FilterPro...

Редактирование модуля шаблона Joomla
Здравствуйте!Проблема серьезная..сутки уже не могу найти решение...необходимо отредактировать...

Редактирование модуля авторизации в Joomla
Всем доброго времени суток. 1е. Меня интересует вопрос относительно ДБ у меня в ДБ есть столбец...

Оптимизация VBA модуля
Есть такой модуль, который ищет в строке дубли. Option Compare Database Option Explicit ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru