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

فتح عدة نقارير بواسطة combobox


كريمو2
إذهب إلى أفضل إجابة Solved by ابو جودي,

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

10 ساعات مضت, كريمو2 said:

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

صعب ان اساعدك بدون ان اعرف رقم الخطأ وتفاصيله !!

ولكنه سيكون واحد من اثنين :

  1. إما النموذج الرئيسي swichboard غير مفتوح ،
  2. وإما ان قيمة الحقل txtYear في النموذج الرئيسي لا تقبل التحديث (الآن وقد ارفقت لنا هذا النموذج ، ارى 1. انك لم تنسخ txtYear  الى نموذجك ، وانما الحقل عندك اسمه نص109 ، و 2. ان قيمة الحقل نص109 عندك هي
=Year(Date())

 

اقتراحي لك:

1. التأكد من ان النموذج الرئيسي swichboard دائما مفتوح ، واذا لم تكن متأكد من ذلك ، فيجب ان تتأكد انه مفتوح برمجيا ،

1. انت تحذف جميع مصدر بيانات الحقل txtYear  في النموذج swichboard  ، بحيث يأخذ بياناته من النماذج التي ترسل التاريخ.

 

جعفر

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

56 دقائق مضت, كريمو2 said:

فكيف لي اذا اردت ان اضع مثلا : 2019 او 2018 او ...........او 2011

يجب ان تضيف الحدث التالي في كل نموذج  :



وان تضيف حدث جديد في كل نموذج
Private Sub txtYear_AfterUpdate()

    Forms!Swichboard!txtYear = txtYear
End Sub

.

جعفر

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

14 دقائق مضت, jjafferr said:

Forms!Swichboard!txtYear = txtYear

استاذ جعفر حياك الله

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

لاحظ 

1297.2020.rar

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

 

 

 

 

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

14 ساعات مضت, ابا جودى said:

1. عن نفسى مش بحب افتح نموذج مخفى 

2. لماذا لا يتم .... TempVars 

TempVars.Add "x", CrntYear

3. لماذا لا يتم انشاء موديول ونرف متغير عام قيه وليكن

Global CrntYear As Integer

 

1. وانا كذلك ، لا احبذ استخدامها ، ولكن "وللأسف" لما المبرمج يستخدم نماذج منبثقة ، فيقوم بإغلاق نموذج وفتح نموذج آخر ، فالكلام هنا ان لا تغلق النموذج الرئيسي ، وانما تجعله مخفي ،

2. لأن TempVars غير موجودة في الاكسس قبل 2007 (يعني اذا اكسس 2003 منصب على كمبيوترك ، فانه لا يعرف ما هو TempVars) ، وصيغة المرفق mdb ، مما يوحي ان الاكسس المنصب نسخة قبل 2007 🙂

3. نعم ممكن عمل موديول ، واعطاء القيمة للمتغير هناك ، ثم مناداة المتغير في كل كائنات الاكسس ، ولكن لا يمكن مناداة المتغير مباشرة في الاستعلام ، وانما يجب مناداته عن طريق موديول آخر 🙂

 

جعفر

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

9 دقائق مضت, jjafferr said:

لأن TempVars غير موجودة في الاكسس قبل 2007

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

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

 

3 ساعات مضت, كريمو2 said:

شكرا لك استاذ اباجودي

العملية تمت بشكل جيد ولكن 

الا تلاحظ هي مبرمجة على سنة تاريخ الجهاز اي 2020

فكيف لي اذا اردت ان اضع مثلا : 2019 او 2018 او ...........او 2011 

لاحظت عند فتح التقرير على سنة 2019 تظهر نتائج سنة 2020 

حاولت تغيير Year(Date) ب txtYear فلم يفلح معي 


Private Sub Form_Load()
    txtYear = Year(Date)
    CrntYear = txtYear
    TempVars.Add "x", CrntYear
End Sub

 

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

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

ليه كل اللف والدوران ده 

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

منذ ساعه, ابا جودى said:

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

لا بالعكس المستخدم يريد استبدالها كلما اقتضت الضرورة

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

2020.mdb 2.5 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 2 downloads

=[Forms]![FrmRapport]![txtYear]

 

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

شكرا استاذ اباجودي على تعبك معانا 

ربنا يحفظك 

الان ارجع الى المثل الصيني الذي يقول "لا تعطيني سمكة وعلمني كيف اصطاد السمكة" 

فأين تم التعديل استاذ

تم تعديل بواسطه كريمو2
  • Haha 1
رابط هذا التعليق
شارك

  • أفضل إجابة
12 دقائق مضت, كريمو2 said:

"لا تعطيني سمكة وعلمني كيف اصطاد السمكة" 

فأين تم التعديل

النموذج FrmRapport

الحقل تم وضع كود فى بعد التحديث

CrntYear = txtYear

ومربع السرد Nome_Report عند التفيير تم اضاقة السطر

CrntYear = txtYear

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

DoCmd.OpenReport stDocName, acViewPreview ', , "Year(date()) = " & CrntYear & ""

لان كانه مشكلة بإلغاء ذلك الجزء منه

', , "Year(date()) = " & CrntYear & ""

 

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

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

وكما تفضل استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr 

2 ساعات مضت, jjafferr said:

لأن TempVars غير موجودة في الاكسس قبل 2007 (يعني اذا اكسس 2003 منصب على كمبيوترك ، فانه لا يعرف ما هو TempVars)

لن تعمل تلك الطريقة مع الاوفيس 2003

70665418_2020(1).mdb

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

10 دقائق مضت, ابا جودى said:

لن تعمل تلك الطريقة مع الاوفيس 2003

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

اي مثلا التقرير rptCridi يفتح عادي من الفورم FrmRapport لان المعيار 

=[Forms]![FrmRapport]![txtYear]

ولايفتح من الفورم  FrmCridiReport لان المعيار مختلف

فكيف لي بطريقة اخرى غير طريقة TempVars  تفتح من كلى الفورمين FrmRapport و FrmCridiReport

ملاحظة نفس الشيء لبقية الفورمات

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

58 دقائق مضت, كريمو2 said:

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

اي مثلا التقرير rptCridi يفتح عادي من الفورم FrmRapport لان المعيار 



=[Forms]![FrmRapport]![txtYear]

ولايفتح من الفورم  FrmCridiReport لان المعيار مختلف

فكيف لي بطريقة اخرى غير طريقة TempVars  تفتح من كلى الفورمين FrmRapport و FrmCridiReport

ملاحظة نفس الشيء لبقية الفورمات

 

ركز جيدا فى تلك الكلمات لانها كلمات من ذهب

 

3 ساعات مضت, jjafferr said:

2. لأن TempVars غير موجودة في الاكسس قبل 2007 (يعني اذا اكسس 2003 منصب على كمبيوترك ، فانه لا يعرف ما هو TempVars) ، وصيغة المرفق mdb ، مما يوحي ان الاكسس المنصب نسخة قبل 2007 🙂

3. نعم ممكن عمل موديول ، واعطاء القيمة للمتغير هناك ، ثم مناداة المتغير في كل كائنات الاكسس ، ولكن لا يمكن مناداة المتغير مباشرة في الاستعلام ، وانما يجب مناداته عن طريق موديول آخر 🙂

 

جعفر

 

والحل الان بعيد عن طريقة TempVars  ويفتح من كلى الفورمين  :yes:

كل الشكــــــــر لاستاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr :fff:

1297.2020.mdb

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

وهو كذلك

بارك الله فيكم اساتذتي الكرام 

اباجودي - جعفر

جعلها الله في ميزان حسناتكما

صحيح طريقة سهلة وبعيدة عن TempVars  

لكم مني فائق الاحترام والتقدير

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

الان فهمت الطرق الثلاثة لتمرير المعيار الا الاستعلام

1- تمرير القيمة من كائن موجود فى نموذج محدد .... يعيبها لابد ان يكون النموذج مفتوحا

[Forms]![FrmName]![ObjectNameOnForm]

2- TempVars  

TempVars.Add "x", Value as you need

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

[TempVars]![x]

3- فى موديول نعرف متغير عام 

Global AddVar As Variant

ونكتب اكواد الروتين التى تستدعيه بهذا الشكل 

Public Function GetVar()
    GetVar = AddVar
End Function

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

AddVar= Value as you need

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

GetVar()

 

 

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

تفضل ، هذا المرفق :

  • يتأكد ان النموذج swichboard مفتوح (لاحظ انني استخدمت الاسم الموجود في برنامجك) ، ويرسل له التاريخ ،
  • ما دام النموذج swichboard  مفتوح ، فيمكنك ان تفتح التقرير من اي نموذج شئت ، او حتى فتحه مباشرة بالنقر المزدوج عليه ،
  • لما تغير التاريخ في اي نموذج ، فتلقائيا يتم تغيير التاريخ في النموذج swichboard .

 

الحقل txtYear موجود 72 مرة في برنامجك :

image.png

.

 

جعفر

 

1297.1.2020.mdb.zip

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

9 دقائق مضت, jjafferr said:

تفضل ، هذا المرفق :

  • يتأكد ان النموذج swichboard مفتوح (لاحظ انني استخدمت الاسم الموجود في برنامجك) ، ويرسل له التاريخ ،
  • ما دام النموذج swichboard  مفتوح ، فيمكنك ان تفتح التقرير من اي نموذج شئت ، او حتى فتحه مباشرة بالنقر المزدوج عليه ،
  • لما تغير التاريخ في اي نموذج ، فتلقائيا يتم تغيير التاريخ في النموذج swichboard .

 

الحقل txtYear موجود 72 مرة في برنامجك :

image.png

.

 

جعفر

 

1297.1.2020.mdb.zip 316.42 kB · 0 downloads

هو ايه النموذج ده استاذى الجليل ومعلمى القدير و والدى الحبيب total deep search 

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

استاذي الكريم جعفر انا اعمل على اكسس 2010

المرفق لم يفتح بصفة عادية كما اشرت

المشكل

1.jpg.a503a80b966ec7eb395e2330ff9f74c0.jpg

 

2.jpg.469d2a1720be976a26aa017ad258cb19.jpg

أما تغيير مسميات كائنا اكسس دفعة واحدة فلم افهم شيء مما ارسلت

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

15 دقائق مضت, كريمو2 said:

المرفق لم يفتح

ما اعرف من وين جاءت هذه الاضافة على الكود !!

تم تصحيح الوضع في المرفق هنا 🙂

 

جعفر

1297.1.2020.mdb.zip

17 دقائق مضت, كريمو2 said:

أما تغيير مسميات كائنا اكسس دفعة واحدة فلم افهم شيء مما ارسلت

رجاء قراءة موضوع الرابط ، والروابط الموجودة هناك ، واذا عندك سؤال محدد ، فلا مانع 🙂

 

جعفر

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

تمت العملية استاذي العزيز

13 دقائق مضت, jjafferr said:
30 دقائق مضت, كريمو2 said:

رجاء قراءة موضوع الرابط ، والروابط الموجودة هناك ، واذا عندك سؤال محدد ، فلا مانع 🙂

لقد حملت الاداة ونصبتها ولم تظهر لي اثناء فتح ملف الاكسس

فكيف السبيل لذلك ؟

V-Tools 1.83 for Access 2010-2016.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