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

تصدير استعلام يستخدم قيمة فى نموذج كمعيار إلى ملف أكسيس


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

السلام عليكم

عثرت على هذا الكود الرائع لتصدير الاستعلامات من أكسيس إلى إكسيل

الكود يعمل بكفاءة مع الاستعلامات بدون معايير أو بمعايير مباشرة داخل الاستعلام

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

علما بأننى فتحت النموذج أثناء تشغيل الكود و اخترت القيمة

و مع ذلك لم يفلح

و يعطى رسالة خطأ أنه يحتاج لقيمة معلمة

وفقنا الله و إياكم لنفع المسلمين

هاكم الكود

'Step 1: Declare your variables
Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset
Dim i As Integer
'Step 2: Identify the database and query
Set MyDatabase = CurrentDb
Set MyQueryDef = MyDatabase.QueryDefs(Me.allq.Column(1))   'Query name in the database
'Step 3: Open the query
'DoCmd.OpenQuery Me.allq.Column(1)
Set MyRecordset = MyQueryDef.OpenRecordset
'Step 4: Clear previous contents
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
With xlApp
.Visible = True
.Workbooks.Add
.Sheets("ورقة1").Select
'Step 5: Copy the recordset to Excel
.ActiveSheet.Range("A1").CopyFromRecordset MyRecordset
'Step 6: Add column heading names to the spreadsheet
For i = 1 To MyRecordset.Fields.Count
xlApp.ActiveSheet.Cells(1, i).Value = MyRecordset.Fields(i - 1).Name
Next i
xlApp.Cells.EntireColumn.AutoFit
End With
MsgBox "تم التصدير بنجاح"

 

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

1 دقيقه مضت, عبد الفتاح كيرة said:

للأسف لا يعمل مع أن الاستعلام يفتح

Capture7.PNG

ممکن ترفق القاعدة 

احنا مش مشغولين خلي نشتغل عليه

تحياتي

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

شكرا لتعاونك

الاستعلام المطلوب تصديره و يحتوى على بارامتر استعلام q_one  

فى نموذج expq

و البارامتر فى نموذج frmedit

 

Tel-test.rar

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

5 ساعات مضت, ابوخليل said:

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

اذا ما نفع في المعلمات نعلن على العموم

تفضل  تم التعديل  

مع تعديل طفيف على الدوارة داخل الكود

Tel-test2.rar

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

1 ساعه مضت, ابوخليل said:

اذا ما نفع في المعلمات نعلن على العموم

تفضل  تم التعديل  

مع تعديل طفيف على الدوارة داخل الكود

Tel-test2.rar

last.rar

ممكن  نعمل تصدير  لتقرير من  داخل  فورم  بحث بين تاريخين  (يعرض البيانات  التي  تمم البحث  عنهاخلال  فترةالبحث )

اسم  الاستعلام   qry1

من  فورم searchf

1.png.4066f69758d88601d7050bc43a644ff3.png

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

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

جرب التالي 

Private Sub ÃãÑ2_Click()
'Step 1: Declare your variables
Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset
Dim i As Integer
'Step 2: Identify the database and query
Set MyDatabase = CurrentDb
Set MyQueryDef = MyDatabase.QueryDefs(Me.allq.Column(1))   'Query name in the database
'Step 3: Open the query
'DoCmd.OpenQuery Me.allq.Column(1)
MyQueryDef.Parameters(0) = Forms![frmEdite]![TelID]
Set MyRecordset = MyQueryDef.OpenRecordset
'Step 4: Clear previous contents
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
With xlApp
.Visible = True
.Workbooks.Add
''.Sheets("æÑÞÉ1").Select
'Step 5: Copy the recordset to Excel
.ActiveSheet.Range("A2").CopyFromRecordset MyRecordset
'Step 6: Add column heading names to the spreadsheet
For i = 1 To MyRecordset.Fields.Count
xlApp.ActiveSheet.Cells(1, i).Value = MyRecordset.Fields(i - 1).Name
Next i
xlApp.Cells.EntireColumn.AutoFit
End With
MsgBox "Êã ÇáÊÕÏíÑ ÈäÌÇÍ"

End Sub

 التعديلات

- MyQueryDef.Parameters(0) = Forms![frmEdite]![TelID]  وهو الاهم

- تعديل عنوان السجلات من a1 الى a2  لان الصف الاول يكتب به العناوين

- انت مستخدم activesheet فلا داعي لتعريف اسم الشيت وحتى لا تقع في حصرا باسم الشيت فقد تكون النسخة انجليزي

بالتوفيق

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

كلام مضبوط

حارة التجربة و من ثم الرد

شكرا لك

6 ساعات مضت, ابوخليل said:

اذا ما نفع في المعلمات نعلن على العموم

تفضل  تم التعديل  

مع تعديل طفيف على الدوارة داخل الكود

Tel-test2.rar

جار التجربة أبا خليل المحترم

4 ساعات مضت, alma_fandi said:

last.rar

ممكن  نعمل تصدير  لتقرير من  داخل  فورم  بحث بين تاريخين  (يعرض البيانات  التي  تمم البحث  عنهاخلال  فترةالبحث )

