powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Совместное добавление новых записей по сети
15 сообщений из 15, страница 1 из 1
Совместное добавление новых записей по сети
    #36634665
SlavikSG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеем обычную базу *.mdb Никакого SQL сервака нет. Простое, обычное, стандартное, совместное юзание базы Access по локальной сети с нескольких компьютеров сразу. Иными словами, все клиенты запускают один и тот же файл *.mdb по сети. А он уже и есть, и база данных, и программный код и прочее и прочее. В общем, всеми юзается один и тот же файл.

В эту базу (в некую ее таблицу) все скопом начинают набивать новые записи. Дык вот, в какой-то момент времени, то у одного пользователя, то у другого, начинают вываливаться ошибки. Чем быстрее начинает идти набивка новых записей, тем чаще вываливается ошибка. В целом смысл ошибки заключается в том, что комп, где стоит база, просто не успевает обрабатывать все эти, разом добавляющиеся, новые записи. То есть, как бы нет некоего кеширования, очередности, или еще там чего-то...

Как сделать максимально быструю совместную программную (в коде) набивку новых записей в таблицу базы MSAccess, применяя обычные средства самого Access? То есть, без SQL-серваков, ADO и прочей экзотики?

Пробовал через OpenRecordset так:
Код: plaintext
1.
2.
3.
4.
5.
6.
On Error GoTo ErrorHandler

Baz.AddNew
Baz!Код = Ввод_Кода
...
Baz.Update

Пробовал так:
Код: plaintext
1.
2.
3.
On Error GoTo ErrorHandler

Bbb.Execute ("INSERT INTO...")

И даже пробовал так:
Код: plaintext
1.
2.
3.
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO..."
DoCmd.SetWarnings True

Не помогает. Во всех случаях, при активной совместной набивке, вываливается ошибка. Если набивка идет спокойная, неспешная, то ошибка почти не возникает. Если набивкой новых записей занимается только один клиент, то ошибка вообще никогда не возникает.

В общем, вот такие у меня проблемы. Помогите, плииз!
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #36634687
KrukVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlavikSGкомп, где стоит база, просто не успевает обрабатывать все эти, разом добавляющиеся, новые записи. То есть, как бы нет некоего кеширования, очередности, или еще там чего-то...
наверное потому, что некоего sql сервера там как бы нет
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #36634852
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlavikSG,

если ничего не напутано с присвоением очередных значений ключей и юзеры не выстреливают пакетами в сотни записей, то очень маловероятно, чтобы ошибки произошли из-за конфликтов ключей. Не те, все-таки временные интервалы, что там займет инсертнуть запись? Да, ничего!

Скорее, я бы подумал другое - конфликты из-за совместного использования форм ввода. У вас один файл всего и все юзеры его топчут. Вот тут может быть все, что угодно.

Попробуйте разделить на файл таблиц на сервере и клиентские файлы форм у каждого свой. Если я прав, то проблема исчезнет сама собой.
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #36635429
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlavikSG,

Какая ошибка вываливается? Какая блокировка записей стоит в параметрах?
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #36635693
SlavikSG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world...Скорее, я бы подумал другое - конфликты из-за совместного использования форм ввода. У вас один файл всего и все юзеры его топчут. Вот тут может быть все, что угодно...
А вот про это, вообще, ни разу не подумал!

Спасибо за ответ!

Хорошо. Допустим, я делаю так. Беру этот mdb-файл и в тупую копирую на все клиенты. В этом файле нужную мне таблицу просто удаляю. А затем присоединяю ее же из базы, которая будет находится на моем условном сервере. Скорее всего, при этом я смогу понять, что мешает. Совместное юзание одной и той же формы или все же это мешает совместный доступ к одной и той же таблице. Верно я понимаю?
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #36635702
SlavikSG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alvkКакая ошибка вываливается?
Если честно, то уже не помню, какая ошибка. Она уже давно перехватывается моим сообщением. Но проверю ее обязательно еще раз.

