اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

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

السلام عليكم 

هذا الكود لاحد الاساتذة جزاهم الله خير ويعمل يشكل ممتاز لكني حاولت تطبيقة على قاعدة  بيانات جديدة  لكني تفاجئت بعد اضافة اسطر مني للكود ان تنفيذ الكود اصبح بطئ ... الاسطر التي اضفتها مكتوب معلم عليها بكلمة ( هنا ) ارجو المساعدة ولكم مني جزيل الشكر 

Option Compare Database
Option Explicit

    Dim rst_fy As DAO.Recordset
    Dim rst_n As Integer
'


Private Sub namebook_Click()
    'take the Recordset one time, use it many times
    If rst_n = 0 Then
        Set rst_fy = Forms!freadermain!finfo.Form.RecordsetClone
        rst_n = 1
    End If
    rst_fy.OpenRecordset
    
    rst_fy.FindFirst "namebook='" & Me.namebook & "'"
    If rst_fy.NoMatch Then
        Me.Parent!finfo.SetFocus
        DoCmd.GoToRecord , , acNewRec                           '''''!!!!!!    هنا
        Me.Parent!finfo!namebook = Me.namebook                   ''''''!!!!!!  هنا
        Me.Parent!finfo!Serialnamebook = Me.Serialnamebook          ''''''!!!!!!  هنا
        DoCmd.GoToRecord , , acNewRec                             ''''''!!!!!! هنا

    Else
        Me.Parent!finfo.Form.Bookmark = rst_fy.Bookmark
        Me.Parent!finfo.SetFocus
        Me.Parent!finfo!numberreadbook = Me.Parent!finfo!numberreadbook + 1     ''''''!!!!!! هنا

    End If
    rst_fy.Close
End Sub

 

تم تعديل بواسطه ازهر عبد العزيز
  • تمت الإجابة
قام بنشر
  في 2‏/3‏/2022 at 09:37, ازهر عبد العزيز said:

هذا الكود لاحد الاساتذة

Expand  

هذا كأنه خط يدي 🙂

 

اللي اعتقده مفروض يصير:

Option Compare Database
Option Explicit

    Dim rst_fy As DAO.Recordset
    Dim rst_n As Integer
'


Private Sub namebook_Click()
    'take the Recordset one time, use it many times
    If rst_n = 0 Then
        Set rst_fy = Forms!freadermain!finfo.Form.RecordsetClone
        rst_n = 1
    End If
'j    rst_fy.OpenRecordset
    
    rst_fy.FindFirst "namebook='" & Me.namebook & "'"
    If rst_fy.NoMatch Then
        rst_fy.AddNew
            rst_fy!namebook = Me.namebook
            rst_fy!Serialnamebook = Me.Serialnamebook
'j        Me.Parent!finfo.SetFocus
'j        DoCmd.GoToRecord , , acNewRec                           '''''!!!!!!    ???
'j        Me.Parent!finfo!namebook = Me.namebook                   ''''''!!!!!!  ???
'j        Me.Parent!finfo!Serialnamebook = Me.Serialnamebook          ''''''!!!!!!  ???
'j        DoCmd.GoToRecord , , acNewRec                             ''''''!!!!!! ???
        rst_fy.Update
    Else
'j        Me.Parent!finfo.Form.Bookmark = rst_fy.Bookmark
        Me.Parent!finfo.SetFocus
        Me.Parent!finfo.Form.Bookmark = rst_fy.Bookmark + 1
'j        Me.Parent!finfo!numberreadbook = Me.Parent!finfo!numberreadbook + 1     ''''''!!!!!! ???

    End If
    rst_fy.Close
End Sub

 

جعفر

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

ممكن استاذ توضبح مافائدة هذا الجزء من الكود 

  في 2‏/3‏/2022 at 11:10, jjafferr said:
    If rst_n = 0 Then
        Set rst_fy = Forms!freadermain!finfo.Form.RecordsetClone
        rst_n = 1
Expand  

وابضا لدي مشكلة ان شاء الله تكون صغيره اريد عند اضافة كتاب غير موجود في سجلات القارئ ينقل التركيز الى اسم الكتاب

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

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

 

الظاهر هذا الكود اصلا كان لبحث اسم الكتاب ، وهذا معناه ان البيانات لا تتغير ، وانما البحث سيكون لعدة مرات ،

فبدل ان ان اجعل الكود في كل مرة يأخذ RecordSet النموذج ويجعله في الذاكرة (طبعا يأخذ وقت، صحيح جدا بسيط ، ولكنه ملحوظ) ، فجعلته يأخذ RecordSet النموذج مرة واحدة فقط ، ويستخدمه مرارا :

المفروض يكون

     Set rst_fy = Forms!freadermain!finfo.Form.RecordsetClone


  
بينما انا جعلته هكذا
    'take the Recordset one time, use it many times
    If rst_n = 0 Then
        Set rst_fy = Forms!freadermain!finfo.Form.RecordsetClone
        rst_n = 1
    End If
  
  
 وتصريح المتغيرات في اعلى الوحدة النمطية ، حتى تبقى قيمها في الذاكرة ، الى ان نحذفها نحن
  Dim rst_fy as dao.Recordset
  Dim rst_n As Integer

.

  في 3‏/3‏/2022 at 09:07, ازهر عبد العزيز said:

اريد عند اضافة كتاب غير موجود في سجلات القارئ ينقل التركيز الى اسم الكتاب

Expand  

هذا مو شغل الكود ، وانما شغل جني او عفريت 😁

اما الكود ، كيف ينقل التركيز على اسم الكتاب ، وانت قلت انه غير موجود 😲

 

جعفر

قام بنشر
  في 3‏/3‏/2022 at 09:50, jjafferr said:

النموذج مرة واحدة فقط ، ويستخدمه

Expand  

ماشاء الله

 

  في 3‏/3‏/2022 at 09:50, jjafferr said:

اما الكود ، كيف ينقل التركيز على اسم الكتاب ، وانت قلت انه غير موجود 😲

Expand  

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

    Else
'j        Me.Parent!finfo.Form.Bookmark = rst_fy.Bookmark
        Me.Parent!finfo.SetFocus
        Me.Parent!finfo.Form.Bookmark = rst_fy.Bookmark + 1
'j        Me.Parent!finfo!numberreadbook = Me.Parent!finfo!numberreadbook + 1     ''''''!!!!!! ???

    End If
    rst_fy.Close
End Sub

 

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