Αγαπητέ Woody ευχαριστώ γιά την απάντηση και τον χρόνο σου.
Για κάποιο περίεργο λόγο η "σουλουπώστρα" μου δεν είναι σε φόρμα και κάτι δεν κάνω καλά. Εβαλα τον κώδικα στο BeforeUpdate αλλά η εισαγωγή δεκαδικών δεν δουλεύει. Αν δεν γίνομαι βάρος, παραθέτω τον κώδικα που είχα και ελπίζω να μπορέσης να βγάλης κάτι σαν ποιό έμπειρος.
Private Sub TextID_BeforeUpdate(Cancel As Integer) ' Edited:05Nov09
On Error GoTo Err_TextID_BeforeUpdate
If Me!TextID < 1 Then 'Trap any value less than 1
MsgBox "Format Error! " & vbCrLf & "Integer Numbers Allowed Only.", vbExclamation, Cancel = True
Me!TextID.Undo
Me!RecordID.Undo
SendKeys "{Esc}", True
ElseIf IsNumeric(Me!TextID) = False Then 'trap non numeric entries
MsgBox "Format Error! " & vbCrLf & "Integer Numbers Allowed Only.", vbExclamation,
Cancel = True
Me!TextID.Undo
Me!RecordID.Undo
SendKeys "{Esc}", True
End If End if
Επίσης, γιά διπλοεγγραφές έχω τον εξής κώδικα στο AfterUpdate
Private Sub TextID_AfterUpdate() 'Edited:03Nov09
On Error GoTo Err_TextID_AfterUpdate
Dim rst As DAO.Recordset
Dim strCriteria As String
Dim TextID As Integer
Set rst = Me.RecordsetClone
If Not Me!TextID = Me.TextID.oldvalue Then 'Trap Dups
If rst.NoMatch Then
Me!NamePrefix.SetFocus
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Else
Me!Text380 = Me!TextID
If (Not IsNull(DLookup("[TextID]", "Equipment", "[TextID] = " & Forms![Equipment]!TextID))) Then
If (MsgBox("Duplicate Data !" & vbCrLf & "TextID" & " '' " & Me.[TextID] & " '' " & " has already been Saved in Your Database, Duplicates are NOT Allowed." & vbCrLf & vbCrLf & "Do You wish to Verify the Data in that Record?", vbExclamation + vbYesNo) = vbNo) Then
Me!TextID.Undo
Me!RecordID.Undo
SendKeys "{Esc}", True
Me!Text380 = ""
Else
Me!TextID.Undo
Me!RecordID.Undo
SendKeys "{Esc}", True
DoCmd.GoToRecord acForm, "Equipment", acGoTo, (Me!Text380)
Me!Text380 = ""
End If
End If
End If
End If
Set rst = Nothing
Exit_TextID_AfterUpdate:
Exit Sub
Err_TextID_AfterUpdate:
MsgBox Err.Description
Resume Exit_TextID_AfterUpdate
End Sub
Tο Snipet που μου έδωσες και ειδικά το τμήμα γιά το
If CSng(Me!TextID.Value) <> Int(Me!TextID.Value) , δεν ανταποκρίνεται σε Decimals. Θα το δώ περισσότερο αν χρειάζεται κάτι άλλο.
Ευχαριστώ γιά τον χρόνο σου
Χρήστος.