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

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

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

السلام عليكم

لدي استعلام فيه الكثير من العمليات الحسابية ، الا انه عندما افتح هذا الاستعلام ياخذ ما يقارب 30 ثانية حتى يفتح ، مع العلم بان الاستعلام المصدر يفتح بسرعة

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

مع العلم بان الاستعلام يحتوي على اكثر من 60 الف عملية(سجل، صف)

شكرا لكم

 

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

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

 

  • Like 1
قام بنشر
  في 26‏/4‏/2017 at 19:31, سامي الضالعي said:

2. عندما افتح هذا الاستعلام ياخذ ما يقارب 30 ثانية حتى يفتح ،

1. مع العلم بان الاستعلام المصدر يفتح بسرعة

Expand  

السلام عليكم وحياالله الشباب:smile:

 

بالاضافة الى ما تفضل به أخي أوس:smile:

 

رجاء تلاحظ تسلسل الارقام ، فهي 2 ثم 1 ،

الاستعلام 1 مافيه مشكلة ،

ولكنك لما تفتح الاستعلام 2 والذي مصدره الاستعلام 1 ، والظاهر ان فيه معيار فرز او تصفية في حقل معين ،

اي حقل فيه معيار في الاستعلام او الكود ، يجب ان تجعل الحقل مفهرس في الجدول ، وإلا ستحصل على تأخير:smile:

وعند تغيير الحقل في الجدول الى حقل مفهرس ، يجب ان تعمل Compact and Repair للقاعدة التي بها البيانات ، حتى يستفيد الاكسس من هذا التغيير.

 

جعفر

  • Like 6
قام بنشر
  في 27‏/4‏/2017 at 10:18, jjafferr said:

السلام عليكم وحياالله الشباب:smile:

 

بالاضافة الى ما تفضل به أخي أوس:smile:

 

رجاء تلاحظ تسلسل الارقام ، فهي 2 ثم 1 ،

الاستعلام 1 مافيه مشكلة ،

ولكنك لما تفتح الاستعلام 2 والذي مصدره الاستعلام 1 ، والظاهر ان فيه معيار فرز او تصفية في حقل معين ،

اي حقل فيه معيار في الاستعلام او الكود ، يجب ان تجعل الحقل مفهرس في الجدول ، وإلا ستحصل على تأخير:smile:

وعند تغيير الحقل في الجدول الى حقل مفهرس ، يجب ان تعمل Compact and Repair للقاعدة التي بها البيانات ، حتى يستفيد الاكسس من هذا التغيير.

 

جعفر

Expand  

شكرا اخي جعفر

ما تفضلت به من معالجة كانت جيدة

عالجت المشكلة بنسبة 50%

انخفض وقت الانتظار من 30 ثانية الى 15 ثانية

بارك الله فيك وزادك علما ونورا

 

قام بنشر

هلا والله:smile:

زين ، اذن نحن في الطريق الصحيح:smile:

بس سرعة الاستعلام الثاني لازم تكون مقارنة مع الاستعلام الاول ،

فلوسمحت تخبرنا ايش الاشياء الاخرى اللي تعملها في الاستعلام الثاني ،

يعني مو الغلط كله نخليه على البرنامج ، المبرمج كذلك عليه جزء من الغلط:wink2:

 

جعفر

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

ماشاء الله تبارك الله  عليك استاذنا الغالـــي :fff: كلامك من ذهب  ربنا يزيدك من فضله

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

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

وكنت فاكر ان المشكلة بكود الطباعة حيث كان

DoCmd.OpenReport "Rreceipt", acViewNormal, , "[orderno] = " & Me![orderno]
DoCmd.OpenReport "Rreceipt", acViewNormal, , "[orderno] = " & Me![orderno]
DoCmd.OpenReport "Rreceipt", acViewNormal, , "[orderno] = " & Me![orderno]


 وقمت بتغيير الكود الي

Dim I As Integer
  For I = 1 To 3
  DoCmd.OpenReport "Rreceipt", acViewNormal, , "[orderno] = " & Me![orderno]
  Next I

ولكن نفس المشكلة مازالت  مستمرة

علما ان هذه المشكلة تحدث فقط عند زيادة السجلات  ..... حيث بلغت حوالي 34000 سجل 34 الف

وعند تفريغ السجلات  تذهب هذه المشكلة

 عموما .... جاري تطبيق الخطوات التي ذكرتها ، وابلاغك بالنتيجة ان شاء الله

