|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
Здравствуйте уважаемые "форумчане"! Имеется форма объектом источником которой является таблица KartochkiUchetaNeispravnostei в таблице (и на форме) одно из полей называется NomerKUNAltn.Поле числовое,допускаются пустые поля но по задумке нужно чтобы совпадений не было там,где значение поля не пустое,ввожу данные в форме,и в случае, если в таблице уже имеется введенное значение в поле NomerKUNAltn - нужно чтобы выдавалось юзеру соответствующее сообщение о том, что введенное значение по полю "NomerKUNAltn" не уникально. Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Но это неправильно, т.к. при опции Me.Dirty=True значение strokivtablice не соответствует действительности.Например, если я на новой записи ввожу значение в поле NomerKUNAltn которое уже имеется в базе, то переменная strokivtablice=1 (а не 2,что позволило бы мне программно отловить дубль).Как можно реализовать задуманное не прибегая к методу Me.Dirty=False ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 12:48 |
|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
drafty, Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 13:53 |
|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
sdku drafty, Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Интересно,интересно,ща протестирую... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 14:08 |
|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
drafty, цифры после "ctl" не писал,а не сделал пробел-шайтан какой-то Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 14:17 |
|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
sdku drafty, цифры после "ctl" не писал,а не сделал пробел-шайтан какой-то Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Я уже понял (а то не мог понять, что за опция ctl#236) Вот корректный синтаксис для моего случая If DCount("*", "KartochkiUchetaNeispravnostei", "NomerKUNAltn= " & Me.NomerKUNAltn) > 0 Только блин,незадача...Дело в том,что при пустом значении Me.NomerKUNAltn - выдается ошибка (хотя не должна,т.к. первый аргумент "*") Кроме того,работает точно так-же,как и в моем вышеописанном варианте кода... Все упирается в Dirty ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 14:35 |
|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
drafty sdku drafty, цифры после "ctl" не писал,а не сделал пробел-шайтан какой-то Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Я уже понял (а то не мог понять, что за опция ctl#236) Вот корректный синтаксис для моего случая If DCount("*", "KartochkiUchetaNeispravnostei", "NomerKUNAltn= " & Me.NomerKUNAltn) > 0 Только блин,незадача...Дело в том,что при пустом значении Me.NomerKUNAltn - выдается ошибка (хотя не должна,т.к. первый аргумент "*") Кроме того,работает точно так-же,как и в моем вышеописанном варианте кода... Все упирается в Dirty Хотя нет,не работает только в случае,если я перешел на форме к какой-либо уже существующей записи,и попытался опять перенабрать то-же значение в этом поле,в этом случае DCOUNT=1 (хотя по идее должна быть равной=0) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 14:43 |
|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
drafty, -А Вы обновите таблицу после удаления старого значения из поля и только после считайте(если запись не новая это можно делать по кнопке "редактирование") -почитайте справку по DCOUNT и разберитесь в каких случаях считаются/не считаются значения NULL(что должно быть первым аргументом и вообще допустимы ли в этом поле NULL значения) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 15:24 |
|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
Все наоборот(а не как Вы себе думаете). Выдержка из HELP: "Функция DCount не подсчитывает записи, содержащей пустые (Null) значения в поле, задаваемом аргументом выражение, за исключением случая, когда в аргументе выражение задан подстановочный знак звездочка (*) " ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 15:44 |
|
Подсчет количества записей таблицы (DAO)
|
|||
---|---|---|---|
#18+
sdku Все наоборот(а не как Вы себе думаете). Выдержка из HELP: "Функция DCount не подсчитывает записи, содержащей пустые (Null) значения в поле, задаваемом аргументом выражение, за исключением случая, когда в аргументе выражение задан подстановочный знак звездочка (*) " Да,я потом заново перечитал... Но в моем случае,обновленное поле не должно быть пустым. И все-равно спасибо,функция работает в принципе так как надо,все остальные найденные мною косяки (т.е. все несоответствия моим замыслам) можно легко устранить косвенными способами. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 15:59 |
|
|
start [/forum/topic.php?fid=45&fpage=10&tid=1609813]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 262ms |
total: | 390ms |
0 / 0 |