اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم

اريد تعديل على هذا الكود - 

D2حقل الاسم الاساسي  مصدر بيانات NAME ARABIC 

فية حقل غير منظم اسمه EMPNA اسحب بيانات عن طريق البحث طبعا هو من جدول اخر - يقوم بنسخ الاسم الى الحقل السابق D2 عند الضغط على حفظ

 

انا اريد اذا كان الاسم مكرر في الحقل D2 لايحفظ اي بيانات فقط اريد الرساله الموجوده في الكود التالي واذا غير مكرر يحفظ لي دون عرض الرساله بان الاسم مكرر 

 

انا اريد تعديل على هذا الكود ؟؟؟؟؟

 

 

DoCmd.RunCommand acCmdSaveRecord
 Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim existingName As String
    Dim nameExists As Boolean
    
    Set db = CurrentDb
    nameExists = False
    
    ' التحقق مما إذا كان الاسم موجودًا بالفعل في الجدول
    Set rst = db.OpenRecordset("SELECT [NAME ARABIC] FROM TABELSIMCARD WHERE [NAME ARABIC] = '" & Me.D2 & "'", dbOpenSnapshot)
    
    If Not rst.EOF Then
        ' إذا تم العثور على السجل، فذلك يعني أن الاسم موجود
        nameExists = True
    End If
    
    rst.Close
    Set rst = Nothing
    Set db = Nothing
    
    ' إذا كان الاسم موجودًا بالفعل، عرض رسالة تحذيرية وعدم الحفظ
    If nameExists Then
        MsgBox "الاسم '" & Me.D2 & "' الموظف موجود مسبقاً في نظام الكشوفات الخاصة ببطاقات الهاتف.", vbExclamation
    Else
    End If

 

قام بنشر

جرب الكود ده كده 

Private Sub SaveRecord()
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim nameExists As Boolean
    
    Set db = CurrentDb
    nameExists = False
    
    ' التحقق مما إذا كان الاسم موجودًا بالفعل في الجدول
    Set rst = db.OpenRecordset("SELECT [NAME ARABIC] FROM TABELSIMCARD WHERE [NAME ARABIC] = '" & Me.D2 & "'", dbOpenSnapshot)
    
    If Not rst.EOF Then
        ' إذا تم العثور على السجل، فذلك يعني أن الاسم موجود
        nameExists = True
    End If
    
    rst.Close
    Set rst = Nothing
    Set db = Nothing
    
    ' إذا كان الاسم موجودًا بالفعل، عرض رسالة تحذيرية وعدم الحفظ
    If nameExists Then
        MsgBox "الاسم '" & Me.D2 & "' الموظف موجود مسبقاً في نظام الكشوفات الخاصة ببطاقات الهاتف.", vbExclamation
    Else
        ' إذا لم يكن الاسم موجودًا، قم بحفظ السجل
        DoCmd.RunCommand acCmdSaveRecord
    End If
End Sub

 

قام بنشر

الكود الذي ارسلته لم اعرف اين اضعه

شوف هذا الكود الي معي على زر الامر ... للحفظ

 

 

Private Sub SAEF_Click()
 DoCmd.RunCommand acCmdSaveRecord
 Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim existingName As String
    Dim nameExists As Boolean
    
    Set db = CurrentDb
    nameExists = False
    
    ' التحقق مما إذا كان الاسم موجودًا بالفعل في الجدول
    Set rst = db.OpenRecordset("SELECT [NAME ARABIC] FROM TABELSIMCARD WHERE [NAME ARABIC] = '" & Me.D2 & "'", dbOpenSnapshot)
    
    If Not rst.EOF Then
        ' إذا تم العثور على السجل، فذلك يعني أن الاسم موجود
        nameExists = True
    End If
    
    rst.Close
    Set rst = Nothing
    Set db = Nothing
    
    ' إذا كان الاسم موجودًا بالفعل، عرض رسالة تحذيرية وعدم الحفظ
    If nameExists Then
        MsgBox "الاسم '" & Me.D2 & "' الموظف موجود مسبقاً في نظام الكشوفات الخاصة ببطاقات الهاتف.", vbExclamation
    Else
    
    End If
End Sub

 

هو عباره عن نقل الاسم من حقل غير منظم اسمه D2

الى حقل منظم اسمه NAME ARABIC

اذا كان الاسم موجود في الجدول الاساسي المنظم تظهر الرساله انه مكرر - ولا اريد يحفظ البيانات واذا لم يكن مكرر يتم الحفظ

قام بنشر

انت بحاجة  عند وجود التكرار  الى التراجع والخروج من الحدث فقط

جرب هذا التعديل

Private Sub SAEF_Click()
  Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim existingName As String
    Dim nameExists As Boolean
    Set db = CurrentDb
    nameExists = False
    ' التحقق مما إذا كان الاسم موجودًا بالفعل في الجدول
    Set rst = db.OpenRecordset("SELECT [NAME ARABIC] FROM TABELSIMCARD WHERE [NAME ARABIC] = '" & Me.D2 & "'", dbOpenSnapshot)
    If Not rst.EOF Then
        ' إذا تم العثور على السجل، فذلك يعني أن الاسم موجود
        nameExists = True
    End If
    rst.Close
    Set rst = Nothing
    Set db = Nothing
     ' إذا كان الاسم موجودًا بالفعل، عرض رسالة تحذيرية وعدم الحفظ
    If nameExists Then
        MsgBox "الاسم '" & Me.D2 & "' الموظف موجود مسبقاً في نظام الكشوفات الخاصة ببطاقات الهاتف.", vbExclamation
    Undo
    DoCmd.CancelEvent
    Exit Sub
    Else
    DoCmd.RunCommand acCmdSaveRecord
    End If
End Sub
   

 

قام بنشر

لم يعمل سوف اجهز المرفق لك وعدل عليه انت 

  • 1 month later...
قام بنشر
DoCmd.RunCommand acCmdSaveRecord
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim nameExists As Boolean

Set db = CurrentDb
nameExists = False

' التحقق مما إذا كان الاسم موجودًا بالفعل في الجدول
Set rst = db.OpenRecordset("SELECT [NAME ARABIC] FROM TABELSIMCARD WHERE [NAME ARABIC] = '" & Me.D2 & "'", dbOpenSnapshot)

If Not rst.EOF Then
    ' إذا تم العثور على السجل، فذلك يعني أن الاسم موجود
    nameExists = True
End If

rst.Close
Set rst = Nothing
Set db = Nothing

' إذا كان الاسم موجودًا بالفعل، عرض رسالة تحذيرية وعدم الحفظ
If nameExists Then
    MsgBox "الاسم '" & Me.D2 & "' الموظف موجود مسبقاً في نظام الكشوفات الخاصة ببطاقات الهاتف.", vbExclamation
    ' إذا كان الاسم مكرر، عدم حفظ السجل
    Me.Undo ' لإلغاء إضافة السجل الحالي
Else
    ' إذا لم يكن الاسم مكرر، سيتم حفظ السجل بدون عرض أي رسالة
    ' الكود لحفظ السجل يمكن أن يقوم به الأمر DoCmd.RunCommand acCmdSaveRecord
End If

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information