لكن مبدئيا استاذنا هل يوجد فرق بين الكودين المذكورين اعلاه  لامر الطباعة لاكثر من نسخة ؟؟؟؟ اقصد فرق فى الاداء والاستجابه  ؟؟؟؟

كل الحب والتقدير استاذنا الغالــــــــــــــــي ،،،
 

 

 

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

هلا والله أخوي وائل:smile:

 

حل مشكلتك بسيط ، بس بيكلفك عشاء ، لا ومب عشاء واحد ، وانما عشاء عن توفير وقت كل تقرير:wink2:

وإلا خليني اسهل الموضوع ، عشاء واحد بس اجيب معاي كل الحبايب و أولهم أخونا العود @ابو خليل :smile:

 

اذا اتفقنا ، شوف الحل التالي:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

مشكلتك في طريقة طباعتك للتقرير انك تجلب وتفرز وتصفي 34 الف سجل 3 مرات ،

بينما الطريقة التالية تخليك تجلب وتفرز وتصفي 34 الف سجل مرة واحدة فقط ، ولكن تطبع التقرير 3 مرات:

    DoCmd.OpenReport "Rreceipt", acViewPreview, , , acHidden
    DoCmd.PrintOut acPrintAll, , , , 3
    DoCmd.Close acReport, "Rreceipt", acSaveNo

 

جعفر

  • Like 4
قام بنشر

بارك الله فيك أستاذنا و زادك علما وفضلا وكل من قام و الذين مازالو قائمين على هذا الصرح.

قام بنشر
  في 29‏/4‏/2017 at 08:29, jjafferr said:

حل مشكلتك بسيط ، بس بيكلفك عشاء ، لا ومب عشاء واحد ، وانما عشاء عن توفير وقت كل تقرير:wink2:

وإلا خليني اسهل الموضوع ، عشاء واحد بس اجيب معاي كل الحبايب و أولهم أخونا العود @ابو خليل :smile:

 

Expand  

اقسم بالله اتمنى ذلك استاذنا الغالي  يكفيني شرف رؤية قامات عالية مثلكم . حدد ميعاد وانا حاضر  وعموما انا مو بعيد عنكم:fff:

بارك الله فيك وجزاك الله عنا كل خير حبيبنا وزادك الله من فضله ونعمه

جاري  تحديث الكود وابلاغك بالنتيجة

كل الحب والتقدير والاحترام :fff: 

قام بنشر

السلام عليكم

استاذنا الساحر @جعفر

تم التجربة بنجاح والحمد لله تسلم ايدك حبيبنــا:wavetowel:

  Dim stLinkCriteria As String
  stLinkCriteria = "[orderno] =" & Me![orderno]
 
  DoCmd.OpenReport "Rreceipt", acViewPreview, , stLinkCriteria, acHidden
  DoCmd.PrintOut acPrintAll, , , , 3
  DoCmd.close acReport, "Rreceipt", acSaveNo
 

كل التقدير والاحترام ،،،

قام بنشر
  في 30‏/4‏/2017 at 07:03, ابوخليل said:

أشم رائحة  عشاء  :wub:

يصير  عندنا .. قولوا تم ..

Expand  

الله يسلمك ويعافيك ان شاء الله أخوي ابوخليل ، وهاي يحتاج لها سؤال ،

انت تأمر ونحن نقول تم ان شاء الله:smile:

 

  في 29‏/4‏/2017 at 09:52, wael_rafat said:

وعموما انا مو بعيد عنكم:fff:

Expand  

هاي ما عرفت معادلتها:smile:

 

  في 30‏/4‏/2017 at 05:26, wael_rafat said:

السلام عليكم

استاذنا الساحر @جعفر

تم التجربة بنجاح والحمد لله تسلم ايدك حبيبنــا:wavetowel:

  Dim stLinkCriteria As String
  stLinkCriteria = "[orderno] =" & Me![orderno]
 
  DoCmd.OpenReport "Rreceipt", acViewPreview, , stLinkCriteria, acHidden
  DoCmd.PrintOut acPrintAll, , , , 3
  DoCmd.close acReport, "Rreceipt", acSaveNo
 

كل التقدير والاحترام ،،،

Expand  

وحياك الله:smile:

 

جعفر

  • Like 1
قام بنشر
  في 29‏/4‏/2017 at 08:29, jjafferr said:

