PDA

Показать полную графическую версию : [решено] Word | Excel Работа с базой данных рабочих. Связи


Страниц : [1] 2

F1L-1
29-09-2015, 10:43
Всем привет!Есть такая проблема: как и каким приложением сделать

программу которая будет делать следующее
-вводишь например табельный номер рабочего,она делает выборку с

остальными его данными такими как фамилия имя отчество,участок где он

работает и т.д.
-затем эти данные вставляет в вордовский документ в ОПРЕДЕЛЕННЫЕ

места.Как бы есть шаблон вордовского документа для вывода одного

рабочего вместо другого на период болезни оного, и надо что бы она

автоматически подставляла данные обоих в нужные места документа для

последующего вывода на печать
Может кто то имел такой опыт,может знает рациональное решение проблемы

с рутинной работой.Буду очень благодарен за совет какой программой это

сделать.И в общих чертах как это сделать.Детали и мелочи постараюсь

найти в интренете самостоятельно.Мне приходит в голову только форма в

Аксесс и создание формы,но там же она не вставит в текстовый файл

потом :( Самой базы данных пока нету она в виде таблицы в excell но сделать не проблема.хоть в аксессе хоть еще .

Iska
29-09-2015, 11:24
Мне приходит в голову только форма в
Аксесс и создание формы,но там же она не вставит в текстовый файл »
Зачем Вам текстовый файл?! Отчёты\Создать.

Drongo
29-09-2015, 13:55
F1L-1, Если не изменяет память, документы Word и Excel можно связать друг с другом, в экселе может быть база на каждого человека и по нужному номеру в документ ворд делается подстановка тех данных, которые в экселе по указаному номеру. Делал нечно подобное года три назад. Была база клиентов их номера расчётных счетов, а форма квитанции одна, связывал документы друг с другом.

Drongo
29-09-2015, 14:40
Накидал самый простой вариант, в архиве чисто для ознакомления возможностей.

1. В экселе база в нужном формате.
2. В ворде форма, в нужные места, выделеные жирным шрифтом подставляются выбранные данные из эксель.

Этап заполнения.

1. Открывается эксель, выбирается нужный сотрудник.
2. Открываем ворд - он попросит обновить связи - ок - соглашаемся.
3. Поля заполненные выбраными данными.

F1L-1
29-09-2015, 16:57
все работает.и этот ваш самый простой вариант полностью удовлетворяет всем условиям которые программа должна делать.Вы не могли бы пояснить как вы это сделали в ворде?где там выбриаешь что и куда вставлять из екселя?и что озаначает "=ВПР(G1;Base;2;ИСТИНА)"и каким способом Вы за программировали ячейку G1.где ее "свойства" найти.Или дальше уже за деньги?:)

Iska
29-09-2015, 17:54
как вы это сделали в ворде? »
Excel — выделить потребную ячейку, Копировать, Word — установить точку ввода в потребное место, Специальная вставка, Связать.

и что озаначает "=ВПР(G1;Base;2;ИСТИНА)" »
Функция ВПР - Служба поддержки Office (https://support.office.com/ru-ru/article/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%92%D0%9F%D0%A0-0bbc8083-26fe-4963-8ab8-93a18ad188a1)

и каким способом Вы за программировали ячейку G1.где ее "свойства" найти. »
\Данные\Проверка… (в Office 2003, в Вашей версии будет иначе, но смысл тот же), Тип данных — «Список», Источник — «=$A$2:$A$5».

Drongo
29-09-2015, 19:29
Специальная вставка, Связать »Добавлю только что я выбирал в спец.вставке неформатированый тексти каким способом Вы за программировали ячейку G1.где ее "свойства" найти »
[решено] Excel | Создание поля со списком и описанием списка (http://forum.oszone.net/thread-210448.html)
Base »Это имя диапазона, т.е. я выделил блок и назвал его Base, чтобы не писать А1:Н5 и т.д. просто пишу имя диапазона.

1. Создаёте табличку с данными.
2. Выделяете ячейку которая будет с выбором\раскрывающимся списком.
3. Дальше так(ссылка выше)\Данные\Проверка… (в Office 2003, в Вашей версии будет иначе, но смысл тот же), Тип данных — «Список», Источник — «=$A$2:$A$5». »
4. Выделяете столбец\колонку в вашей базе, по которой будет выборка.
А дальше в принципе функция ВПР и вывод всех столбцов выбраной строки.

Не стейсняйтесь спрашивайте, всё что смогу - отвечу.

F1L-1
01-10-2015, 17:15
Спасибо! почти все получилось,только одно не выходит.Когда при открытии текстовог офайла жму обновить,Ваши данные обновляет а мои нет)если тыкнуть в текстовом документе на связь и нажать обновить тогда значение меняется на актуальное,то бишь приходится вручную каждую связь обновлять :(Я приложу свои таблицу и файл,взгялните пожалуйста

Drongo
01-10-2015, 20:39
F1L-1, Привет.

Посмотрел, но не понял немного что где не обновляется. Это ваше.

Эксель открытый как есть
http://tnkscr.net/ttNZvz.jpg
Это документ ворд при открытии
http://tnkscr.net/avVjLM.jpg
Это документ ворд после нажатия кнопки ДА обновить связи
http://tnkscr.net/621NNE.jpg

У меня при открытии всё обновилось, на скринах показал.

F1L-1
01-10-2015, 21:05
а у меня оказывается вообще ничего не обновляется хотя жму ДА.странно.только вручную.Офис врядли кривой.Только что 10 раз проверил.Только руками через правую кнопку мыши и пункт Обновить свзяь

Drongo
01-10-2015, 21:42
Я на стареньком делал 2003-м. Попробуйте с нуля сделать?

Попробую тоже ваш переделать с нуля, раскидаю базу на второй лист, итоговый вывод на первый. Завтра утречком скину архив, что получилось.

Iska
01-10-2015, 21:54
F1L-1, у Вас задаётся подобный вопрос:
http://i.imgur.com/eTQ77TE.png
при открытии документа? Покажите эту настройку:
http://i.imgur.com/WT6gA15.png

Покажите, что находится у Вас здесь:
http://i.imgur.com/kGntYxN.png
(скорее всего то же самое).

Ну, и в любом случае будет полезно вот это:
http://i.imgur.com/qJH3eID.png
— обновлять поля и связи при предварительном просмотре/печати (т.е., достаточно будет сделать предварительный просмотр документа, чтобы обновить поля и связи).

Update: посмотрел на документ и рабочую книгу — у меня тоже не обновляет :).

Drongo
01-10-2015, 22:07
Немного переделал как и обещал. Прикрепляю архив.

P.S. Давайте перемещу тему в нужный раздел, всё-таки это не программирование...

F1L-1
03-10-2015, 14:06
Теперь у Вас все работает.только не могу понять что вы изменили ))))

