Страницы: 1
RSS
Многопользовательский excel
 
Всем доброго дня.
Ведем на работе учет в таблице excel. Для оптимизации процесса требуется, чтобы в таблице одновременно работали несколько сотрудников (2-3 человека). Ранее эту функцию пытались реализовать через  онлайн эксель, сохраняя рабочий файл на one drive. Но данный вариант не прижился так как с подпиской one drive начались проблемы, но даже когда подписка работала, то сам эксель-онлайн временами тупил в плане некорректной работы. При работе через онлайн версию периодически происходила странная картина - сотрудники весь день вносят информацию в таблицу - даты, номера машин и тд, но на след день открывая вновь файл сталкивались, что информация самопроизвольно задваивалась, даты введенные в ячейку автоматом протягивались на сотни других ячеек заменяя другие значения, короче происходила в итоге потеря/искажение информации в итоге информация в таблице не соответствовала той, которую вводил пользователь... Так и не поняли  с чем это может быть связано. Таблица содержит около 50 столбцов и около 60 000 строк с информацией, весит около 15 мб. Информация простая (цифры и буквы), без формул.
В итоге вернулись к обычной работе в экселе в режиме одного пользователя.  Я не очень разбираюсь в этом теме, но возможно есть какие то варианты - макросы, плагины позволяющие в офлайн версии реализовать работу нескольких сотрудников одновременно? Возможно есть какой то альтернативный софт, в котором можно вести учет в многопользовательском режиме? Буду признателен за советы.
 
"Правильные пионеры" скорее всего скажут, что надо реализовывать это с помощью базы данных. Другой "бюджетный"(как здесь иногда выражаются) вариант использовать макросы и текстовые файлы для обмена данных.
Далее, не в качестве решения, но просто информации. Есть еще один не очень правильный, не рекомендуемый и т.д. вариант - использование общего доступа "старого типа". У этого варианта есть ряд приятных особенностей: 1) это действительно общий доступ; 2) поддержка макросов. Есть и ряд других,неприятных особенностей 1)глючный, подвисной; 2)каждый может делать с файлом все что хочет (откючить ОД, удалить файл..). Я, было, попытался сделать некоторые улучшения этого режима с помощью макросов (убрать глючность), но обнаружил еще особенности, уже не преодолимые с помощью макросов. А именно, видимо это особенность реализации, когда кто-то из пользователей сохраняет файл, то в этот момент у другого пользователя происходит зависание и он должен ждать, пока закончится это сохранения, если файл большой, то это очень будет заметно. Второй момент еще заметил, что время сохранения удваивается в режиме общего доступа (в сравнении с обычным) и, что интересно, происходит двойная запись на диск. Т.е. в обычном режиме, при сохранении файла Excel пишет +- байтов сколько весит файл, а при общем доступе в ~2 размера файла.
Изменено: testuser - 07.02.2024 12:21:39
 
n3ka,
Цитата
testuser написал:
Другой "бюджетный"(как здесь иногда выражаются) вариант использовать макросы и текстовые файлы для обмена данных.
Кстати, вполне рабочий вариант. Около полугода с такой "бюджетной" БД работает несколько десятков человек.
 
Цитата
написал:
Кстати, вполне рабочий вариант. Около полугода с такой "бюджетной" БД работает несколько десятков человек.
а подскажите что нужно, чтобы такой вариант попробовать в работе?)
 
n3ka, нужно ТЗ или хотя бы более подробное описание процесса.
Ну и какое-то количество времени и денег. Бесплатно на коленке вряд ли кто-то сделает.
 
Многопользовательский Excel это - Microsoft Access
Изменено: New - 07.02.2024 19:16:26
 
dhead,
если все люди вносят данные в одну и ту же табличку, то можно это решить с помощью двух excel файлов и не очень сложного макроса:
в первом создаем на ячейках "форму" для заполнения таблички, данные из которой будут переноситься во второй файл. И в этом же файле делаем дубликат второго файла с табличкой (которую мы запаролем, чтобы данные не вносили в нее), но на формулах, либо с помощью PQ. Для этого файла ставим пароль на редактирование, и все открывают его только под чтением.
второй файл делаем скрытым и о нем никто ничего не знает, он будет как база для данных от разных пользователей. в целом вместо excel второй файл может быть тупо текстовым

По итогу, конечные пользователи открывают файл, заполняют форму и нажимают кнопку для переноса данных в табличку и конечно думают, что все происходит прямо в этом файле.
Изменено: evgeniygeo - 08.02.2024 08:40:31
 
Цитата
написал:
если все люди вносят данные в одну и ту же табличку, то можно это решить с помощью двух excel файлов и не очень сложного макроса:в первом создаем на ячейках "форму" для заполнения таблички, данные из которой будут переноситься во второй файл. И в этом же файле делаем дубликат второго файла с табличкой (которую мы запаролем, чтобы данные не вносили в нее), но на формулах, либо с помощью PQ. Для этого файла ставим пароль на редактирование, и все открывают его только под чтением.второй файл делаем скрытым и о нем никто ничего не знает, он будет как база для данных от разных пользователей. в целом вместо excel второй файл может быть тупо текстовымПо итогу, конечные пользователи открывают файл, заполняют форму и нажимают кнопку для переноса данных в табличку и конечно думают, что все происходит прямо в этом файле.
Да, работают в одном файле, в одной вкладке.. Тупо вносят значения в необходимые ячейки. Получается база учета ТМЦ.
Идея конечно классная у Вас, но боюсь, что нам не хватит мозгов чтобы реализовать ее))
 
