السلام عليكم
اسمي عيد الخلف عضو جديد في المنتدى
أود منكم مساعدتي في هذه المسألة
كيف أقوم بطباعة الDBGRID مباشرة دون الإستعانة بالQREPORT
إن كان هناك مكون أرجو إرساله لي مع شرح عن كيفية استخدامه أو إن كان هناك كود يلبي هذه الحاجة
و لكم جزيل الشكر
السلام عليكم
اسمي عيد الخلف عضو جديد في المنتدى
أود منكم مساعدتي في هذه المسألة
كيف أقوم بطباعة الDBGRID مباشرة دون الإستعانة بالQREPORT
إن كان هناك مكون أرجو إرساله لي مع شرح عن كيفية استخدامه أو إن كان هناك كود يلبي هذه الحاجة
و لكم جزيل الشكر
السلام عليكم ورحمة الله وبركاته
مرحبا بك أخي في منتداك
يمكنك فعل ذلك بنفسك، إقرء
Formatting and Printing Output for the Printer
أو يمكنك تجربة المكون المرفق و يحتوي مثال
ويوجد مكونات غير مجانية أخرى
وإن واجهتك مشاكل لا تتردد
شكرا على المساعدة ولكن حاولت تطبيق المثال الموجود مع المكون و لكن ظهرت لي مشكلة أنه يعطيني رسالة خطأ وصول إلى الذاكرة و يعطي صفحة فارغة
فياليت لو يكون في شي مثال عملي يعني على dbgrid موجودة
و لكم مني جزيل الشكر
شكرا جزيلا على الإهتمام
و أنا ناطر الرد
ولكم مني جزيل الشكر
السلام عليكم
للأسف الجهز الذي أعمل به الأن به Delphi 5 Pro
أي لا يوجد به مكونات ADO
لكن أرفقت لك مثال بسيط بلإستخدام Table
والملف PDF المرفق هو نتيجة الطباعة
لأظن سبب ظهور الخطاء هو نسيان شيئ ما
الأمر سهل،
بعد تثبيت المكون المرفق في مشاركتي الأولي
فقط ضعه في Form برنامجك،
وإكتب:
PrintGrid1.DBGrid := DBGrid1; PrintGrid1.Print;
السلام عليكم
شكرا أخي الفاضل
المثال قمت بتجربته و نجح بالفعل و لكن يبدو أن المشكلة هي باستخدام الADO
و هذا سبب لي مشكلة و هي أنن سأضطر لإعادة بناء قاعدة البيانات من جديد
هل يمكن بناء اتصال مع قاعدة بيانات من نوع Access باستخدام الBDE
أرجو شرح الطريقة إن أمكن
و لكم مني جزيل الشكر
اخي الكريم انا شخصيا افضل استخدام Ado مع قواعد البيانات التي من عمل Microsoft مثل الاكسس و السيكول سيرفر
فهي تعمل معها بأداء افضل و بتوافقية اعلى
لا يمكن الاتصال مع Access عن طريق ال BDE و ذلك حسب قول Borland
اقتباسQuestion:Why can’t I connect to an Access database using the BDE and native MSACCESS driver?
Answer:
Access 2000:
You cannot connect to an Access 2000 database using the BDE’s native MSACCESS driver. It is recommended that you upgrade to Delphi 5 and use ADO. You could also connect using the BDE with ODBC.
Access 95 or 97:
You may get the message "BDE error 13059" and "General SQL error". If you are trying to connect to Access 95 or 97 databases using the BDE’s native MSACCESS driver, then you need to have DAO 3.0 installed for Access 95 or DAO 3.5 for Access 97 (DAO = Data Access Objects for Visual Basic). You can install the DAO by doing a custom installation of MS Office and selecting only to install Data Access Objects for Visual Basic. You must also have the correct DLL32 setting in the BDE Administrator for the DAO you have installed: IDDA3532.DLL for Access 97, IDDAO32.DLL for Access 95.
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
أخوتي الأعزاء قمت بربط قاعدة البيانات بواسطة الbde و باستخدام odbc و لكن المشكلة التي ظهرت لدي أنه و في حال كان الجدول يحتوي على أكثر من 10 حقول لا يقوم بطباعته و إنما يعطي رسالة خطأ
هذا من ناحية
من الناحية الثانية كيف أقوم بعمل preview للتقرير قبل طباعته
و لكم مني جزيل الشكر
لا ادري ما هو الخطأ و لكن انصحك باستعمال Ado فهي متوافقة 100 % مع قاعدة البيانات Access
بالنسبة لمعاينة التقرير
ما هو برنامج التقارير الذي تستخدمه
Quick Report, Report Builder, quick Report, Rave report
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
اقتباسما هو برنامج التقارير الذي تستخدمه
Fast Report
لا يستخحم أي برامج
طلب كيفية طبع DBgrid بدون إستخدام Quick Report
لم يقل أبحث عن بديل لبرنامج QuickReport!
أخي عيد الخلف لما لم توضح من البداية أنك تريد PreView و تعمل بقاعدة بيانات Access...
هناك من المكونات غير المجانية ما يلبي حاجتك
http://www.tmssoftware.com/tmspackt1.htm
http://www.greatis.com/delphicb/printsuite/
http://www.grebarsys.com/html/printdat_features.html
http://www.objectsight.com/TopGridOverview.htm
وغيرها
http://www.torry.net/pages.php?id=511
عذرا اخي دلتا لم انتبه الى الموضوع من بدايته
يعني يا اخي عيد من البداية قل تريد طباعة تقرير و ليس طباعة DbGraid فالامر مختلف
يعني الاخ دلتا شو بعرفوا انك بدك تطبع تقرير :blink: :blink:
لطباعة تقرير او استعراضه يمكنك استخدام احد برامج التقارير فهي تعطيك كل الامكانيات
في التصميم و المعاينة
هناك العديد من البرامج التي تساعد في كتابة التقارير يجب عليك اختيار احداها
ما هي نسخة دلفي التي تعمل عليها؟
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
السلام عليكم
يبدو انني لم أوضح الفكرة لكم بالشكل المطلوب
أنا أريد أن أطبع Dbgrid و لكن أيضأ أتمكن من استعراضه و معاينته قبل الطباعة و التحكم بمظهره
أنا أستخدم دلفي 6
و قد حاولت استخدام الqreport و لكن لم ينجح الأمر
فأرجوالإفادة إن أمكن
أخوتي الأعزاء أرجو ألا أكون قد أزعجتكم و لكن أرجو إفادتي في كيفية بناء تقرير باستخدام الQreport الموجود مع دلفي 6
و لكم مني جزيل الشكر
كيف يمكن نقل عناصر الStringGrid إلى جدول في قاعدة البيانات
اخي الكريم لا يمكنك استعراض Dbgraid هكذا يجب عليك الاعتماد على برنامج Report لعمل ذلك
بالنسبة لل Quick Report
في اخر المشاركة التالية هناك ملف يشرح ال Quick Report
من هنا
و هذا ايضا قد يساعدك كثير من هنا
اذا لم تستفد من الروابط سوف اقوم بشرحه او اعطاءك برنامج اخر اسهل في التعامل منه
بالنسبة ل
اقتباسكيف يمكن نقل عناصر الStringGrid إلى جدول في قاعدة البيانات
لماذ تريد ان تفعل هذا هل لأن هناك نقص ما في DBGraid؟
على كل
يمكنك ذلك ببساطة بعمل اجرائية تقوم بأخذ مثل Stringgraid,table مثلا لتقوم هذه الاجرائية بتعبئة القيم
الموجودة
سوف اضع لك مثال في ما بعد و لكن هل مازلت تستخدم BDE؟
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
السلام عليكم
نعم قمت بربط قاعدة البيانات باستخدام الBDE و ضبطت الأمور
أنا ما أود القيام به هو نقل ملفات إكسل إلى قاعدة البيانات
قمت بنقل محتويات ملف الإكسل إلى الStringGrid و بقي أن أنقل محتويات الStringGrid إلى الجدول
و شكرا لكم
سأعطيك طريقة افضل و اسهل بكثير من StringGraid
قم بوضع Adotable من صفحة Ado ثم قم بالضغط على خاصية ConnectioString
ثم اختر Build ثم في صفحة Provider قم باختيار Microsoft.Jet.OLEDB.4.0 ثم في صفحة Connection
قم بتحديد ملف الاكسل ثم من صفحة All قم باختيار Extended Properties ثم حررها و اكتب
Excel 8.0
ثم قم من الخاصية TableName لل Adotable بوضع اسم الصفحة التي تريد الاستيراد منها
هكذا اصبح هناك ربط عن طريق ال AdoTable مع ملف الاكسل
ثم قم بالنقر مرتين على Adotable ثم اختر زر يميني ثم Addallfields
يجب الان نقل البيانات من Adotable الى Table سوف اعطيك القالب و انت فصل حسب ما تريد
adotable.active:= true; while not adotable.eof do begin table1.insert; table1Name.value:= adotableName.value; //قم بوضع بقية الحقول التي ترغب بها table1.post; adotable.next end;
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
السلام عليكم
قمت بالعملية و كما وصفتها لي و لكن عند إدخال اسم الجدول تظهر لي الرسالة التالية external table is not in the expected format
مع العلم أني أستخدم Office 2003
لا ادري ما المشكلة حاول اولا ان تربط مع ملف Excel جديد قم بوضع بعض الحقول به فاذا نجحت في ذلك يكون هناك مشكلة ما في تنسيق
ملف ال Excel الذي تستعمله
لحل المشكلة مع ملف Excel تبعك اذا كان هناك مشكلة
قم بفتح الملف ببرنامج Excel ثم قم باختيار Insert ثم Name ثم Define ثم قم بوضع المجال الذي تريد ان تتعامل معه
و ذلك لأن Excel ليس قاعدة بيانات و انما SperadSheet ذلك يجب عليك تعريف المجال الذي تريد ان تتعامل معه في بعض الاحيان
اذا ما مشي الحال قم بارفاق نسخة من الملف و سوف انطر ما المشكلة
رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.
لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"
هذا الموضوع مغلق.