حل مشكلتك بسيط ، بس بيكلفك عشاء ، لا ومب عشاء واحد ، وانما عشاء عن توفير وقت كل تقرير:wink2:

وإلا خليني اسهل الموضوع ، عشاء واحد بس اجيب معاي كل الحبايب و أولهم أخونا العود @ابو خليل :smile:

Expand  

 

  في 30‏/4‏/2017 at 07:03, ابوخليل said:

أشم رائحة  عشاء  :wub:

يصير  عندنا .. قولوا تم ..

Expand  

ما راح أكلفكم كثير راح أجيب عشايا و أتعشى معاكم:wavetowel:

  • Like 1
قام بنشر
  في 28‏/4‏/2017 at 19:09, jjafferr said:

هلا والله:smile:

زين ، اذن نحن في الطريق الصحيح:smile:

بس سرعة الاستعلام الثاني لازم تكون مقارنة مع الاستعلام الاول ،

فلوسمحت تخبرنا ايش الاشياء الاخرى اللي تعملها في الاستعلام الثاني ،

يعني مو الغلط كله نخليه على البرنامج ، المبرمج كذلك عليه جزء من الغلط:wink2:

 

جعفر

Expand  

هلا اخوي جعفر

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

 

قام بنشر
  في 30‏/4‏/2017 at 12:57, سامي الضالعي said:

هلا اخوي جعفر

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

Expand  

 

اذن التأخير طبيعي المتبقي :smile:

 

جعفر

  • Like 2
  • 3 weeks later...
قام بنشر (معدل)
  في 30‏/4‏/2017 at 05:26, wael_rafat said:

السلام عليكم

استاذنا الساحر @جعفر

تم التجربة بنجاح والحمد لله تسلم ايدك حبيبنــا:wavetowel:

  Dim stLinkCriteria As String
  stLinkCriteria = "[orderno] =" & Me![orderno]
 
  DoCmd.OpenReport "Rreceipt", acViewPreview, , stLinkCriteria, acHidden
  DoCmd.PrintOut acPrintAll, , , , 3
  DoCmd.close acReport, "Rreceipt", acSaveNo

Expand  

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

استاذنا الفاضل @jjafferr    سامحني  الكود شغال زى الفل على طابعة الA4  ، ولكن للاسف بعد التجربة على طابعة الفواتير للاسف لم يعمل ويعطيني نسخة واحدة فقط

بمعني   DoCmd.PrintOut acPrintAll, , , , 3    يعطي نسخة واحدة فقط

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

وسوف يتضح معك الامر لو قمت بالتجربة على طابعة الاوفيس  Send To OneNote 2013

عموما استاذي لدي فكرة او حيلة  ..

لو حاولنا ان نقوم بتكرار  الكود  DoCmd.PrintOut acPrintAll, , , , 3  سوف تنجح الفكرة ....  ولكني فشلت فى الوصول لهذه الحيلة

كل شكري واحترامي استاذنا الساحر

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

وعليكم السلام:smile:

 

جرب هذا:

DoCmd.OpenReport "Rreceipt", acViewPreview, ,stLinkCriteria
DoCmd.SelectObject acReport, "Rreceipt"
DoCmd.PrintOut , , , , 3
DoCmd.Close acReport, "Rreceipt", acSaveNo

 

جعفر

قام بنشر

    Dim I As Byte
    CopyN = 3
    If IsNumeric(CopyN) Then
        For I = 0 To CopyN - 1
            DoCmd.OpenReport "rpt_name"
        Next I
    End If

قام بنشر

طيب جرب هذه الطريقة:

DoCmd.OpenReport "Rreceipt", acViewPreview, ,stLinkCriteria
DoCmd.SelectObject acReport, "Rreceipt"
DoCmd.PrintOut , , , , 1
DoCmd.PrintOut , , , , 1
DoCmd.PrintOut , , , , 1
DoCmd.Close acReport, "Rreceipt", acSaveNo

 

  في 16‏/5‏/2017 at 21:00, co2002co said:

    Dim I As Byte
    CopyN = 3
    If IsNumeric(CopyN) Then
        For I = 0 To CopyN - 1
            DoCmd.OpenReport "rpt_name"
        Next I
    End If

Expand  

وعليكم السلام اخي بدر

 

نعم نعرف هذه الطريقة ، ولكن التقرير بطيء ، لذلك فنحن نحاول فتح التقرير مرة واحدة ، والطباعة عدة مرات:smile:

 

جعفر

  • Like 1

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