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

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

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

السلام عليكم

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

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

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

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

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

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

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

هاكم الكود

'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