powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / FAQ. Что мы знаем про каунтеры (aka счетчики)
25 сообщений из 176, страница 5 из 8
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32366159
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
GeoПопробовал двумя параллельными сеансами. Насоздавалась куча записей. Повторов нету.
А пробовал запускать параллельно с точностью до 0,000001 секунды? :^)
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32366175
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А смысл? Я же в цикле записи создаю, пока не остановлю программу. Две программы непрерывно одновременно стучались в "сетевую" таблицу с попытками исправить одну из ее записей.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32366182
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Гео
То что у тебя повторов не случилось - еще ни о чем не говорит. Попробуй сотню клиентов, да через 10-мегабитную сеть к загруженному серваку.
И непонятно, зачем тебе дополнительная таблица. Выкидываешь ее и делаешь то же самое - в основной таблице ищешь максимальный номер (пусть будет N), и добавляешь новую запись с номером N+1. Кажется мне что это то же самое что и с двумя таблицами. Ну или почти тоже самое - все таки редактирование таблицы с одной записью (твой вариант со вспомогательной таблицей) происходит быстрее, чем добавление записи в большую таблицу (мой вариант без вспомогательной таблицы). Стало быть критическое время уменьшается. Но все равно взглючить может.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32366197
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И непонятно, зачем тебе дополнительная таблица. Выкидываешь ее и делаешь то же самое - в основной таблице ищешь максимальный номер (пусть будет N), и добавляешь новую запись с номером N+1.

Не то же самое. Я получаю очередной номер только в том случае, если мне удалось его записать - т.е. исправить существующую запись. По варианту "ищем максимальный - создаем его же +1" так не получиться.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32366208
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По варианту "ищем максимальный - создаем его же +1" так не получиться.
Именно так и получится. Запихни все это в такой же цикл (с проверкой Err.Number)
И получишь то же самое. Если запись добавил - значит победил, если нет - значит снова макс+1 и попытка добавить, пока добавлялка не устанет.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32366211
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, разумеется, я исхожу из предположения, что есть уникальный индекс.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32366221
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я же сказал, что говорю о случае, когда индекса нет и быть не может :)
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32366226
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
явным образом не сказал
но в твоем случае действительно индекса нет и быть не может :)
беру свои слова обратно.

DBEngine(0).Rollback
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372104
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю здесь: Владимир Саныч
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Q: Как получить значение счетчика только что добавленной записи? 


A2: Более широкий круг применимости у такого способа: 

Dim rs As New ADODB.Recordset
CurrentProject.Connection.Execute  "INSERT ..." 
rs.Open  "SELECT @@identity as cou" , CurrentProject.Connection
переменная = rs!cou
rs.Close

Однако и этот способ имеет ограничения, а именно:

работает только через ADO и только в Jet 4 и позже;

возвращает значение только из записи, добавленной программно, но не через юзер-интерфейс.


чуть-чуть уточнить: если обращаться, пусть даже через Jet 4, к базе раннего формата, то метод не работает.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372154
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно уточнить? Этот ФАК только для mdb или adp тоже подпадает?
А то с @@identity в SQL2000 можно обломаться...
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372167
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Наверно, надо дать примечание и про SQL тоже.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372226
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда надо написать, что для SQL Server 2000 вместо @@identity используется SCOPE_IDENTITY(). Первое при наличии триггера на вставку в другую таблицу с полем IDENTITY вернет id, вставленный триггером, а не вставленный исходной инструкцией.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372243
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про SQL - в ГФ.
А то еще и реализацию на Oracle кто-нибудь попросит :)
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372249
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Темный:
Но ведь это касается и adp. А это уже Аксесс.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372252
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через ODBC можно много чего подключить.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372255
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да, но это не ODBC.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32372263
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут уже был недавно топик про то, что можно подключить как CurrentProject.Connection, а что НИЗЯ \r
\r
/topic/67168
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32401841
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Добавляю способ имитации каунтера для обычного запроса либо ленточной формы. Источник: http://am.rusimport.ru/MsAccess/topic.aspx?ID=87

Способ 1.
SELECT (Select Sum(1) From t AS p Where p.f<=p1.f), p1.f
FROM t AS p1
ORDER BY p1.f;

Способ 2.
SELECT DCount("f", "t","f<=" & CStr(f)), f
FROM t
ORDER BY f;

Примечание 1. Поле f обязано быть уникальным.

Примечание 2. Способ 1 быстрее работает, но является необновляемым.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32402006
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Geo, пройди и ты по этой ссылке. Я там к твоему посту примечание сделал...
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32402525
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВС, вечером посмотрю - на работе тырнета нет сейчас, а обед кончился :(
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32403317
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ВС
Посмотрел.
У меня и при сортировке порядок сохраняется. Вернее, визуально перепутывается. Т.е. если запись с ид=2 имела порядковый номер 5, то после сортировки по ид он у нее и останется 5, а не станет 2, что было бы логично. В принципе, можно пытаться ловить момент сортировки и т.п., или запрещать ее. Да и вообще не знаю, чем этот вариант лучше. :) Просто он есть.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32403961
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
У меня при первом показе экрана было так, как ты описываешь. А потом я стал переходить к другому окну и возвращаться, и значения счетчика за минуту дошли до 1000 (в таблице из 20 записей).
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32406397
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Гы?
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32406403
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А што "гы"?

Собственно, мне нечего добавить.

Возможно, это одного поля ягода с явлением повторного выполнения onprint при предварительном просмотре отчета, которое мы сейчас обсуждаем.

Т.е., возможно, акцесс где-то кэширует текущее состояние запроса со "статическим набором данных" (неизменяемого, как и при использовании в отчете, так и предложенного мной), и ничтоже сумляшеся, при первом удобном случае чистит этот кэш, чтобы потом выполнить часть запроса заново. Что и приводит подчас к замечательным эффектам присутствия.
...
Рейтинг: 0 / 0
FAQ. Что мы знаем про каунтеры (aka счетчики)
    #32406405
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ОК. Просто я хотел убедиться, что тебе этот эффект известен. :^)
...
Рейтинг: 0 / 0
25 сообщений из 176, страница 5 из 8
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / FAQ. Что мы знаем про каунтеры (aka счетчики)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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