اسم  الاستعلام   qry1

من  فورم searchf

1.png.4066f69758d88601d7050bc43a644ff3.png

أظن هذا الرد يخص موضوعا آخر

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

2 ساعات مضت, عبد الفتاح كيرة said:

كلام مضبوط

حارة التجربة و من ثم الرد

شكرا لك

جار التجربة أبا خليل المحترم

أظن هذا الرد يخص موضوعا آخر

بعتذر 
الغريق يتعلق بالقشة 

وان شفت  انه موضوعك شبيه  90% من مطلبي فذكرت  الفكرة

اكرر اعتذاري

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

5 دقائق مضت, alma_fandi said:

بعتذر 
الغريق يتعلق بالقشة 

وان شفت  انه موضوعك شبيه  90% من مطلبي فذكرت  الفكرة

اكرر اعتذاري

اكتب طلبك في  موضوع جديد مستقل

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

إليكم النتائج

أولا : ملف الفاضل أبى خليل

إبداع إبداع

أول مرة أستخدم معيار استعلام و يكون فى الكود فى قسم العام

هذه إحدى الحالات التى نحتاج فيها لذلك

العجيب أن البارامتر يمرر بين الكود و الاستعلام 

بعيدا عن كود التصدير

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

ميزة أخرى لملفك أبا خليل

جعلت البارامتر خاصا بهذا الاستعلام فقط

فلا يحدث خطأ عند اختيار استعلام آخر من الكمبوبوكس

لأنه ليست كل الاستعلامات فيها معايير تشير إلى حقل فى نموذج

فأغلبها معياره داخلى و هذا لا مشكلة فيه

جزاك الله خيرا

و ممكن تعرفنا متى نحتاج إلى وضع المعيار فى وظيفة عامة

 

ثانيا ملف الفاضل الأستاذ رمهان

معلومة أخرى قيمة جدا و طريقة لتمرير المعيار  لا نستغنى عنها

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

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

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

جزاك الله خيرا على اختصار الكود

و السؤال

هل ملفات تصدير الاستعلامات لإكسيل بالمنتدى تتعامل مع هذا النوع من الاستعلامات؟

أم أن كلها تتعامل مع استعلامات معاييرها داخلية؟

أخيرا

هذا موضوع قيم جدا جدا

استفدت منه كثيرا

و حبذا لو أفرده أحدكما بالشرح فى موضوع مستقل للفائدة

 

الأخ alma fandi

لا تكلف نفسك عناء الاعتذار

جل من لا يسهو

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

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

موضوعكم هذا مبارك

هذه طريقة ثالثة لتمرير البارامتر عبر الكود

غير الطريقتين الرائعتين السابقتين

و الحل بسيط جدا جدا

بدلا من أن يكون المعيار فى الاستعلام

[forms]![frmEdite]![TelID]

سيكون

Eval("[forms]![frmEdite]![TelID]")

بإضافة

eval

و يعمل بكفاءة

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

مرفق الملف الأصلى قبل التعديل

باستخدام eval فقط

 

باستخدام eval.rar

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

32 دقائق مضت, عبد الفتاح كيرة said:

موضوعكم هذا مبارك

Eval("[forms]![frmEdite]![TelID]")

باستخدام eval فقط

 

بل انت رجل مبارك

لم تطرح  سؤالا الا وخرجت لنا بفائدة جليلة

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

58 دقائق مضت, عبد الفتاح كيرة said:

موضوعكم هذا مبارك

هذه طريقة ثالثة لتمرير البارامتر عبر الكود

غير الطريقتين الرائعتين السابقتين

و الحل بسيط جدا جدا

بدلا من أن يكون المعيار فى الاستعلام

[forms]![frmEdite]![TelID]

سيكون

Eval("[forms]![frmEdite]![TelID]")

بإضافة

eval

و يعمل بكفاءة

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

مرفق الملف الأصلى قبل التعديل

باستخدام eval فقط

 

باستخدام eval.rar

معليش استاذ عبدالفتاح لم اجد eval  هلا المرفق بالتطبيق

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

اهاه

اعطاني خطأ في المعيار بان الكمبايل مش قادر يتعرف على المعيار وضغطت موافق فاعطاني المعيار خالي

معناته عندي اكسس 2013 مش راضي يتعرف على المعيار 

ساحاول عمله يدوي واشوف 

جزيتم خيرا

1 ساعه مضت, عبد الفتاح كيرة said:

موضوعكم هذا مبارك

هذه طريقة ثالثة لتمرير البارامتر عبر الكود

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

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

تحياتي

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

نعم

الملف يعمل تمام

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

أبلغنا بالنتائج

لقد قمت باستحدام val

عمليا فى ملف أعمل عليه

لعل eval  ألغيت فى 2013

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

1 ساعه مضت, عبد الفتاح كيرة said:

لقد قمت باستحدام val

معليش استاذ عبدالفتاح .. هل تقصد eval هنا ؟ ومعليش يمكن طفشتك بس عايز اوصل لحاجه معينه .

  • 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