Я пытался получить Dmax, если это правильный метод, чтобы вернуть максимальное значение в столбце.Форма имеет элемент управления, который проверяет правильность введенного значения в событии On Change.Событие должно проверить другую таблицу (Material PO Datasheet), чтобы получить максимальное значение.Если значение в текстовом поле (PO_NUM) меньше, чем значение Max другой таблицы, появляется всплывающее окно с информацией о ситуации и отменяет ввод в поле.Однако я застрял на линии Dmax.
Private Sub PO_Num_Change()
Dim MaxNum As Long
DoCmd.OpenTable "MATERIAL PO DATASHEET"
MaxNum = DMax([MATERIAL PO DATASHEET]![PO NUMBER], [MATERIAL PO DATASHEET])
If Me.PO_Num.Value <= MaxNum Then
strMsg = "This PO Exists!"
If MsgBox(strMsg, vbExclamation, "Confirm") = vbOK Then
Me.Undo
Else
Me.Undo
End If
End If
DoCmd.Close , "MATERIAL PO DATASHEET"
End Sub
Я получаю сообщение об ошибке «Ошибка времени выполнения 2465: MS Access не может найти поле« | 1 », указанное в вашем выражении».Эта ошибка заставила меня подумать, что что-то может быть опечатано или что-то, но все поля, кажется, совпадают.Таблица открывается в строке DoCmd (без проблем) и останавливается на DMax.
Я также пробовал:
MaxNum = DMax([PO NUMBER], "MATERIAL PO DATASHEET")
и
MaxNum = DMax([PO NUMBER], [MATERIAL PO DATASHEET])
Я ценюлюбой отзыв,
Спасибо,
Майкл