2013-06-09 3 views
0

Я создал приложение для посещения учащихся в MS access 2010, в котором у меня есть две основные таблицы. Одна таблица - это основные данные студента, а другая - таблица посещаемости, в которой поле ID ID и дата являются первичными, потому что во избежание дублирования посещаемости в тот же день.как подавить сообщение об ошибке «Дублировать первичный ключ» в Access

Одна форма форма сканирования непосредственно с приложением таблицы посещаемости, в котором, когда студент сканирования в два раза ниже ошибки отображается на экране:

Изменения, запрашиваемые в таблице не были успешно, потому что было бы создать повторяющееся значение в индекс, первичный ключ или взаимосвязь. изменить данные в поле или полях, содержащих повторяющиеся данные, удалить индекс, или переопределить индекс, чтобы разрешить повторяющиеся записи и снова

попробовать В ФОРМЕ посещаемости я пишу свое собственное сообщение в ON ERROR управления, который работает и дисплей ошибка, но когда я нажимаю OK, появится вышеприведенный экран. Я хочу подавить указанное выше сообщение об ошибке.

+0

Я думаю, что вы используете VBA, а не vb.net, поэтому, пожалуйста, используйте правильные теги при отправке вопросов. – Steve

+1

Если вы хотите, чтобы мы помогли с вашим кодом, вам нужно будет показать его нам. –

+1

Простое подавление сообщения об ошибке почти ** всегда ** неправильный подход ... –

ответ

2

следующие работы для меня:

В обработчике Before Update событий для формы У меня есть

Private Sub Form_BeforeUpdate(Cancel As Integer) 
If DCount("*", "Attandence of Employee Lunch", "[RFID Number]=" & Me.RFID_Number) > 0 Then 
    MsgBox "Primary key already exists." 
    Cancel = True 
End If 
End Sub 

Обратите внимание, что Cancel = True оператор отменяет обновление.

+0

Private Sub Form_BeforeUpdate (Отмена As Integer) Если DCOUNT (_ "*", _ "Attandence обеденных Сотрудника", _ "[RFID Number] =" "" & Replace (Me.RFID_Number, "" "" , "" "" "", 1, -1, vbBinaryCompare) & "" "" _ )> 0 Затем MsgBox "Первичный ключ уже существует." Отменить = True End If End Sub –

+0

в моем случае Table1 = Attandence обеденных Сотрудника Числовое поле = RFID Номер –

+0

Если [RFID Number] является числовым, то вам не нужны дополнительные кавычки или 'Заменить()' , Попробуйте использовать '' [RFID Number] = "& Me.RFID_Number' в качестве третьего аргумента функции' DLookUp() '. –

Смежные вопросы