الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تنسيق تقرير أكسيس مثل تنسيق ملف وورد

بدأه khaledhelmy في 9 سبتمبر 2013 · 9 رد · 3,222 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخوانى أرفقت ملفين واحد أكسيس والثانى وورد

يوجد فورم فى الأكسيس  عند فتحها يوجد بها زر طباعة عقد وعند الضغط على هذا الزر يظهر تقرير ولكن غير منسق

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

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

بحيث يكون تقرير الأكسيس صورة طبق الأصل من ملف الوورد

أرجو من حضراتكم المساعدة ضرورى

New Folder.rar

#2

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

بالتوفيق

#3

ممكن أعرف إزاى

أرجو الشرح

#4

اخي الكريم

يمكنك انشاء جدول وتضع به البيانات المتغيرة لكل شخص ومن ثم انشاء تقرير مصدره الجدول وتنشئ مربعات تسمية في الجدول وتكتب فيها البنود الثابتة بالعقد اما بالنسبة للبنود المتغيرة تجعل التقرير ياخذها من الجدول وظبطها مثل العقد المكتوب بالوورد وبالنسبة لتظبيط الهوامش فصعبه شويا حكاية تظبيط الكتابة مثل الوورد ولكن حاول اختار نوع الخط المناسب لضبط الزوايا وستجده ان شاء الله

بالتوفيق

اخوك ----------- محمود المصري

(اللَّهُمَّ أَنْتَ رَبِّي لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ أَبوءُ لَكَ بِنِعْمتِكَ علَيَ وأَبُوءُ بذَنْبي فَاغْفِرْ لي فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ)

اذا كانت المشاركة مفيدة لك فلا تبخل علينا بالتقييم

post-274914-0-91580400-1378113578.jpg
#5

اخي خالد

 

اتمنى انك تستطيع ان تقرأ هذا الرابط لأحد المنتديات الاجنبية:

http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_22516294.html#18930694

 

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

بهذه الطريقة ، الاكسس يعبئ ملف اللورد بالبيانات في مكانها الصحيح في ملف الوورد ، ثم تحفظ الملف باسم آخر ، وهكذا.

 

الطريقة الاخرى هي ان تضبط الخانات في ملف الوورد ، وتزيل الاصفار ، وتوسع الخانات ، و,,,,,

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

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

 

ميزة الطريقة الاولى ان ملف الوورد سيكون مطاطي ، اي ان المسافات تتمدد وتنقمش حسب طول الكلمات التي ترسلها من اكسس ،

ولأن العمل على الوورد ، فقد يكون اسهل لك اعمل عليه ، مع ان عملية Bookmark متعبة شويه :(

 

جعفر

#6

وهاي الطريقة ، بالانجليزي ، نسختها من الموقع

 

Word:
In Word, while your document is open,
place the cursor on the place/field where you want to write/type data,
go to menu bar > Insert > Bookmark, give that place a name (will call 1 of them Address), press the Add button,
Do the same with all the fields (in other words, Bookmark all the locations/fields).

Make sure when you do that, that all the fields where the cursor is located, have the field charactristics
correctly set (Font type, size, alignment, bold, ..etc..).
Next, setup the page correctly, like printer setting, paper size, ...etc...
Now save the document as DocName.dot

The above is the key to it all, the rest is done from
Access.

Access:
'Make Reference to Microsoft Word XX object Library
'Declare the follwing
Dim objWord As Word.Application

'Set word as an application and make it invisible
Set objWord = CreateObject("Word.Application")
objWord.Visible = False 'True is visible


'load template
With objWord
.Documents.Add ("C:\DocName.dot")

'Move to each bookmark and insert text from the form.
.ActiveDocument.Bookmarks("Address").Select
.Selection.Text = Forms![Fill_Save_Print_Email]![myAddress]
.ActiveDocument.Bookmarks("Location").Select
.Selection.Text = Forms![Fill_Save_Print_Email]![myLocation]

'save document the New Merged Document
objWord.ActiveDocument.SaveAs ("C:\MyNewDocument.doc")

End With

'print the Document
objWord.PrintOut

'pause 5 seconds untill the document is printed
PauseTime = 5 ' Set duration.
Start = Timer ' Set start time.
Do While Timer < Start + PauseTime
DoEvents ' Yield to other processes.
Loop


objWord.Quit
'release word
' objWord.Visible = True
Set objWord = Nothing

 

جعفر

#7

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

بس ممكن شرح عملى على الملف المرفق ويا ريت لو ينفع شرح بالصور

وأسف لتعبكم معايا

#8

جزاكم الله كل خير لقد تم التطبيق بنجاح

بارك الله فيكم وجعله الله فى ميزان حسناتكم

#9

عفوا ، بس طبقت اي طريقة ، ياريت نعرف ، وياريت تخبرنا هل ان النتيجة كانت مثل ما توقعت؟

 

شكرا

 

جعفر

تم تعديل هذه المشاركة بواسطة jjafferr في 10 سبتمبر 2013 في 18:09

#10

أخى العزيز جعفر

أولا شكراً لإهتمامك ومتابعتك للموضوع

ثانياً لقد قمت بتطبيق الطريقة الثانية التى قام الأخ محمود بإرشادنا لها ولكن مع الإختلاف اننى لم أستخدم الجداول لأننى عند التطبيق جاءتنى فكرة أخرى وهى كتابة كل سطر داخل ليبل و إخلاء مساحة داخل الليبل للداتا المتغيرة وقمت بإعداد الليبلات تحت بعضها من ناحية اليمين حتى أقوم بظبط الهامش الأيمن أما الهامش الأيسر فهو يعتمد على إمداد حرف فى كلمة أو إنقاص مساحة كلمة حتى يكون الكلام فى الهامش الأيسر مساوياً وتحت بعضه

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…