|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.06.2010, 11:24 | #1 |
Пользователь
Регистрация: 16.07.2009
Сообщений: 29
|
пароль на открытие формы?
Всем доброго дня!
Нужна помощь-совет по работе с формой: 1. есть ли возможность поставить пароль для доступа к вкладкам "MultiPage", что бы пользователи могли входить только в определенную закладку? Или как поставить на командную кнопку пароль для открытия формы? 2. На форме создана "Frame" и в ней имеется 4 переключателя OptionButton, как заставить производить опреленные действия при нажатом 1, 2, 3 или 4? Подробнее: Данные из формы помещаю на лист книги таким образом "Dim sil5 As Integer sil5 = InputBox("Введите нужное количество") - (по другому не сумел вводить на лист данные в числовом формате) и через текстбокс, дальше размещаю в строке - cell = Me.Date1: cell.Next = sil5: cell.Next.Next = sil6: cell.Next.Next.Next = sil7: cell.Next.Next.Next.Next = sil8: cell.Next.Next.Next.Next.Next = Me.FIO: cell.Next.Next.Next.Next.Next.Next = Me.num_sm: cell.Next.Next.Next.Next.Next.Next. Next = sil5 + sil6 + sil7 + sil8" В Sil 5, 6, 7, 8 должны попасть из InputBox значение при установленном флажке. То есть если установлен фл.1, то sil5 = InputBox, если фл.2, то sil6 = InputBox и т.д. Спасибо. |
07.06.2010, 13:46 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
1. Попробуйте что-то вроде этого:
Код:
2. Я бы сделал как-то так: Код:
|
07.06.2010, 15:05 | #3 |
Пользователь
Регистрация: 16.07.2009
Сообщений: 29
|
Большое спасибо за помощь, даже можно сказать за сделанное дело. Если можно, то объясните мне это выражение: Case Me.OptionButton1: sil5 = Val(res): sil6 = 4
почему sil6= 4 и осатльные 7, 2, 9? Хотелось бы не просто содрать, а понять. Большое Вам спасибо. |
07.06.2010, 15:35 | #4 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Просто я не совсем понял смысл вашей фразы: Цитата:
если известно значение только sil6 (при выбранном OptionButton2)? Ну и строку cell.Resize(, 5).Value = Array(Me.Date1, sil5, sil6, sil7, sil8, Me.FIO, Me.num_sm, s) правильно было бы записать так: cell.Resize(, 8).Value = Array(Me.Date1, sil5, sil6, sil7, sil8, Me.FIO, Me.num_sm, s) И ещё: Цитата:
В случае, если пароль введён неверно, запускал бы форму как есть - лишь с некоторыми видимыми вкладками Multipage, а если пароль угадан - изменял бы свойство Visible всех вкладок на TRUE)
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 07.06.2010 в 15:40. |
|||
07.06.2010, 16:35 | #5 |
Пользователь
Регистрация: 16.07.2009
Сообщений: 29
|
Наверно я сам напутал всего и теперь понять сложно.
Мысль такова, что при установленном флажке номер 1,2,3 или 4 данные, которые вводятся через InputBox будут иметь принадлежность к соответсвующим именам sil5, sil6, sil7, sil8. То есть при разносе данных в таблицу в 1-й столбец (sil5) попадет значение если стоит 1-й флаг, если стоит 2-й флаг, то sil5 пусто, а sil6 равен вводимому значению и т.д. |
07.06.2010, 17:16 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Ну тогда все просто:
Код:
|
09.06.2010, 16:47 | #7 |
Пользователь
Регистрация: 16.07.2009
Сообщений: 29
|
Уважаемый EducatedFool затратьте на меня еще несколько минут, пожалуйста!
Никак не могу довести Ваш код до моей потребности, выручайте. В этом коде важно, чтобы на момент выполнения команды были выбраны case1, 2, 3 или 4, то есть должен быть код проверки установки галки. С текстовым боксом поступаю так If Me.Date1 = "" Then MsgBox "Не введена дата", vbCritical, "Ошибка": Exit Sub, а как поступить с этими кнопками? Объединить их фреймом и проверить на свойство True или false? Пробовал, но что-то не получилось. Потом я использовал вставку данных на лист книги через cell.next. и у меня построчно заполнялась таблица, а при коде cell.Resize затирается предыдущий и вместо него идет вставка новых данных. И еще Вы начинаете код Dim cell As Range: Set cell = [b5], а я содрал с какого-то примера Dim cell As Range: Set cell = [a65000].End(xlUp).Offset(1) вот b5 и а6 что они обозначают? Спасибо за терпение, просто первый раз с формами работаю, а реально разбирающихся очень мало. |
09.06.2010, 17:13 | #8 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Код:
Цитата:
вставка в обоих случаях идёт, начиная с ячейки cell, и вправо. Ячейку вы выбираете правльно: Код:
[a65000] в вашем примере - типа последняя ячейка в столбце А Правильнее писать так: range("a" & rows.count) - в этом случае ячейка будет точно последней в столбце |
||
09.06.2010, 17:39 | #9 |
Пользователь
Регистрация: 16.07.2009
Сообщений: 29
|
Постепенно начинаю понимать, хотя теории явно не хватает. Попробую поискать буквари.
Вам БОЛЬШОЕ СПАСИБО! Благодаря таким поддержкам у людей не отбивается желание двигаться или хотя бы делать попыпки двигаться вперед! Еще раз спасибо. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие формы select | Vitalyk | JavaScript, Ajax | 0 | 18.03.2010 21:08 |
Открытие формы через пароль | segail | Microsoft Office Excel | 30 | 12.03.2010 19:51 |
Открытие формы изменить в БД | kuzmich | БД в Delphi | 11 | 19.10.2009 17:09 |
Открытие формы | dampirik | Общие вопросы C/C++ | 3 | 17.08.2009 11:02 |
Открытие формы | inret | Общие вопросы Delphi | 3 | 06.05.2008 14:37 |