|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|
Создание автоматизированной анкеты с обновляемой базой данных09.07.2015, 15:50. Показов 3023. Ответов 24
Метки нет (Все метки)
Добрый день! нужна ваша помощь.
1 этап. Есть анкета (Лист 1) , нужно чтобы данные с этой анкеты сохранялись в отдельном листе(Лист 2), который будет использоваться , как база данных. В которую будет вносится информация в виде строки из нескольких ячеек анкеты (Лист 1). После нажатия кнопки в анкете (Лист 1)очередные данные должны подгружаться на строку ниже, тем создавая базу данных (в том случае, если в базе еще нет данной информации). 2 этап. В анкете (Лист 1) предполагается опция в виде ячейки с выпадающем меню из которого можно выбрать переменную из базы данных (Лист 2). (в случае, если она там есть) При выборе какой-нибудь переменной предполагается автоматическая загрузка всех остальных ячеек в анкете (Лист 1), уже загруженной информации ранее в базе данных (Лист 2) Подскажите, возможно ли сделать данные опции с помощью VBA? Если да, то подскажите как их реализовать. P.S. В написании макросов честно говоря не силен.
0
|
|
| 09.07.2015, 15:50 | |
|
Ответы с готовыми решениями:
24
Мониторинг данных в обновляемой таблице Создание и управление базой данных Создание сайта с базой данных |
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
|
| 09.07.2015, 23:38 | |
|
Немного не так, как вы хотели: вместо выпадающего меню сделал кнопку вызова списка. Остальное в соответствии с заданием. После открытия книги нужно разрешить использование макросов.
1
|
|
|
Чорумфанин
346 / 346 / 320
Регистрация: 06.03.2014
Сообщений: 899
|
|
| 10.07.2015, 00:17 | |
|
Что-то похожее, с выпадающим списком
1
|
|
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|
| 10.07.2015, 12:46 [ТС] | |
|
chumich, kasan, Спасибо Вам за проделанную работу! Ваши варианты очень полезны!
В ваших вариантах идея воплощена правильно. Единственное, что смущает, это то, что есть несколько недочетов. chumich, по пунктам: 1. При нажатии кнопки "Загрузить в базу данных" макрос добавляет абсолютно всех "заказчиков", даже тех, которые уже есть в списке. Данный вариант крайне не удобен ввиду того, что "заказчик" может быть с одинаковым названием, а "адреса" у него могут быть разные. Соответственно необходимо, чтобы при нажатии кнопки "загрузка в базу данных" происходила сверка ячеек с уже существующими значениями в "базе данных". При условии совпадения всех значений, нужно, чтобы всплывало некое сообщение, что загружаемый "заказчик" с такими же данными уже существует. 2. При использовании формы в строке поиска, не используя выпадающий список, есть неудобство: При введении первой переменной, форма не позволяет вводить второй символ (букву) , а выдает сразу первичный вариант из базы данных по первой переменной (букве). Поэтому для получения окончательного результата поиска приходится несколько раз вводить по одной букве, что крайне неудобно... 3. При наличии нескольких повторяющихся символов (Пример: ИП Иванов и ИП Сидоров) хотелось бы, чтобы он фильтровал выпадающий список уже по первым переменным и давал возможность выбрать нужный вариант. 4. Возможен ли, вывод некоего сообщения об "отсутствии совпадений" по поисковику , в случае, если совпадений нет? 5. При нажатии кнопки "Загрузка в базу данных" вся информация прекрасно загружается в базу данных, но автоматически исчезает из Анкеты, что создает неудобство и приходится вводить информацию дважды или через поиск. kasan, 1. При нажатии кнопки "Загрузить в базу данных" макрос добавляет абсолютно всех "заказчиков", даже тех, которые уже есть в списке. Данный вариант крайне не удобен ввиду того, что "заказчик" может быть с одинаковым названием, а "адреса" у него могут быть разные. Соответственно необходимо, чтобы при нажатии кнопки "загрузка в базу данных" происходила сверка ячеек с уже существующими значениями в "базе данных". При условии совпадения всех значений, нужно, чтобы всплывало некое сообщение, что загружаемый "заказчик" с такими же данными уже существует. (такое же неудобство, как и у chumich, ) 2.При наличии нескольких повторяющихся символов (Пример: ИП Иванов и ИП Сидоров) хотелось бы, чтобы он фильтровал выпадающий список уже по первым переменным и давал возможность выбрать нужный вариант. (такое же неудобство, как и у chumich, ) 3. Возможен ли, вывод некоего сообщения об "отсутствии совпадений" по поисковику , в случае, если совпадений нет? (такое же неудобство, как и у chumich, )
0
|
|
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
||||||
| 10.07.2015, 13:15 | ||||||
|
CheBo, по пунктам:
![]() Резюме: поясните момент с формой и списком на ней - почему же вы его не используете, и сообщите: нужен ли вам доработанный вариант. Потому как дел и без этого хватает
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|||||||
| 10.07.2015, 14:14 [ТС] | |||||||
|
chumich, Спасибо за быстрый ответ!
В первую очередь меня интересует реализация загрузки данных в базу без повторов, а то есть 1ый пункт. 1. 2. 3. 4. 5. Резюме: Определенно вывод данных поиска на форме мне очень нравится, но работает немного криво. Хотелось бы пользоваться и вводом данным и выпадающим списком для поиска "заказчиков", которые как раз будут с одинаковым названием, но с разными адресами. Поэтому это важно. (а так же необходимо, чтобы происходила некая фильтрация. Пример: набираю в поиске "ИП Иванов", выпадающий список мне выдает 3 одинаковых названия (ИП Иванов), но они выпадают не из-за того, что они будут одинаковые в целом, а потому, что у них разные адреса. Перебрав всех, я найду мне нужного). К сожалению сейчас так форма не работает. P.S. не тороплю, но хотелось бы А то у меня как-то либо опыта, либо ума не хватает ![]()
0
|
|||||||
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
||
| 10.07.2015, 14:26 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|||
| 10.07.2015, 14:39 [ТС] | |||
|
chumich,
0
|
|||
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|||||||||
| 10.07.2015, 15:51 [ТС] | |||||||||
|
chumich, Во вложении "Чистовик", где я попытался реализовать выгрузку информации в базы, но так и не смог сделать это с помощью вашего макроса. Поскольку сложно понять к чему он привязан...
0
|
|||||||||
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
|
| 10.07.2015, 19:01 | |
|
Хорошо, доработаю прямо в нем. Единственная сложность с автодополнением текста. В C# я бы это сделал за минуту, в VBA намного морочнее. Остальное же элементарно.
Добавлено через 3 часа 0 минут CheBo, а что так уж принципиально необходимо было ячейки объединять? Может быть всё-таки обойтись нужной шириной столбцов и высотой строк? Чтобы одна запись была в одной ячейке?
0
|
|
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|
| 10.07.2015, 19:58 [ТС] | |
|
chumich, Дело в том что на странице "вводные данные" после шапочки которую вам я выслал в Чистовике есть еще куча таблиц и подтаблиц, чтобы элегантно все вместить на одной странице... Я их убрал чтобы Вас сконцентрировать на конкретных таблицах. Так эти таблицы повязаны уже с кучей дополнительных листов... И с макросами для другого функционала... Если есть возможность с реализации данного задания с объединенными ячейками... То я вам буду очень-очень благодарен. Поскольку в противном случаи мне придется перекраивать всю страницу что повлечет за собой правки во всех остальных документах которые ссылаются на данный лист и правка всех других макросов по другим задачам
0
|
|
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
|
| 10.07.2015, 20:17 | |
|
Давайте так: я уже сделал копию вашего чистовика, убрал в ней все объединения, сохранив внешний вид. Доделаю программу на этой копии, пришлю вам. Если функционал вас полностью устроит, то посмотрю: смогу ли сделать то же самое на вашем чистовике.
Добавлено через 5 минут Да, и еще вопрос: если при вводе данных в форму поиска, будет вылезать список возможных вариантов, то в случае отсутствия какого либо заказчика это будет видно уже при вводе. Просто кончатся варианты и будет пустой список. Зачем тогда сообщение о том что такого заказчика в базе нет?
0
|
|
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
|
| 10.07.2015, 22:26 | |
|
Держите. Тестируйте.
Не стал использовать при поиске комбобокс - получается "масло масляное". На мой взгляд хватает текстового поля с выпадающим списком вариантов при вводе каждой буквы, но если очень надо - могу и комбобокс приладить туда же. Когда при вводе остаются, допустим, три "ИП Иванов", при щелчке по любому из них, появляется другой список, где выведены полные данные про всех трех Ивановых. Щелкнув по нужной строке этого списка, получаете данные в таблицу. Не стал выводить сообщение, что данные не найдены. Как уже говорил в предыдущем посте, при вводе отсутствующих данных в текстовое поле, список останется пуст. Так что всё и так будет понятно. Будете тестировать - добавляйте сразу те данные, которые в анкетах. Увидите как работает сообщение, и что данные не добавятся. Потом измените любую строку и попробуйте снова - данные будут занесены.
1
|
|
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
||
| 13.07.2015, 12:00 [ТС] | ||
|
chumich, Огромное Вам спасибо!
Единственное да, я не могу к сожалению применить из-за loop'ов макросы к себе в форму с объединенными ячейками. Если правда реально сделать это с "чистовиком" с объединенными ячейками, то было бы просто идеально!!!
0
|
||
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
||
| 13.07.2015, 12:15 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|
| 13.07.2015, 15:07 [ТС] | |
|
chumich, Протестировал все еще раз.
Этапы с загрузкой и выгрузкой информации в базу данных работают как часы. Возникли трудности с этапом поиска информации. Не всегда выдает корректно информацию message box. 1. В поисковике нет возможности искать с учетом разного регистра (большие, маленькие буквы) 2. Так же прикладываю print Screen с ошибкой поиска. Поиск выдает не подходящие по запросу варианты. 3. Поиск выдает иногда только названия, а дальнейшую информацию не выводит и если нажать на название, то подгружает только название без остальных данных. 4. Так же поиск выдает историю поиска в тех случаях, когда задаешь конкретное название. (в примере во вложении это так же видно)
0
|
|
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
||||
| 13.07.2015, 15:19 | ||||
|
Добавлено через 2 минуты
0
|
||||
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|||
| 13.07.2015, 15:32 [ТС] | |||
|
chumich,
0
|
|||
|
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
|
|
| 13.07.2015, 20:09 | |
|
Всё-таки, давайте отработаем сначала все косяки в пробном варианте. Вроде всё исправил, добавил независимость от регистра не только в поиске, но и при занесении данных: то есть если будет ошибка в регистре при добавлении данных, например, есть ИП Иванов, а запишут ип Иванов, то выйдет сообщение о том, что такой пользователь уже есть. Добавил сообщение, что данные занесены. Протестируйте еще раз программу, а то у меня нет ни времени, ни фантазии
на это, а у вас хорошо получается . Если всё в порядке - буду переделывать.
0
|
|
|
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 12
|
|
| 14.07.2015, 11:55 [ТС] | |
|
chumich,
Протестил, все работает как часы. Спасибо огромное! ![]() 1. В поисковике (в выпадающем списке), хотелось бы добавить выбор компании не только по клику мыши, но и по нажатию "Enter". (print screen во вложении "PS1") 2. Есть одна тонкость, если это решается в два клика, то было бы здорово, если нет, то нет: в поисковой форме при вводе в строке поиска, фильтрация в выпадающем списке осуществляется корректно, как только мы выбрали нужный вариант, проверили детали (адреса) и решили поменять на другой вариант, удалив последние несколько символов, то фильтрация в выпадающем списке перестает работать до самой первой переменной. т.е. пока мы не удалим параметры поиска до самой первой буквы, варианты в выпадающем списке не появляются. (print screen во вложении "PS2")
0
|
|
| 14.07.2015, 11:55 | |
|
Помогаю со студенческими работами здесь
20
Создание многопользовательской работы с базой данных Создание сетевой работы с базой данных Создание приложения для работы с базой данных (firebird)
Создание автоматизированной таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|