Drongo
03-10-2015, 15:03
F1L-1, Попробуйте создать самостоятельно с нуля. Может так получится понять что не выходило? К сожалению, я не могу сказать отчего у вас не работало, скрины вашего варианта я показывал выше, у меня всё открылось нормально...

Подозреваю что возможно связано с не правильным назначением диапазонов
Мой вариант, Base диапазон от А2:E5
=ВПР(G1;Base;3;ИСТИНА)
У вас же так. А1:Е1 - это поля заголовков базы: №, Ф.И.О. Дата принятия, Уход и т.д. По существу они не должны участвовать.
=ВПР(G1;A1:E7;4)

P.S. А что с вопросами от Iska?

F1L-1
03-10-2015, 16:02
хм))автоматически обновлять галочка есть,Авто галочки тоже стоят,а вот при печати обновлять не было,поставил-теперь действительно все обновляется после предварительного просмотра :)как то прозевал я сообщение Iska)
Drongo,а как сделать область с определенным именем?например Base
P.S исключил поля А1-А7 но ничего не изменилось
P.P.S. попробую с нуля сделать,я и то ваше сообщение прозевал)))во я дал)думал мы все еще на первой странице темы и все сообщения старые)))

F1L-1
03-10-2015, 16:27
Все переделал с нуля и теперь вообще все отлично стало!даже переоткрывать документ не надо!молчаком обновляет данные!!!Что бы я без Вас делал двоих :)
А можно все таки узнать как вы сделали область Base?И еще интересно зачем там в ВПР в конце слово ИСТИНА, и как при создании функции ВПР когда указываешь диапазон таблицы(второй параметр) указать ему другой лист? я жму ЛКМ на другой лист а он не дает :(И еще интересно как запрограммировать ячейку что бы там была не текущая дата(СЕГОДНЯ) а "указанная дата +42 дня" например.Вот :)

Drongo
03-10-2015, 21:38
Drongo,а как сделать область с определенным именем?например Base »Я так сделал. Выделил диапазон. Вставка - Имя - Присвоить - Ввёл имя - Добавить.И еще интересно зачем там в ВПР в конце слово ИСТИНА »Истина (https://support.office.com/ru-ru/article/Функция-ВПР-0bbc8083-26fe-4963-8ab8-93a18ad188a1)
и как при создании функции ВПР когда указываешь диапазон таблицы(второй параметр) указать ему другой лист »Вот потому и сделал через присвоение имени диапазону, чего-то у меня тоже не переходит. :)И еще интересно как запрограммировать ячейку что бы там была не текущая дата(СЕГОДНЯ) а "указанная дата +42 дня" »Вам результат указаной даты + 42? Тоесть. Указана 10.10.2015, но ячейка должна отображать 21.11.2015? Или 10.10.2015 +42? Наверное так?
=ДАТА(2015; 10; 03 + 42)

Iska
03-10-2015, 22:54
Вам результат указаной даты + 42? Тоесть. Указана 10.10.2015, но ячейка должна отображать 21.11.2015? Или 10.10.2015 +42? Наверное так? »
Скорее, плюс к текущей дате. Наподобие:
=СЕГОДНЯ()+42

Drongo
04-10-2015, 01:02
Скорее, плюс к текущей дате. »Тоже так сперва подумал, а потом начал прикидывать, функция СЕГОДНЯ() отработает при открытии документа, а допустим человек сегодня ушёл в отпуск, а другой через 10 дней, тогда для первого сегодня уже не будет актуально... Поэтому под фразой указаная дата, понял как статичная дата, т.е. 01.10.2015 + 42Потому скажем для Петрова ушедшего в отпуск 1 октября функция сегодня + 42 будет давать бесконечный отпуск. :)
"указанная дата +42 дня" »
Но это мои размышления, подождём что скажет F1L-1 )




© OSzone.net 2001-2012