Цитата
evgeniygeo написал:
И в этом же файле делаем дубликат второго файла с табличкой
Перечитал 3 раза и не понял про дубликат файла в файле)

Как делал я: есть один екселевский файл с базой на защищенном от редактирования листе (или листах). У каждого пользователя есть свой файл с формой для добавления новых записей. Новые записи пишутся в сетевую папку в текстовые файлы для каждого пользователя отдельно. Когда открывается файл базы, он автоматически обновляет данные, читая текстовые файлы.
 
dhead,
по сути тоже самое, что и у Вас, но в моем случае мне не нужны отдельные листы для каждого пользователя и желание у заказчика было такое, что базу  было сразу видно после внесения записей для этого в том файле где пользователи вносят данные есть эта же база
n3ka,
в таком случае, либо воспользоваться старой версией Общего доступа", либо обратиться в платный раздел форума
Изменено: evgeniygeo - 08.02.2024 12:52:40
 
Цитата
evgeniygeo написал:
по сути тоже самое, что и у Вас, но в моем случае мне не нужны отдельные листы для каждого пользователя
Если все пишут в один лист "базу", значит наверное как-то реализовывали очередь записи?
 
testuser,
заполняют через отдельный файл, в котором форма с выпадающими списками и кнопка с макросом, чтобы занести данные в базу, поэтому шанс, что сохранят одновременно небольшой, но в этом случае можно в макросе банальную проверку сделать.

Как пример приложу два файла. Думаю, что интуитивно все будет понятно.
Изменено: evgeniygeo - 08.02.2024 15:00:16
 
Цитата
evgeniygeo написал:
Как пример приложу два файла. Думаю, что интуитивно все будет понятно.
Не заглядывая в файл (чутка лень пристал немножко сегодня), предположу, что там используется проверка на монопольный доступ. У меня был случай там надо было строки перемещать из одного листа в другой + манипуляции с форматом.. Сначала, я думал реализовать свою систему, отдельных ридонли файлах, промежуточном старо-обще-доспуном файле. И вроде все было понятно, но перевалив за 100 строчек кода (или около того) "каменный цветок" все не завершался. Потм я обнаружил, что в  "ст. общем доступе" можно перемещать строки (целиком), и в таком свете он мне показался очень привлекательным. Там-то не нужн ни чего отслеживать, точнее гораздо меньше.. Сделал в общем на нем. Чуть позже, учитывая информацию о глюках на этом режиме, решил попытаться исправить, хотябы частично его недостатки с помощью макросов. Как я тогда надеялся, что основные глюки там связаны с совпадением времени сохранения разных пользователей и что если создать очередь сохранения, то будет конфетка. Но как позже выяснилось, все оказалос чутка сложнее и прозаичнее. Как выше уже описывал или, допустим, может возникнуть такой момент, что Эксель решит, что связь с файлом потеряна, и восстановить эту связь нельзя ни как (только переоткрытие), и изменения можешь сохранить только в новый файл. А так, в общем, было немножко увлекательно )
Изменено: testuser - 08.02.2024 16:07:43
 
Цитата
написал:
в таком случае, либо воспользоваться старой версией Общего доступа", либо обратиться в платный раздел форума
вроде как не очень эта функция реализована для многопользовательского режима?
 
Цитата
n3ka написал:
вроде как не очень эта функция реализована для многопользовательского режима?
Как бы немножко да. Тектовые файлы рулят..
 
testuser,
даже проверки нет, все еще тупее  :D
n3ka,
насколько знаю, этот вариант работает около 3 лет в компании, поэтому можете взять, как основу и переделать под свои нужды (например заменив второй excel файл на текстовый)
 
Цитата
написал:
По итогу, конечные пользователи открывают файл, заполняют форму и нажимают кнопку для переноса данных в табличку и конечно думают, что все происходит прямо в этом файле.
а как при этом работать нескольким пользователям одновременно? Получается каждому пользователю нужно создать свой отдельный эксель или текстовый файл? Инструкция  конечно не помешала бы. Не совсем понятно из текста как это реализовать, чтобы все работало четко и без потери информации.  
 
Цитата
n3ka написал:
а как при этом работать нескольким пользователям одновременно?
без проблем, они же входят в файл под чтением
Цитата
n3ka написал:
Получается каждому пользователю нужно создать свой отдельный эксель или текстовый файл?
нет, всего два файла, как в примере
Цитата
evgeniygeo написал:
Инструкция  конечно не помешала бы
понимаю, скачайте архив, распакуйте в отдельную папку.
В настройках проводника покажите скрытые элементы. В настройках excel проверьте включены ли макросы.
Откройте "Файл-форма" для редактирования, пароль 1.
На листе "Справочник" укажите путь к скрытому "Файл-база", сохраните и закройте "Файл-форма".
Откройте "Файл-форма" для чтения.
Заполните ячейки на листе "Форма" тестовыми данными и нажмите кнопку "Внести в базу". Макрос перенесет данные в скрытый "Файл-база", и их же подтянет в открытый "Файл-форма" на лист "База".
Изменено: evgeniygeo - 12.02.2024 06:24:17
Страницы: 1
Наверх