powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вам идея?:)
25 сообщений из 26, страница 1 из 2
Как вам идея?:)
    #32215701
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Появилась идейка по поводу уникальных DateTime:

Юзверь нажимает на кнопку "Получить" и просходит следующее:
Засылаем на сервер Now() если есть +1(+1 +1)
Создаем запись
А потом ее родную только апдейтить останется
Много клиентов, а совпадений не будет

Geen
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32215719
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще бывает функция timer
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32215723
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подробнее плс:)
Это не "эт сервер тайм" случайно?:)

Geen
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32215752
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если имеется VB-фция timer, то она как-то не очень подходит -
возвращает число секунд с полуночи, а полночь случается каждый день ;)))

Now() можно использовать с миллисекундами (если сервер быстрый, секунд может быть мало),
плюс в многопольз. системе стоило бы и логин юзверя-креатора записи присовокупить (сюда же или отд. полем) для верности...
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32215894
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я почемуто решил что точность таймера выше чем now()

оказалось наоборот у now() точность выше

в данном примере оба выражения показывают некое количество единиц времени от начала дня

Код: plaintext
1.
2.
3.
Public Sub tst()
Debug.Print CDbl(Now - Date)
Debug.Print CDbl(Timer)
End Sub


результат
Код: plaintext
1.
 0 , 654918981483206  
  56585 , 765625 


у NOW 15 разрядов суточной точности
у timer 11

соответственно правильный выбор now

но только сохранять в таблицу лучше не время а Double - значение
так как дата хранится в таблице с точностью до секунд

Код: plaintext
CDbl(Now)
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32215913
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая разница - быстрый сервер, медленный...
Now на клиенте выполняется. И возвращает время на клиентской машине.

На фига вообще понадобилось уникальное DateTime???
Записи идентифицировать? Бред.
Вы еще с помощью double'а записи уникально идентифицируйте.

На фига счетчик изобретать? Даже если стандартный счетчик не устраивает (что часто случается) - сделайте его целочисленным и не насилуйте себе мозг. Способов - вагон и маленькая тележка.
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32215921
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>На фига вообще понадобилось уникальное DateTime???

мало ли на что .....
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32215938
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мало ли на что .....
Как минимум - нафига
Не зная зачем - трудно ответить на вопрос "как вам идея". Можно ли использовать Now, нужна ли вообще привязка к текущему моменту времени, если нужна - правильно ли делать "если есть +1(+1 +1)" (как никак другой день) и т.п.
Такое ощущение что человек нашел функцию которая выдает псевдоуникальный double, и непонятно зачем стал делать его совсем уникальным.
Rnd тоже псевдоуникальный double выдает (к примеру), почему бы его не использовать?
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32215991
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с rnd это вообще песня ... не знаю как в аксессе
но в asp (VBSCRIPT)- выдает случайным образом одно из 4 возможных значений и никакая начальная затравка не помогает ))
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32216238
2 АлексейК

я почемуто решил что точность таймера выше чем now()
оказалось наоборот у now() точность выше
у NOW 15 разрядов суточной точности
у timer 11


Вероятно NOW находит на машине встроеннные атомные часы :)
Иногда лучше подумать прежде, чем говорить
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32216595
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на фига?:)
Объясняю:
Многие умные книги советуют использовать DateTime как РК (с этим я согласен).
Но Now() у разных пользователей может теоретически совпасть.
Поэтому и мигрень с "получением".
Если РК существует +1 (но не день а секунду)
Если нет вставляем запись со служебными (известными) значениями а потом только апдейтим.
По моему достаточно удобно (не для юзверя)
Кстати кому не лень помогите с VB кодом:)

Geen
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32216606
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем бы дитя не тешилось ...
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32216616
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть лучше идеи?:)
Хотя я где-то слышал о "время с сервера".
Может знает кто?:)

Geen
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32216619
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многие умные книги советуют использовать DateTime как РК
Слушай, покажи мне такую умную книгу, а?
Или хотя бы автора скажи
бррр
ужас

Если у тебя в таблице хранятся моменты времени с какими-то атрибутами - тогда наверное можно. Но тогда оно (время) и есть первичный ключ, и никакую исусственную уникальность обеспечивать не надо.
А для всего остального время (документы какие-нибудь например) время - это атрибут (несколько атрибутов). С какого перепоя оно должно первичным ключом быть?

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

СЧЕТЧИК!!!
(и не е%ать мозг)
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32217081
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как раелаизовать счетчик на стороне сервера, а как правильно написать Insert into для серверного счетчика?

Geen
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32217091
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала залезть в хелп
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE TABLE new_employees
(
 id_num int IDENTITY( 1 , 1 ),
 fname varchar ( 20 ),
 minit char( 1 ),
 lname varchar( 30 )
)
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32217098
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем случае
IDENTITY [(seed, increment )

Arguments
seed
Is the value that is used for the very first row loaded into the table.
increment
Is the incremental value that is added to the identity value of the previous row that was loaded.
You must specify both the seed and increment or neither. If neither is specified, the default is (1,1).
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32217163
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слона-то я и не приметил (Идентити)
:)

Geen
PS А как идентити себя ведет прибольшом количестве клиентов?
А еще лучше как работает?
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32217455
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на сервере ничего изобретать не надо

все работает само по себе и чем меньше вмешиваешься тем лучше

есть идентити - нечто похожее на счетчик аксесса - работает с числовыми полями
есть ROWGUIDCOL - уникальный идентификатор по отношению не только к таблице или серверу но и ко всем сетевым компьютерам в мире
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32217461
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geen:
ну АлексейК загибает, да?
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32217686
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А че я? Я сам офигел))))))))

Geen
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32217698
iSestrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2fedd
да уж, загнул ... он наверняка повторится, и может даже раньше, чем через обещанные 87 миллионов лет.

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

Dim retVal

retVal = Shell("net time \\Server /set /yes", 6)

Win98, Ac97...
Только вот не помню, как заставить Net самому закрываться после того как отработает. Приходится вручную ставить галку...
...
Рейтинг: 0 / 0
Как вам идея?:)
    #32219191
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Polev
Dim retVal
retVal = Shell("net time \\Server /set /yes", 6)
Это где прописывается?:)

Geen
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вам идея?:)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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