للرفع
كيفية إخراج البيانات من الاكسس بصورة منظمة الي الوورد
سانزل الملف
ماذا تقصد ب 70% ، ماذا يحدث ؟؟
تم تعديل الكود لعمل لوب علي السحلات فى الجدول
و لكن بهذه الطريقة اذا كنت تريد النتيجة فى جدول
ما يخطر ببالي حاليا هو عمل اشارة مرجعية bookmark لكل خلية فى الجدول
بحسب الحد الاقصي الممكن
و قد طبقت فى الملف المرفق علي سجلان
هذا ما يخطر ببالي حاليا ، و بالتأكيد هناك حلول افضل
بارك الله فيك
سانظر للمثال
اتمنى نحد حل افضل لنستفيد من هذا الكود
استاذ / محمد
التعديل جميل
ولكن اخي ما اريده ان يكون مرتبط بالنموذج الفرعي والذي مصدره الاستعلام
ولكن عندما اضفت شخص له دوره واحده فقط يضعها في الجدول ويضيف دورة اخرى من الشخص الاخر اعتقد عندما تشاهد المرفقات ستجد المشكله
( مااريده ان يضع عدد الدورات للشخص الواحد في الجدول فاذا كانت واحده او اكثر )
بارك الله فيك
اذا اجعل المصدر هو استعلام مرتبط بشرط مع النموذج أي أن الاستعلام لا يظهر الا الشخص الموجود فى الفورم
جرب و أخبرني
فان لم يكن هذا حلا
فيمكننا اضافة الشرط فى الكود
لم ينفع ان اجعل الاستعلام مربوط بشرط
ياليت نعدل في الكود بدل ما يأخذ المعلومات من الاستعلام يأخذها من النموذج الفرعي وهي تقريبا زبطت معاي بس المشكلة ما يأخذ الا السجل الاول ويكرره بعدد السجلات
اخي بارك الله فيك على وقوفك بجانبي
واتمنى ان تكمل معي حل هذا الكود للوصول الى حل
الله يرزقك من واسع فضله
سأحاول تعديل المثال و وضعه قريبا إن شاء الله
وفقك الله
ورزقك من نعيمه
أعتقد أن هذا الحل أفضل
أرجو تجربته
يوجد اشارة مرجعية و احدة و يبدأ التحرك منها لعدد غير محدد
باستخدام ال Tab فى الوورد
Public Function CreateWordMemo() ' Open a memo in Word and insert text - used by menu command. Dim rstEmployees As New ADODB.Recordset Dim appWord As New Word.Application Dim intPages As Integer, strMessage As String ' Open a recordset based on the EmployeesWithOpenIssues query. rstEmployees.Open "coruser", _ CurrentProject.Connection, adOpenKeyset, adLockOptimistic ' If no one has open issues, display a message and exit. If rstEmployees.RecordCount = 0 Then Exit Function End If ' Open a document based on the memo template, turn off spell check, ' move to the MemoToLine bookmark, and then display Word. With appWord .Documents.Add "C:reptcourse.dot" .ActiveDocument.ShowSpellingErrors = False .Selection.GoTo wdGoToBookmark, name:="name" appWord.Selection.TypeText [Forms]![main]![name] .Selection.GoTo wdGoToBookmark, name:="num" appWord.Selection.TypeText [Forms]![main]![workno] .Selection.GoTo wdGoToBookmark, name:="course" Dim j As Integer For j = 1 To rstEmployees.RecordCount If rstEmployees!workno = [Forms]![main]![workno] Then appWord.Selection.TypeText rstEmployees!coruse & " " appWord.Selection.MoveRight Unit:=wdCell appWord.Selection.TypeText rstEmployees!datestar & " " appWord.Selection.MoveRight Unit:=wdCell appWord.Selection.TypeText rstEmployees!dateend & " " appWord.Selection.MoveRight Unit:=wdCell appWord.Selection.TypeText rstEmployees![ãÏÉ ÇáÏæÑÉ] & " " appWord.Selection.MoveRight Unit:=wdCell End If ' Loop through the recordset returned by the query, inserting ' the name of each employee into the document. rstEmployees.MoveNext Next .Visible = True End With ' Return to Access. ' Get the number of pages in the memo, ask the user whether ' to print it, and then tell Word to print it. intPages = appWord.Selection.Information(wdNumberOfPagesInDocument) End Function
بيض الله وجهك
ميه ميه
الف شكرا استاذنا الفاضل
الف شكرا استاذ محمد
ادري اني خثيتك بس اذاممكن طلب اخير الله يوفقك
لو بغيت اسوي شهادة تقدير كملف في ورد كالسابق في اشارة مرجعية للاسم
وعندي في استعلام الدورات خمس اشخاص ابغى اعطيهم شهادات تقدير
حيرسل الاسم الى الاشارة المرجعية
ابغ في الكود بعد كذا يعمل دبلكيت للصفحة ويرسل الاسم الاخر وهكذا
يعنى اذا في الاستعلام اسم واحد يكتفي بالصفحة التي سوف تفتح
واذا كان اسمين يعمل دبليت مره واحده
واذا كانوا عشرة يعمل دبلكيت عشر مرات وهكذا
انظر المثال المرفق
اعيد ما اريد ان اطبع الشهادات لكل الموجودين في استعلام كورس
مره واحده
للرفع
للرفع
وفقك الله ورزقك من واسع فضله ونعيمه
سوف اطلع على التعديل وكلي درايه انك اجدت
وفقك الله ورزقك من واسع فضله ونعيمه
خجلتنا بطيبك وكرمك
اخي العزيز لو تلاحظ ان كل شخص موجود في الاستعلام يفتح له مستند
فلو افترضنا ان عندنا 50 شخص حنلزم بطباعة كل مستند على حده
ما كنت اريده ان تضاف في نفس المستند
يعني كل اسم في صفحة في نفس المستند
وذلك لطباعته بأمر واحد
اعذرني فقد اشغلتك
سؤالين اختياريين ( اذا يسمح وقتك )
1- هل ممكن ان اجعل مستند الورد يضهر في النموذج ويظهر عليه التعديل
ويتم طباعته من نفس النموذج ؟
2- هل ممكن ان تطبع مستندات وورد بزر أمر من نفس النموذج بدون فتح وورد
( يعني اضغط على الزر تضاف البيانات وتطبع بدون فتح برنامج وورد
او فتح برنامج وورد ويكون مخفي وتطبع ويتم اغلاقه نلقائيا بعد الطباعة )
وفقك الله
اللهم انصر اخواننا المسلمين في العراق وفلسطين
اللهم ثبت اقدامهم وانصرهم على الظالمين
اللهم وحد صفوفهم واعل كلمتهم يارب العالمين
( لا تنسوا اخواننا في العراق وفلسطين )
للرفع
للرفع
أخي العزيز
الاجابة علي أسئلتك ليست جاهزة فى ذهني
و انما علي أن أجرب قبل ان أستطيع الاجابة
و لكن الاضافات الاخيرة تبدو لي مبدئيا أنه من الاسهل التهامل معها من خلال
الدمج البريدي ( راجع اول رد لي فى هذا الموضوع ) ، فهو مطابق لما تريد
و لكن الفرق أنك تستدعي بيانات الاكسس من الوورد و ليس العكس
ما اريده ان يكون عمل سريع يعني مثلا اطبع 50 شهادة تقدير باامر واحد
( اخي العزيز لو تلاحظ ان كل شخص موجود في الاستعلام يفتح له مستند
فلو افترضنا ان عندنا 50 شخص حنلزم بطباعة كل مستند على حده
ما كنت اريده ان تضاف في نفس المستند
يعني كل اسم في صفحة في نفس المستند
وذلك لطباعته بأمر واحد )
عندي زر امر يفتح مستند في وورد ويطبع ويغلق بعد الطباعة
المشكلة يعطيني رسالة
هل تريد حفظ التغييرات ؟
ما اريده ان يغلق تلقائيا بدون حفظ
علما ان كود الاغلاق هو
appWord.Application.Quit
للرفع
اللهم انصر اخواننا في العراق وفلسطين
اللهم وحد صفوفهم واجمع كلمتهم
Application.Quit _ SaveChanges:=wdSaveChanges, OriginalFormat:=wdWordDocument
SaveChanges لها ثلث خيارات
wdDoNotSaveChanges لعدم الحفظ
wdPromptToSaveChanges للسؤال
wdSaveChanges للحفظ ( كما فى الجملة أعلاه )
يبدو أنك قدد وصلت بذلك الي ما تريد
أم ليس بعد
اذا كان ، فنرجو وضع المثال ليستفيد منه الجميع
و ان لم يكن فأخبرنا لنكمل المحاولة
بأذن الله عند الانتهاء سأضع المثال
وتقريبا انتهينا
لم يبقى سؤال
(فلو افترضنا ان عندنا 50 شخص حنلزم بطباعة كل مستند على حده
ما كنت اريده ان تضاف في نفس المستند
يعني كل اسم في صفحة في نفس المستند
وذلك لطباعته بأمر واحد )
وهل يمكن عرض مستند الورد في النموذج وتظهر عليه التغييرات
هذا الموضوع مغلق.
