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

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

قام بنشر

السلام عليكم

 

عندي جدول tbl

وفيه الحقول التالي

ID

DAT

 

المطلوب كود

يقوم باستبدال بعض الأرقام مثل (8 او 4 او غير ذلك ) بأرقام أنا اضعها في الكود

بشرطين

1- أن يكون عدد السجلات اكثر من  5  في الجدول

2- عدم استبدال أي رقم الى عندما يوافق تاريخ الشرط في الكود

 

اشرح الكثر

استبدل الأرقام  ( 8  و 4 و 3 ) بــ ارقام انا إدخاله مسبقاً في الكود

بشرط يكون عدد السجلات اكثر من  5   في الجدول - الشرط الثاني تكون السجلات التي سيتم اجراء عملية الاستبدال عليه تم إدخالها بعد تاريخ ( 2019-4-1 )

أي ان السجلات التي تم إدخالها قبل هذى التاريخ لأيتم اجراء  الاستبدال 

 

بالتوفيق إن شاء الله

Database6.accdb

قام بنشر

modReplaceNo  هنا فى هذا الموديول كود الارقام التى تريد استبدالها

qryCondition هذا الاستعلام تم عمله لوضع الشرط الخاص بالتاريخ ليتم التحقيق لهذا الشرط من خلاله

 

جرب ووافنى بالنتيجة لو تكرمت :fff:

 

Database6.accdb

  • Like 1
قام بنشر (معدل)

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

حفظك الله اخي الكريم

ليس هذى الذي كنت اقصده 

ربما  لم أوضح السؤال اكثر

 

تسلسل السؤال بالشكل التالي 

 

1- عدد السجلات اكثر من 5 سجلات

 

2- أي سجل تم ادخالة بعد  هذى التاريخ ( 2019-3-1 ) التاريخ أنا الذى أحدده في الكود

 

3- يتم استبدال الأرقام مثل  ( 2 و 4 و 7 ) بأرقام أنا أحدده في الكود على السجلات التي ينطبق عليه شرط في رقم  ( 2 )

 

ملاحظة

لا ارغب في استخدام الاستعلامات ابداً

 

بالتوفيق إن شاء الله

تم تعديل بواسطه ابو محمد 316
قام بنشر

1- عدد السجلات اكثر من 5 سجلات 

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

قام بنشر

السلام عليكم 

حفظك الله اخي الكريم 

اعتذر منك ليس هذى المطلوب

بنسبة لتاريخ الذي احدده   و الأرقام التي يتم استبدالها   تكون في الكود مثل رقم ( 5 )

اكرر اعتذارى لك اخي الكريم 

حفظك الله

 

Function CO2()
On Error GoTo co2_Err
    With CodeContextObject
If DCount("[ID]", "Tbl1") > 5 Then

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

MsgBox " تعم عمل المطلوب"
  End If
    End With
co2_Exit:
    Exit Function
co2_Err:
    Resume co2_Exit
End Function

 

  • 1 year later...
قام بنشر

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

اتنمنا ان اجد حل 

هذى كود يقم بعد السجلات 

Function CO2()
On Error GoTo co2_Err
    With CodeContextObject
If DCount("[ID]", "Tbl1") > 5 Then
كود التاكد من تاريخ ادخال اسجلات
كود تنفيذ استبدال الارقام

MsgBox "  "
  End If
    End With
co2_Exit:
    Exit Function
co2_Err:
    Resume co2_Exit
End Function

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


DoCmd.RunSQL strSQL = "SELECT Tbl1.daRACORD " & vbCrLf & "FROM Tbl1 " & vbCrLf & "WHERE (((Tbl1.daRACORD)>=#1/1/2010#));"

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




Dim RecAdo As New ADODB.Recordset
  RecAdo.Open "Tbl1", CurrentProject.Connection, adOpenStatic, adLockOptimistic, acTable
  
Dim i As Integer
  
For i = 1 To RecAdo.RecordCount
    RecAdo!id = Replace(RecAdo!id, "111", "3")
    RecAdo.MoveNext
  Next
  
RecAdo.Close
  Set RecAdo = Nothing


End Sub

 

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

 

بارك الله فيكم 

قام بنشر

السلام عليكم

اخي الكريم ، انت السبب بعدم حصولك على اجابة 

كيف ؟ 

كان الأولى بك من البداية ان ترفق اكوادك هذه داخل المرفق ، ومن خلال النموذج تظهر النتائج ويطلع عليها من يريد تقديم المساعدة

يعني يجب ان تكون بمثابة الطاقم الطبي الذي يعد المريض لمشرط الجراح

 

  • Like 2
قام بنشر (معدل)

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

هل السؤال غير واضح ؟

وهل هناك جواب لهذي السؤال او نصيحه او توجيه او شي من هذى القبيل

 

اسال الله التوفيق للجميع

 

 

 

تم تعديل بواسطه ابو محمد 316
قام بنشر

السلام عليكم اخى @ابو محمد 316

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

وتاكيدا على كلامهم فهم السؤال نصف الاجابه وكان يجب عليك التوضيح اكثر من البدايه

اتفضل حاجه على قد حالى ربما تكون ما تريد


Function updateData(num As Integer, dDate As Date)
  On Error GoTo HandleError
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
'    Dim dDate As Date
'    Dim num As Integer
    strSQL = "SELECT Tbl1.N, Tbl1.ID, Tbl1.DAT FROM Tbl1;"
    
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSQL)

'    num = 4
'    dDate = #1/1/2010#
    
    If DCount("[ID]", "Tbl1") > num Then
        
    MsgBox "ÚÏÏ ÇáÓÌáÇÊ ÃßÈÑ ãä " & num
       
        Do While Not rs.NoMatch
            If rs("DAT") > dDate Then
            rs.Edit
            rs!id = Replace(rs!id, "111", "3")
            rs.Update
            End If
         rs.MoveNext
        Loop
       
    End If
    
    rs.Close
    Set rs = Nothing
HandleExit:
    Exit Function
HandleError:
'    MsgBox Err.Description
    Resume HandleExit
End Function

fun.png.29537384b8d21ae841b3b0d6a3e84716.png

qry.png.17b9e3cbf2ced65b64dc4a5b67cddfeb.png

بالتوفيق

Database66.accdb

  • Like 1
قام بنشر (معدل)

حفظك الله اخي الكريم الفلاحجي 

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

والحقيقة انني لا ارغب في استخدام استعلام فقط وحدة نمطية يمكن استدعيه من النموذج او التقرير Call updateData
 

 

حفظكم الله

تم تعديل بواسطه ابو محمد 316
قام بنشر (معدل)
13 دقائق مضت, ابو محمد 316 said:

حفظك الله اخي الكريم الفلاحجي 

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

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

 

حفظكم الله

واياكم ولا حول ولا قوه الا بالله العلى العظيم

اترك الاستعلام اللى مزعلك وقارفك ده على جنب فانما وضعته للتوضيح وكيفيه الاستدعاء كما وضحت تجربه الكود اسفل الموديول كالتالى 

?updateData(5,#1/1/2010#)

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

بالتوفيق

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

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

بارك الله فيك وحفظك الله   ورحم الله والديك

نعم هذى الذي كنت ارغب في تصميمة

 

 

حفظك الله 

في حالة اذا ارغبت يكون التاريخ اكبر من اين اضع علامة اكبر من في الاستدعاء 

 Call updateData(100, #1/1/2019#)
 

 

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