Страницы: 1
RSS
при выборе из Listbox заполнять Page2 Multipage
 
Уважаемые форумчане
Прошу Вашей помощи так как сам справится не могу
К сожалению файл примера приложить не могу , он превышает допустимый размер , поэтому постараюсь объяснить
проблему на пальцах.

Суть такова есть форми
- Userform1 на ней элемент Multipage1 который имеет две вкладки Page1, Page2 на каждой из них
располагаются свои независимые элементы .
- Userform2 на которой находится элемент ListBox_FIND
при помощи кода
Код
Private Sub ListBox_FIND_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

UserForm1.DTPicker1.Value = UserForm_FIND.ListBox_FIND.List(ListBox_FIND.ListIndex, 0)
UserForm1.Text_FIO_doctor.Value = UserForm_FIND.ListBox_FIND.List(ListBox_FIND.ListIndex, 1)      
UserForm1.Show

End Sub

данные должны грузится в Userform1 в те контролы которые находятся в Multipage1 вкладка Page2

Однако вылетает связаная с DTPicker1  ошибка и код останавливается.

(кстати пока была привязана только вкладка Page1 всё работало идеально). Я так понимаю проблема

где-то в активации нужной вкладки Multipage1 , но вот как это решить не знаю.

 
Может сначала из формы на лист, а потом куда хошь? И тогда никаких DTPicker не надо? :)
 
Цитата
Может сначала из формы на лист, а потом куда хошь? И тогда никаких DTPicker не надо?

Не ,  данные в Listbox грузятся как раз из листа , а вот  для редактирования , (по двойному клику на Listbox) подгружаются в Userform1 Multipage1 вкладка Page2  
Изменено: axill_3d - 19.10.2018 20:33:23
 
 DTPicker - это какой-то нестандартный элемент формы? что-то с датой связано? Что в Listbox из листа это понятно, я хотел сказать - зачем непонятный DTPicker если можно простым текстбоксом или календарем, коих куча - из формы на лист, и потом с листа снова в эту или другую форму. Ну или если не на лист, то в переменную это значение загнать. Без примера непонятно, какой результат и из чего нужно получить
 
Цитата
axill_3d написал: но вот как это решить не знаю
Возможно ЭТО поможет
Согласие есть продукт при полном непротивлении сторон
 
Цитата
DTPicker - это какой-то нестандартный элемент формы? что-то с датой связано?

DataTimePicker - стандартный элемент .календарь (сто лет бы его не знать , одни проблемы с ним ), а применяю потому что альтернативы не нашёл.
Если можете посоветуйте что нибудь путное.
Цитата
из формы на лист, и потом с листа снова в эту или другую форму

Да именно так в туже форму (если вдруг понадобится отредактировать добавленную запись )
Но суть вся в том что где-то в коде
Код
Private Sub ListBox_FIND_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
 
UserForm1.DTPicker1.Value = UserForm_FIND.ListBox_FIND.List(ListBox_FIND.ListIndex, 0)
UserForm1.Text_FIO_doctor.Value = UserForm_FIND.ListBox_FIND.List(ListBox_FIND.ListIndex, 1)      
UserForm1.Show
 
End Sub
нужно указать что информация должна подгружаться в  Multipage1 вкладка Page2. Видимо программа сама не может определить где ,
а вернее на какой из вкладок находятся
DTPicker1 и Text_FIO_doctor
 
axill_3d, загляните в "Копилку" - календарь на стандартных элементах от Слэна.
 
Семейство календарей.
 
Цитата
Юрий М


Спасибо , в дальнейшем буду применять именно этот календарь .
Но сейчас хотелось-бы решить текущую проблему , так как форма и привязки к таблицам уже готовы.
И очень не хочется всё переделывать
 
Создайте небольшой файл-аналог - помощь получите быстрее.
 
