Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сообщение об ошибке
 
 автор: mvo   (15.04.2010 в 04:13)   личное сообщение
 
 

Имеется форма ввода числовых данных в таблицу при вводе в форму текста выдает стандартное сообщение Введенное значение не подходит для данного поля. Можно ли его поменять и как?

  Ответить  
 
 автор: snipe   (15.04.2010 в 05:05)   личное сообщение
 
 

Можно
обрабатывать событие - изменение (Change)
на событие повешать проверку последнего символа (Right(me![имя поля].text),1))
и если не число или запятая (точка) то все - паника - вывести MsgBox или заранее подготовленную форму

  Ответить  
 
 автор: osmor   (15.04.2010 в 08:17)   личное сообщение
 
 

Попробуйте использовать маску ввода
или используйте событие формы "Ошибка" (Form_Error)

  Ответить  
 
 автор: mvo   (15.04.2010 в 17:53)   личное сообщение
 
 

Обработка ошибок

Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr

Case 2113
' Ввод данных некорректного типа
MsgBox "Данные должны быт числом", vbCritical, "Не число"
Response = acDataErrContinue

Case 3022
' Ввод повторяющихся даных
MsgBox "Данные уже существуют", vbCritical, "Повтор"
Response = acDataErrContinue

Case 2105
' Не возможен переход на следующую запись
MsgBox "Нет перехода", vbCritical, "Переход"
Response = acDataErrContinue

Case Else
Response = acDataErrDisplay

End Select
End Sub


Кнопка добавления даных


Private Sub save_Click()

On Error GoTo Err_save_Click

DoCmd.GoToRecord , , acNewRec
    
Err_save_Click:
    If Nz(Me.[число], "") = "" Then
        MsgBox "Нету ничего!", vbCritical,
    Else
    MsgBox Err.Description
    End If
    Resume Exit_save_Click

Exit_save_Click:
    Exit Sub
End Sub


При добавлении повторяющейся записи выдает ошибку 2105 и стандартный текст ошибки Невозможен переход. Как исправить на свой текст ошибки?

  Ответить  
 
 автор: osmor   (15.04.2010 в 22:08)   личное сообщение
 
 


Private Sub save_Click()

On Error GoTo Err_save_Click
    If Nz(Me.[число], "") = "" Then
        MsgBox "Нету ничего!", vbCritical
        exit sub
   end if
  me.dirty = false
  DoCmd.GoToRecord , , acNewRec

Exit_save_Click:
    Exit Sub

    
Err_save_Click:
    Select Case Err.Number
        Case 2113
             ' Ввод данных некорректного типа
             MsgBox "Данные должны быт числом", vbCritical, "Не число"
             Response = acDataErrContinue

        Case 3022
             ' Ввод повторяющихся даных
             MsgBox "Данные уже существуют", vbCritical, "Повтор"
             Response = acDataErrContinue

       Case 2105
              ' Не возможен переход на следующую запись
              MsgBox "Нет перехода", vbCritical, "Переход"
             Response = acDataErrContinue
      Case Else
             MsgBox Err.Number & " " & Err.Description
      End Select  
 Resume Exit_save_Click

End Sub 


Но вообще пустоту поля тоже можно условием на значение отлавливать

  Ответить  
 
 автор: kot_k_k   (15.04.2010 в 08:27)   личное сообщение
 
 

проще объяснить юзеру что нельзя в поле "Цена" вводить буквы, а если ввел - то не нужно пугаться надписи которая показывается за этим.

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

вар 2
используя выше предолженные методы обработки просто удалять неправильнно введенный символ молча.

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

для успокоения души можно в невидимое поле заностить слово "идиот" по мере поступления ошибок, можно составлять списки "Идиот года", "Идиот месяца" и в тихую радоваться или разослать по фирме.

п.с. слово Идиот можнозаменить близким по смыслу или любой понравившейся фрразой из богатого русского языка.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList