Процедури за потребителската форма (UserForm). Валидиране на данни

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео

Тест за преминаване към следващия урок

 
Процедурите за валидиране на данни се записват в процедури, управляващи събития (Event Handler Procedures) за графичния обект ? 
Вярно;
Не вярно;
 
Процедурите за валидиране на данни се изпълняват:
След като се въведат данните, но преди да се запишат в екселската таблица;
След като се въведат данните и се запишат в екселската таблица;

Въпроси и отговори

  • Как се заключва работното поле,където са въведени данните от формата??

    ИЛИЯ ИЛИЕВ:

    Здравейте, бихте ли ми дали разяснения как да заключа работното поле и когато добавям данни от формата, само и единствено да се добавят от UserForm и когато кликна в таблицата(базата данни) и се опитам да редактирам нещо, да ми дава грешка, че има протекция и не може да се променя нищо.. Бихте ли написали оринтировъчен код. Благодаря!

    Димитринка Вълкова:

    Достатъчно е да се защити работния лист, когато затваряте формата и да махате защитата, когато се зарежда, за да може да въвеждате данни само от формата. Запишете 2 макроса: 1. слага защита (според мен е добре, когато затваряте формата - бутон CommandButton_Click_Close)

    1. Маха защитата, когато се отваря формата - за командния бутон на лист Доставки

    ИЛИЯ ИЛИЕВ:

    Здравейте, благодаря за отговора! По подобен начин постигнах същият резултат, макроса който създадох заключва целият Worksheet, а формата я отключих като написах кода в процедурата CommandButton_Save() Създадох и още една форма която да Update/Delete редове и нея я защитих с парола, за мога да я използвам само аз, от съображения за сигурност :)

    Димитринка Вълкова:

    Поздравления! Решенията, които сам намирате, са много ценни!

    ИЛИЯ ИЛИЕВ:

    Може ли още един въпрос? Дано не съм досаден.. Опитвам се да разбера дали може да се направи следното нещо: от една UserForm и една база данни да въвеждам различни артикули които съм добавил в един ComboBox, ноо всеки е различен модел и искам да го добавя в базата данни в различни клетки т.е в ComboBox-a имам: суровина1, суровина2, суровина3, суровина4, суровина5 Суровина 1 да бъде добавена в клетка B2, суровина3 - B3 и така нататък. Дали може да се направи това или трябва няколко ComboBox-a или другият вариант който знам е всеки да е в различен Sheet, но не ме устройства, защото са над 20 вида продукти и ми се иска да са в една база данни.. :) Дано ме разбрахте какво имам в предвид..

    ИЛИЯ ИЛИЕВ:

    Допуснал съм грешка, суровина 2 в C2, суровина 3 в D2 и така нататък

    Димитринка Вълкова:

    Изпратете ми файла на мейла dutoto@gmail.com.

    ИЛИЯ ИЛИЕВ:

    Благодаря, но няма нужда да ви ангажирам, аз се справих, но сега искам това стандартно съобщение което излиза като кликна на работното поле, след като са заключени клетките, да го променя с друго съобщение от мен и не знам къде и как трябва да го променя ( и дали може да се промени де.. ) :)

    Димитринка Вълкова:

    Ето едно решение. За обект Worksheet е избрано събитието SelectionChange - за всяка избрана клетка ще излиза Вашето съобщение:

    ИЛИЯ ИЛИЕВ:

    Отново ви благодаря! Справих се и с този казус - успешно. Вече разработих цялостен прoект, включващ няколко userforms и прехвърлящи информацията в няколко бази данни и една обща база като "Майка" която преичислява стойностите и генерира резултати и всичко това благодарение на вашият курс! преди няколко седмици не знаех и че съществува VBA :) Хубава вечер и бъдете здрави!

    Димитринка Вълкова:

    Благодаря! Продължавайте напред, има още предизвикателства за откриване!