![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.12.2008
Сообщений: 5
|
![]()
Добрый день, уважаемые форумчане.
Вот какая ситуация. На работе несколько сотрудников ведут (постоянно дополняют) таблицу в Excel. Сам файл находится на сервере, соответственно одновременно работает с таблицей только один сотрудник (редактирует таблицу). Другие сотрудники могут только просматривать таблицу без изменения данных. Как сделать так, чтобы одновременно вносили данные несколько сотрудников не мешая друг другу, а то постоянно приходится просить "выйти" из таблицы коллег? За ранее спасибо! |
![]() |
![]() |
![]() |
#2 |
Регистрация: 21.05.2009
Сообщений: 3
|
![]()
Поставить MS SQL и хранить все данные там. А сам excel юзать как интерфейс
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
![]()
Хранить информацию в Access, а подключаться Excelем
Можно сделать все! Было бы время, да деньги...
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 21.12.2008
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.06.2008
Сообщений: 516
|
![]()
Ну вот так для начала:
http://office.microsoft.com/ru-ru/ex...963001049.aspx
Можно сделать все! Было бы время, да деньги...
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 21.05.2009
Сообщений: 3
|
![]()
К примеру я делаю так. Настроил MS SQL/ Создал там таблици и юзаю из макросов excel-я
Dim server As String: server = "STURM\SQLEXPRESS" Dim catal1 As String: catal1 = ServerCatalog ' тут имя каталога Dim UserId As String: UserId = UserLogin ' тут логин Dim Passwo As String: Passwo = UserPass ' тут пароль connString = "Provider=SQLOLEDB;Persist Security Info=False;Password=" & Passwo & ";User ID=" & UserId & ";Initial Catalog=" & catal1 & ";Data Source=" & server Dim conn As ADODB.Connection Set conn = New ADODB.Connection Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset conn.Open connString rst.ActiveConnection = conn ' тут любой SQL запрос rst.Open "SELECT IDSklad, ShotName FROM tbl_Skladi" ' есть много способов потом данные запроса вывести в таблицу. ' можно по полям While Not rst.EOF Cells(19, 1) = rst(0) ' по номеру поля Cells(19, 2) = rst("ShotName") ' по названию поля rst.MoveNext Wend ' а можно выкинуть все целиком Cells(6, 10).CopyFromRecordset rst Подобно можно работать и с файлом Акцеса (только строка соединения другая). Но там недостаток. При каждом запросе на комп юзера сстягивается весь фаил что перегружает сеть. При MS SQL - по сети идет только запрашиваемая информация. Вот пример по Акцесу. base = "c:\basa.mdb" ' тут путь к файлу connString = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source= " & base & ";mode=Read|Write|Share Deny None" Dim conn As ADODB.Connection Set conn = New ADODB.Connection Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset conn.Open connString rst.ActiveConnection = conn sqlString = "UPDATE tbl_OperationDetail SET ПриходБуфер = 0, РасходБуфер = 0, БуферНаМаг = 0 WHERE СчетчикОпераций <> 1" conn.Execute sqlString |
![]() |
![]() |
![]() |
#7 |
Регистрация: 21.05.2009
Сообщений: 3
|
![]()
А и еще, чтобы Excel не матюкался нужно подключить некоторые библиотеки. Для работы форм, SQL и разных шняжек
![]() Tools - References - У меня включено: Visual Basik For Applications Microsoft Excel 12.0 Object Library OLE Automation Microsoft Office 12.0 Object Library Microsoft ActiveX Data Objects 2.6 Library Microsoft Forms 2.0 Object Library Ref Edit Control Microsoft Windows Common Controls 6.0 (SP4) И еще если оффис 2000-й или ниже то я юзаю вот эту ДДЛ от 2007-го \Program Files\Microsoft Office\Office12\REFEDIT.DLL |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 30.07.2008
Сообщений: 125
|
![]()
А может просто открыть к книге общий доступ????
Так тоже можно работают все (редактируют и сохраняют! ) |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 15.11.2010
Сообщений: 17
|
![]()
Добрый день, уважаемые форумчане.
Задался подобным вопросом, но только для случая хранения базы не на локальном сервере, а на сервере в интернете (идеально – на бесплатном хостинге, типа holm.ru, или в хранилище данных, типа https://www.dropbox.com. Ответа пока найти не могу, и поэтому прошу вашей помощи. В общем: есть база данных в excel. В ней несколько десятков тысяч записей, соответственно размер файла excel – несколько мегабайт. Задача: вносить через excel в эту базу данные дистанционно (не в локальной сети, а через интернет), при этом не скачивая сам файл, чтобы не генерировать дополнительный трафик. Таких дистанционных пуктов, откуда вносятся данные, может быть несколько, именно поэтому и рассматриваю возможность внесения данных через excel – эта программа есть практически на всех компьютерах. Носить базу постоянно на флешке - не вариант. Насколько я понимаю, возможности работать в таком формате с базой данных есть только в одном случае, если эти данные будут храниться не в excel, а в базе данных, типа MS SQL. Каким образом можно из excel экспортировать данные в БД, и как потом эту БД разместить на на сервере (что я понимаю под сервером написано в вводном абзаце)? Какую БД для этого использовать? Каким образом можно будет организовать заполнение БД непосредственно из excel? (например, занести данные в Excel именно в том формате, в котором они хранятся в таблице БД, а потом при запуске макроса выгрузить эти данные напрямую в БД). Т.к. программистом не являюсь, то чем проще будет предложенный вариант, тем лучше. Буду очень признателен за ваши советы. В принципе, при устраивающей меня реализации готов отблагодарить ее автора (или даже авторов) материально (платить много не готов, но на пиво перечислить через webmoney не жалко). Последний раз редактировалось als999; 15.11.2010 в 11:18. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
чисто теоретически
Качаете MySQL ,а также Apache HTTP Server. Устанавливаете на машине с не димамичным IP адресом. Создаете базу данных и работаете.Но без опыта и знаний пивом не обойдетесь.ее еще необходимо настроить и обслуживать
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать чтоб скрипт обрабатывался на чужом сервере... | gred | PHP | 7 | 27.02.2009 10:04 |
КАК отключить кэширование на proxy-сервере? | aviv | Свободное общение | 2 | 20.02.2009 13:45 |
Единая регистрация | gagagogo | PHP | 6 | 23.12.2008 13:56 |
Как открыть файлы на сервере? | FlyByNight | Работа с сетью в Delphi | 7 | 26.06.2008 15:03 |
DBF Clipper база в Excel читет только 40 | e_dk | БД в Delphi | 4 | 01.06.2008 15:00 |