FireFenix писал(а):Идиотский вариант: сделать синхронизацию папок, и при каждом входе в систему файл mdb будет синхронизироваться
FireFenix писал(а):Не менее идиотский вариант: выложить на сервер, и юзать через сетевой путь
FireFenix писал(а):Относительно нормальный вариант: сделать клиент-серверное приложение, и сервер конектится к mdb
Нормальный вариант: экспортировать в нормальную СУБД и всё это держать на сервере
iGrok писал(а):1. Перенести все таблицы (ну или только те, что нужно синхронизировать) из mdb в MS SQL на сервере.
2. Прилинковать их в mdb-шку.
3. Скорее всего, пользоваться дальше программой, будто ничего и не случилось.
А вот если п.3 не получится - тогда уже нужно разбираться, почему, и что помешало.
kuhtiov писал(а):Тогда как с обоих компов работать одновременно? Access не поддерживает сетевой режим
kuhtiov писал(а):Звучит красиво, только не понял как я реализую второй пункт . Поясни пожалуйста
iGrok писал(а):Примерно так:
В access - Файл - Внешние данные - Связь с таблицами. Там выбираешь тип - ODBC, создаёшь источник данных. Драйвер SQL Сервер, указываешь параметры подключения. Потом выбираешь нужные таблицы.
kuhtiov писал(а):Если я все правильно понял, данный способ будет работать в случаи если базу вести непосредственно в программе Access. А если акцесовскую базу формирует стороннее приложение? Разве в таком случаи данные будет синхронизироваться с sql сервером?
iGrok писал(а):kuhtiov писал(а):Если я все правильно понял, данный способ будет работать в случаи если базу вести непосредственно в программе Access. А если акцесовскую базу формирует стороннее приложение? Разве в таком случаи данные будет синхронизироваться с sql сервером?
Это ты где такое вычитал вообще?
Данные, кстати, не "синхронизируются". Они будут физически находиться не в mdb, а в базе на SQLServer. Поэтому в данном случае абсолютно по барабану, кем они генерируются.
У нас была mdb-шная база и софтина на vb6, которая с ней работала.
В какой-то момент понадобилось сделать так, чтобы одна из табличек была общей для двух филиалов. Собственно, немного покопавшись я и провернул эту схему - вынес таблицу на sql-сервер одного из филиалов, и прилинковал её в mdb-шки обоих филиалов предварительно объединив существующие данные. Единственный минус - при падении канала связи между филиалами, или перезагрузке сервера, на котором крутился sql, табличка становилась недоступной, но в нашем случае это было не слишком критично.
kuhtiov писал(а):Верно ли я понял что все данные нужно экспортировать на sql сервер, а таблицу access почистить, или мне нужно только завести дубликаты таблиц на сервере и прилинковать? (пока не очень хорошо понимаю сей процесс)
iGrok писал(а):По логу - всё корректно. 4 инсерта = 4 строки в базе.
Хорошо бы увидеть лог общения софтины с Access, только я не очень представляю себе, как его добыть.
По тому, что ты пишешь, вместо инсертов там должны быть апдейты. Может быть, odbc-драйвер mysql что-то некорректно обрабатывает.
Возможно, дело действительно в "кривой" выборке из TDiagnos (nID=0), из-за которой софт думает, что записей ещё нет, и генерирует не обновление, а вставку.
А nID=0 там может оказаться, например, если после вставки вместо ид вставленной записи по какой-то причине возвращается 0.
З.Ы. Я-то всё-таки работал со связкой access + MSSQL, и за mysql в данном случае ничего сказать не могу. Надо разбираться.
kuhtiov писал(а):Так может попробовать MySQL поставить? Может вместе поразбираемся? ))
iGrok писал(а):У меня встречный вопрос - почему не поставить MS SQL ? Express-версии (бесплатной!) должно хватить по возможностям.
kuhtiov писал(а):Прикупил пива с запасом. Если заработает, на радостях накидаюсь и завтра спозаранку поеду в офис
kuhtiov писал(а):пива
Хакер писал(а):kuhtiov писал(а):Прикупил пива с запасом. Если заработает, на радостях накидаюсь и завтра спозаранку поеду в офис
Лучше не надо.
iGrok писал(а):kuhtiov писал(а):пива
Пока стабильно не заработает в боевых, лучше действительно не надо.
iGrok писал(а):60/40
Dim objADO_Export_TDiagnos As ADODB.Connection
Dim rs_Export_TDiagnos As ADODB.Recordset
Set objADO_Export_TDiagnos = CreateObject("ADODB.Connection")
Set rs_Export_TDiagnos = New ADODB.Recordset
objADO_Export_TDiagnos.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & PathDB
With currentdb
rs_Export_TClient.Open "SELECT * from TClient", objADO_Export_TClient
Do Until rs_Export_TClient.EOF
table_TClient_field_nID = rs_Export_TClient(0).Value
table_TClient_field_sName = rs_Export_TClient(3).Value
rs_Main_TClient.Open "INSERT INTO TClient (imgFace) VALUES ('" & rs_Export_TClient(16).Value & "')", objADO_Main_TClient
rs_Export_TClient.MoveNext
Loop
kuhtiov писал(а): При записи вываливается error "Строка содержит синтаксическую ошибку в выражении запроса"
FireFenix писал(а):Вместо ' нада юзать "
kuhtiov писал(а):Я ожидал что тут возникнуть проблемы, т.к. я читаю картинку тупо в массив и пытаюсь ее записать.
Сейчас этот форум просматривают: Google-бот и гости: 17