А еще иногда делаю так: три комбобокса (день, месяц, год - списки с листа), если нужно - привязываю к текущей дате или месяцу или году, чтобы при открытии формы не выбирать нужное во всех трех комбобоксах, а только день.
Цитата
Видимо программа сама не может определить где , а вернее на какой из вкладок находятся DTPicker1 и Text_FIO_doctor
Ну так если из формы загнать на лист, то и не нужно на форме контролы искать, просто TextBox1.Value=[D3]
off: Аж приятно стало :) Кто-то еще помнит велик с моторчиком из детства? Д3, Д4, Д5? Верх мечтаний - мопед "Верховина" :)
Изменено: _Igor_61 - 19.10.2018 21:49:53
 
вот пример того что хочу получить пример во вложении
 
Честно говоря, ни фига из файла не понял - в чем там глобальная задача, в чем смысл всего происходящего...

А насчет кода - наверное неправильно пытаться в дату засунуть текстовое или другое значение.

DTPicker1.Value= здесь же дата подразумевается, а Вы делаете =ListBox_FIND.ListIndex, 0
В ListBox фамилии... Если загвоздка именно в этом, поясните - для чего в поле, предназначенное для ввода даты нужно ввести значение из ListBox?
Хотя, конечно, может чего-то и не понимаю и не знаю, я ведь не профи, а просто любитель Excel ;)
 
Дело в том что форма Userform1 предназначена для добавления данных на лист и она же вызывается посредством двойного клика на Listbox
в случае если нужно внести изменения в существующую запись.

Механика такая человек вводит информацию в первую или вторую вкладку Multipage1 , затем нажимает кнопку добавить  , информация
добавляется на лист затем , в случае необходимости , нажимаем кнопку поиск на той же форме открывается  Listbox (если кнопка поиск на Page1 )
то открывается  Listbox на Userform2 если на Page2 то соответственно  Listbox на Userform3 . Ну а дальше (при помощи ) двойного клика на
Listbox проводится добавление имеющейся информации (для редактирования) в туже форму Userform1 только в зависимости от того с какого
Listbox информация в очищенную форму на Page1 или Page2.

Вот примерно такая схема.
 
Всё ребята . Вопрос снят. Решение найдено ! Три дня я потратил в поисках  , а оказалось то , как всегда "всё гениальное просто."

А вот , этот человек который в своём видео разъяснил решение  https://www.youtube.com/watch?v=QID8qSou0jQ

Для тех кому интересно и кто столкнулся с подобной задачей решение в одной строчке кода
MultiPage1.Value = 0 или 1 В зависимости от того на какую вкладку хотите отправить информацию.
Код
UserForm1.DTPicker1.Value = UserForm_FIND.ListBox_FIND.List(ListBox_FIND.ListIndex, 0)
UserForm1.Text_FIO_doctor.Value = UserForm_FIND.ListBox_FIND.List(ListBox_FIND.ListIndex, 1)      
UserForm1.Show


Всем огромное спасибо за проявленный интерес и терпение. .  
Изменено: axill_3d - 20.10.2018 15:58:24
 
Цитата
axill_3d написал: решение в одной строчке кода MultiPage1.Value = 0 или 1
И к чему было еще 10 сообщений городить? По ссылке в сообщении #5 все это (и кое что еще) есть :)  
И оно вовсе не ИЛИ, а от 0 до количества вкладок минус одна
Изменено: Sanja - 20.10.2018 18:39:08
Согласие есть продукт при полном непротивлении сторон
 
т.е.
Цитата
axill_3d написал:
UserForm1.DTPicker1.Value = UserForm_FIND.ListBox_FIND.List(ListBox_FIND.ListIndex, 0)
правильно? :qstn:  
 
Цитата
_Igor_61


Просто приложенный файл это аналог . Писал по быстрому поэтому возможно  допустил ошибку и не проверил.
Но в основном проекте ,после добавления, строк  MultiPage1.Value = 0 всё заработало. .  
Страницы: 1
Наверх