alvkКакая блокировка записей стоит в параметрах?
Вообще никакая блокировка не стоит. А нужно? Ведь я записи не редактирую совместно, а просто тупо добавляю.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Совместное добавление новых записей по сети
    #39449955
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посоветуйте!!! Как можно решить эту проблему? Файл базы одна в сети, а рабочее приложение у каждого клиента свое на своем рабочем столе. С базой линкуются через сетевую папку. При одновременном вводе через штрихкод-сканнером выскакивает конфликт.
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #39450019
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АдекеПосоветуйте!!! Как можно решить эту проблему? Файл базы одна в сети, а рабочее приложение у каждого клиента свое на своем рабочем столе. С базой линкуются через сетевую папку. При одновременном вводе через штрихкод-сканнером выскакивает конфликт.

Может напряжешься и приведешь дословное сообщение об ошибке?

ЗЫ. Что-то жалко попусту царапать свой хрустальный шар...
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #39452675
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks2,

у пользователя стоит AccessRuntime, не могу отловить ошибку, сразу выкидывает из программы без вывода какого-либо сообщения.
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #39452677
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подозреваю что на один и тот же уникальный номер счетчика падают.
Как это можно обнаружить или обработать ее?
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #39452696
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АдекеПри одновременном вводе через штрихкод-сканнером выскакивает конфликт.

Ну ты для себя хоть распиши то алгоритм...
- бикнул сканером...
- беру штрих-код, ищу там-то, то-то... нашел ...
- создаю строку продажи так-то... (и тут самое главное - как и где и что ты создаешь...)

Если после осмысливания своего алгоритма, ты ни к чему не придешь, то выкладывай этот алгоритм сюда...
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #39452717
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да элементарно все там, особо ничего там нет.
Источник формы:
Код: sql
1.
2.
select tblOperation.ID, tblOperation.prID, tblOperation.opPrice, tblOperation.opQty, tblProducts.prName, tblProducts.prPrice
from tblOperation inner join tblProducts on tblOperation.prID = tblProducts.prID


на бик сканнера по полю Me.prID, должны срабатывать эти команды:
Код: vbnet
1.
2.
3.
4.
Me.opPrice = Me.prPrice
Me.opQty = 1
Me.prID.SetFocus
Me.Recordset.AddNew


а вместо этого выкидывает из программы. Не всегда, но именно тогда когда с двух компьютеров одновременно бикают.
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #39452746
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АдекеДа элементарно все там

Ну как и предполагалось... а нужно делать не элементарно...
Заполняй на форме отвязанные поля (все кроме счетчика) и добавляй новую запись или запросом на добавление или средствами DAO, например
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #39452882
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Адекеaleks2,

у пользователя стоит AccessRuntime, не могу отловить ошибку, сразу выкидывает из программы без вывода какого-либо сообщения.Обработчик ошибок есть? Свой.
...
Рейтинг: 0 / 0
Совместное добавление новых записей по сети
    #39457101
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургАдекеaleks2,

у пользователя стоит AccessRuntime, не могу отловить ошибку, сразу выкидывает из программы без вывода какого-либо сообщения.Обработчик ошибок есть? Свой.

Да, есть. На событии "Ошибка формы" написал свой. Но все равно программа выкидывает не успевая выдать сообщение об ошибке. А может и выдает, возможно очередным быстрым сканнером автоматически нажимается ОК, а мы не успеваем углядеть. Можно было еще покопаться повнимательнее потестировать, но времени мало было, а я подключался удаленно.

vmagАдекеДа элементарно все там

Ну как и предполагалось... а нужно делать не элементарно...
Заполняй на форме отвязанные поля (все кроме счетчика) и добавляй новую запись или запросом на добавление или средствами DAO, например

Переделал так. Ошибка прекратилась. Спасибо!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Совместное добавление новых записей по сети
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]