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

تفريغ بعض الحقول في النموذج (معدل)


gadelrab

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

الاخوة الاعزاء

السلام عليكم ورحمة الله

لدى جدول به سجل يعرض فى نموذج به زر تحديدث

اريد عند الضغط على زر التحديث يتم تحديث جميع الخلايا لتصبح فارغة 

على ان تبقى الخلايا التالية كما هى بنفس البيانات دون تحديث :

[g1s11] - [g1s12] -[g1s13] -[g1s14] -[g1s15] 

up.accdb

تم تعديل بواسطه gadelrab
رابط هذا التعليق
شارك

وعليكم السلام 🙂

 

اجعل اسم الزر cmd_clear_fields ، ثم ضع الكود في حدث النقر على الزر:

Private Sub cmd_clear_fields_Click()
On Error GoTo err_cmd_clear_fields_Click

    Dim ctl As Control
    
    For Each ctl In Me.Controls
        If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
        
        If ctl.Name <> "g1s11" And _
            ctl.Name <> "g1s12" And _
             ctl.Name <> "g1s13" And _
              ctl.Name <> "g1s14" And _
               ctl.Name <> "g1s15" Then
                
            ctl.Value = ""
            
        End If
        
        End If
    Next
    
Exit_cmd_clear_fields_Click:

Exit Sub
err_cmd_clear_fields_Click:

    If Err.Number = 2448 Then
        'can't change autonumber
        Resume Next
        
    ElseIf Err.Number = 3314 And ctl.Name = "g1s3" Then
        'a date must be entered
        ctl.Value = Date
        Resume Next
        
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
    Resume Exit_cmd_clear_fields_Click
    
End Sub

 

جعفر

 

up.zip

  • Like 3
رابط هذا التعليق
شارك

1 ساعه مضت, gadelrab said:

اريد عند الضغط على زر التحديث يتم تحديث جميع الخلايا لتصبح فارغة 

على ان تبقى الخلايا التالية كما هى بنفس البيانات دون تحديث

الموضوع بسيط والاستاذ جعفر عمل حلقة في حقول النموذج تمر على الحقول وتستثني ما لا ترغب في تحديثة

وايضا ممكن عملها باستعلام تحديث

لكن السؤال هذه الحقول التي حدثتها الى فارغ لن تستطيع الرجوع اليها ؟

فلماذا لا تقوم بدلا من التحديث بنقل البيانات المستناه الى سجل جديد وبالتالي يكون لديك بيانات متكاملة حاليه وسابقة لكل سيارة ويمكن الرجوع عند الحاجة

وجهة نظر غير ملزمة واشبه ماتكون بالتفكير بصوت مرتفع

استاذي العزيز @jjafferr

خالفت اتفاقي معك

فالطبع يغلب التطبع :wallbash:

  • Like 1
رابط هذا التعليق
شارك

منذ ساعه, jjafferr said:

اهلا وسهلا بك مرة اخرى:dance1:

هههههه

منذ ساعه, مبرمج متقاعد said:

فلماذا لا تقوم بدلا من التحديث بنقل البيانات المستناه الى سجل جديد وبالتالي يكون لديك بيانات متكاملة حاليه وسابقة لكل سيارة ويمكن الرجوع عند الحاجة

لتنفيذ هذه الفكرة ممكن استخدام الامر التالي في زر امر

If Me.NewRecord Then Exit Sub
Dim x As Variant
Dim a As Variant
x = ([g1s11] & "|" & [g1s12] & "|" & [g1s13] & "|" & [g1s14] & "|" & [g1s15])
DoCmd.GoToRecord , , acNewRec
a = Split(x, "|")
[g1s11] = a(0)
[g1s12] = a(1)
[g1s13] = a(2)
[g1s14] = a(3)
[g1s15] = a(4)

وممكن بدون الحاجة الى مصفوفة عن طريق حلقة مشابهه لكود استاذنا جعفر

تحياتي

  • Like 2
رابط هذا التعليق
شارك

الاخوة الاعزاء جزاكم الله خير الجزاء على كل رددودكم

الاخ العزيز مبرمج متقاعد

انا فعلا اقوم بنسخ السجل فى جدول اخر قبل التعديل للرجوع اليه

وكنت اريد عمل هذه الخطوة فى استعلام 

فارجو منك ان تتفضل بعمل استعلام تحديث يعيد الخلايا الفارغة ويترك الخلايا المطلوبة كما هى 

حيث اننى حاولت ان اضع المعيار "  " فى التحديث ولكنه لم يفلح مع كل الخلايا ولا ادرى لماذا

وشكرا للجميع مرة اخرى

تم تعديل بواسطه gadelrab
رابط هذا التعليق
شارك

10 دقائق مضت, gadelrab said:

انا فعلا اقوم بنسخ السجل فى جدول اخر قبل التعديل للرجوع اليه

ولماذا تنسخ السجل في جدول اخر

الكود الذي وضعته في مشاركتي السابقة يقوم بنسخ معلومات السيارة الى سجل جديد في نفس الجدول وجاهز لاضافة معلومات العميل

تكرار البيانات في اكثر من جدول ليس اجراء صحيح

اما اذا كنت مصر على تفريع الحقول فكود استاذنا جعفر يقوم بذلك

تحياتي

رابط هذا التعليق
شارك

42 دقائق مضت, AbuuAhmed said:
On Error Resume Next

اللي قبلك كان اشطر منك (انا في هذه الحالة 🙂) ، استعملتها في البداية ،

واذا بالحقل "g1s3" يعرض لي تاريخ مال زمان 30/10/1899 ، فاضطررت ان اصطاد اخطاء الكود واضبط تاريخ الحقل 🙂

 

54 دقائق مضت, AbuuAhmed said:
Like "1[1-5]"

فكرة جميلة 🙂

 

جعفر

رابط هذا التعليق
شارك

منذ ساعه, jjafferr said:

للي قبلك كان اشطر منك (انا في هذه الحالة 🙂) ، استعملتها في البداية ،

واذا بالحقل "g1s3" يعرض لي تاريخ مال زمان 30/10/1899 ، فاضطررت ان اصطاد اخطاء الكود واضبط تاريخ الحقل 🙂

 

حياك الله أستاذ جعفر ، تحسين في الكود:

  Dim crl As Control
  
  On Error Resume Next
  
  For Each crl In Me.Controls
    With crl
      If Not Right(.Name, 2) Like "1[1-5]" Then
        Err.Clear
        .Value = ""
        If Err.Number <> 0 Then .Value = Date   'لا أنصح بهذا السطر
      End If
    End With
  Next crl

 

تم تعديل بواسطه AbuuAhmed
  • Like 3
رابط هذا التعليق
شارك

الاخوة الاعزاء السلام عليكم ورحمة الله

قمت بعمل استعلام لجعل بعض الخلايا فارغة وبقاء البعض الاخر دون تحديث 

ووضعت فى خانة التحديث الى المعيار "  "

ولكن الاستعلام لا يعمل 

فما هو الخطا 

ارجو التطبيق على المثال المرفق

up2.accdb

رابط هذا التعليق
شارك

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