powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / createcontrol
16 сообщений из 16, страница 1 из 1
createcontrol
    #39486442
SwLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не работает из процедуры :
Sub cadd()
Dim lnc As Control, tp As Integer, wh As Integer, ll As Integer, lp As Integer, nf As Integer


DoCmd.OpenForm "fmap", acDesign, , , acFormEdit , acHidden

set lnc = CreateControl("fmap", acLine, acDetail, , , 100, 100, 100, 100)

ошибка 29054 : не может добавить,переименовать или убрать элемент.


что это ?
...
Рейтинг: 0 / 0
createcontrol
    #39486456
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибок не вижу.
А после перезапуска базы тоже не работает?
И долго экспериментировали с созданием контролов? Есть ограничение по-моему в 754 контрола на форму, причем счетчик не уменьшается после удаления контролов и не сбрасывается при сжатии-восстановлении. В ранних версиях по крайней мере так было, в новых не проверял.
...
Рейтинг: 0 / 0
createcontrol
    #39486459
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте пересоздать форму, скопировав все контролы и код со старой. Если заработает - проблема в счетчике
...
Рейтинг: 0 / 0
createcontrol
    #39486538
SwLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это точно не счетчик :(
если этот код запустить из другой открытой формы, по клику на кнопке - работает. если не клик, а например, getfocus -нет. сломала голову, в чем разница ?
...
Рейтинг: 0 / 0
createcontrol
    #39486559
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так вы уточняйте, как именно вызываете. GetFocus чего и на какой форме? Демо базу можно выложить.
...
Рейтинг: 0 / 0
createcontrol
    #39486565
SwLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
форма 1 - изменяемая, ф 2 - откуда происходят изменения ф1.
1. по клику на кнопке ф2 открываю ф1 и рисую элементы - ок.
далее ф1 открывается в обычном режиме, пользователь выбирает данные и по ним нужно нарисовать новый элемент на ф1.
пробовала и вызывать процедуру и передавать управление ф2 - не работает :(
...
Рейтинг: 0 / 0
createcontrol
    #39486577
SwLanaдалее ф1 открывается в обычном режиме, пользователь выбирает данные и по ним нужно нарисовать новый элемент на ф1 - не работает :( Т.е. вы хотите добавить элемент на форме, открытой в обычном режиме? Не взлетит...
...
Рейтинг: 0 / 0
createcontrol
    #39486586
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка, скорее всего, из-за работающего кода изменяемой формы. Закройте форму с сохранением, затем открывайте в режиме дизайна и дорисовывайте.

А лучше так не извращаться. Если возможно по бизнес логике, создайте достаточное количество невидимых элементов, перемещайте в нужное место и "включайте", когда необходимо.
...
Рейтинг: 0 / 0
createcontrol
    #39486599
SwLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin, да, я так и делаю. закрываю форму, вызываю процедуру - не работает. как мне закрыть ф1 по кнопке на ф1 и перевести форму в режим редактирования ? если я вызываю процедуру или делаю ссылку на ф2 - не работает.
...
Рейтинг: 0 / 0
createcontrol
    #39486603
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев )Т.е. вы хотите добавить элемент на форме, открытой в обычном режиме? Не взлетит..
При попытке создать контрол в форме в обычном режиме будет другая ошибка, явно указывающая на режим. Перевести форму из обычного режима в дизайн, дорисовать контрол и вернуть в обычный режим можно, форма только моргает. Другой вопрос в сложности изменяемой формы в плане кода. Только что проверил на простой форме с минимум кода - работает
...
Рейтинг: 0 / 0
createcontrol
    #39486624
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwLanaкак мне закрыть ф1 по кнопке на ф1 и перевести форму в режим редактирования ? если я вызываю процедуру или делаю ссылку на ф2 - не работает.
А, ну тогда понятно. Не выйдет просто так сделать такой финт - как я сказал выше, пока работает код в изменяемой форме, не удастся создать контрол, хотя в режим редактирования переводится без ошибок.
в качестве обходного маневра можно в кнопке закрытия на ф1 запускать таймер на ф2, а в событии таймера уже открывать ф1 на редактирование через некоторое время, за которое ф1 успеет закрыться.
...
Рейтинг: 0 / 0
createcontrol
    #39486631
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwLana,

А какое конечное назначение формы fmap, если не секрет? Неужели карту рисуете таким способом? Пользователь глаза сломают на моргании формы.
...
Рейтинг: 0 / 0
createcontrol
    #39486708
SwLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет, не сломают. это схема разводки.
я, все-таки не поняла -MrShinПеревести форму из обычного режима в дизайн, дорисовать контрол и вернуть в обычный режим можно, форма только моргает. Другой вопрос в сложности изменяемой формы в плане кода. Только что проверил на простой форме с минимум кода - работает ?? то есть работает ?
я закрыла форму, (проверила isopen) и из процедуры пытаюсь создать контрол - фиг вам :(.
стереть контрол -пожалуйста. это как ?
...
Рейтинг: 0 / 0
createcontrol
    #39487093
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, работает.

форма 1:
Код: vbnet
1.
2.
3.
4.
Private Sub cmdUpdateMe_Click()
DoCmd.Close acForm, Me.Name, acSaveYes
Forms("Form1").TimerInterval = 100
End Sub



форма 2:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Option Compare Database
Option Explicit
Dim i
Public Sub cmdUpdateMap_Click()
Dim lnc As Control, tp As Integer, wh As Integer, ll As Integer, lp As Integer, nf As Integer

DoCmd.OpenForm "fmap", acDesign, , , acFormEdit, acHidden
i = i + 1
Set lnc = CreateControl("fmap", acLine, acDetail, , , 100, 100 * i, 100, 100)
DoCmd.OpenForm "fmap"
End Sub

Private Sub Form_Timer()
Me.TimerInterval = 0
cmdUpdateMap_Click
End Sub
...
Рейтинг: 0 / 0
createcontrol
    #39487094
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, забыл сказать, что если интервал таймера сделать меньше, то ошибка начинает вылезать периодически - окно не успевает закрыться до попытки обновления. Соответственно, возможно придется поиграться с интервалом, если форма будет достаточно сложная и будет закрываться медленнее.

Вообще я бы сделал по-другому, как я написал выше. И только в случае нехватки элементов закрываем форму и добавляем порцию невидимых заготовок, с которыми уже работаем при открытой в нормальном режиме форме. Так будет моргать только изредка, когда контролы будут заканчиваться и работать будет быстрее.
...
Рейтинг: 0 / 0
createcontrol
    #39487133
SwLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin, спасибо !
все-таки, придется делать невидимые контролы, действительно, будет быстрее :(
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / createcontrol
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]