m.hindawi قام بنشر فبراير 26, 2005 قام بنشر فبراير 26, 2005 (معدل) الاخوة الكرام ا لسلام عليكم ورحمة الله وبركاته لدينا ملف DBF هل يمكن انشاء استعلام من الاكسل يقوم باستيراد سجل واحد فقط تحدده حسب رقم تسلسلي معين دون اقوم باستيراد الملف الى صفحة الاكسل لان حجمه كبير جدا على فكرة الموضوع موجود بمنتدى الاكسل العام على الرابط التالي http://www.officena.net/ib/index.php?showt...t=0entry29932 ارجو المساعدة تم تعديل فبراير 26, 2005 بواسطه m.hindawi
m.hindawi قام بنشر فبراير 26, 2005 الكاتب قام بنشر فبراير 26, 2005 (معدل) http://www.officena.net/ib/index.php?showtopic=5950 لقد ارفقت ملف لتوضيح الامر وهو على الرابط اعلاه وشكرا لكم تم تعديل فبراير 26, 2005 بواسطه m.hindawi
محمد حجازي قام بنشر فبراير 27, 2005 قام بنشر فبراير 27, 2005 السلام عليكم ... ربما لم يستطع الأخ m.hindawi إيصال المعلومة بشكل صحيح ، لذلك سأشرح الموضوع بالتفصيل : الأخ m.hindawi يريد أن يستورد إلى الاكسل سجل معين من قاعدة بيانات وذلك عن طريق مايكرو معين ، وقد كتبت الكود التالي لحل مشكلته: Sub DAO1() Dim DB As Database Dim RS As Recordset Dim NumberRecorder As String Dim SQL As String Dim EndRow As Long Dim MyPath As String NumberRecorder = Application.InputBox(prompt:="أدخل رقم السجل", Title:="رقم السجل", Type:=2) If NumberRecorder = "False" Or NumberRecorder = "" Then Exit Sub MyPath = Workbooks("Labour.xls").Path & "\mh1.mdb" SQL = "SELECT * FROM PM3 WHERE PNO=" & NumberRecorder & ";" Set DB = OpenDatabase(MyPath, ReadOnly) Set RS = DB.OpenRecordset(SQL) EndRow = Sheets(1).Range("A1").CurrentRegion.Rows.Count Sheets(1).Cells(EndRow + 1, 1).CopyFromRecordset RS RS.Close DB.Close End Sub المايكرو السابق يعتمد على أدوات الإقحام DAO ، وDAO هي مجموعة من الأساليب الخاصة بالتعامل مع مصادر البيانات الخارجية (استيراد،إضافة،حذف،تغيير،...،الخ). المهم بالأمر أنه لاستيراد سجل معين يلزمنا وضع استعلام الـ SQL الذي سيتم على أساسه الاستيراد (أي أن الاستيراد سيتم لنواتج الاستعلام). لاحظ أنني في الكود السابق أسندت استعلام الـ SQL التالي في المتغير SQL: SELECT * FROM PM3 WHERE PNO='---رقم السجل---'; ولاحظ أنني مررت رقم السجل المكتوب في الحقل PNO إلى الاستعلام عن طريق المتغير NumberRecorder . الكود السابق كان مجهز في حالة كون السجل PNO يحتوي على أرقام فقط وأن كل رقم لا يمكن تكراره أكثر من مرة (أي باختصار يجب أن يكون الحقل PNO هو حقل ترقيم تلقائي) ، ولكن الأخ m.hindawi أخبرني بما يلي: اما في الملف الموجود عندي فان التسلسل يتم وفقا لأرقام متسلسلة مختلفة عن التسلسل العادي حيث أن العمود الأول يحتوي على أرقام أصناف يتكون رقم الصنف من عشر خانات ويكون التسلسل في الخمسة الأولى أما الخمسة الأخرى فتكون مختلفة مثال لدي الرقم AJ1090A005 والرقم A0101H862G وهكذا حتى نهاية الملف و بما أنني في بداياتي مع الـ SQL وخبرتي في كتابة جمله ضعيفة جداً ، لذلك فقد نصحته بطرح التساؤل في منتدى الاكسس العام . المطلوب الآن هو : كتابة استعلام SQL لحل المشكلة السابقة ، وذلك حتى نستطيع تغيير الاستعلام القديم (الموجود في الكود) إلى الاستعلام الذي يستطيع تحديد السجل صاحب الشيفرة المعينة. أي إذا أدخل الشخص الشيفرة AJ1090A005 فإن الاستعلام يقوم بفرز البيانات ويظهر السجل صاحب هذه الشيفرة في الحقل PNO. وهنا يجب أن أنبه إلى أن الأسلوب CopyFromRecordset يقوم باستيراد جميع السجلات الناتجة عن الاستعلام (وليس سجل واحد) ، لذلك فيجب الانتباه إلى ضرورة كون ناتج الاستعلام عبارة عن سجل واحد فقط . مرفق بالملف المطلوب تعديله: mh1.zip
الدكتور خضر الرجبي قام بنشر فبراير 27, 2005 قام بنشر فبراير 27, 2005 السلام عليكم اخي محمد حجازي ، بارك الله فيك وإن كان سيستخدم الحروف بالطريقة التي أشرت إليها أعلاه فالأمر غاية في البساطة حينها يكون التغيير في الكود هكذا SQL = "SELECT * FROM PM3 WHERE Mid(PNO,2,4) ='" & NumberRecorder & "';" مع الاحترام
محمد حجازي قام بنشر فبراير 27, 2005 قام بنشر فبراير 27, 2005 السلام عليكم ... أخ خضر الرجيبي ، لاحظ أنه عند تطبيق الجملة التالية: SELECT * FROM PM3 WHERE Mid(PNO,3,5)='10125'; نحصل على السجلات التي تحتوي على الشفرات AM10125A25 و A010125M2E في الحقل PNO ، بينما لا يظهر السجل صاحب الشفرة BLU10125KITS أبداً . تحياتي
الدكتور خضر الرجبي قام بنشر فبراير 27, 2005 قام بنشر فبراير 27, 2005 السلام عليكم أخي محمد حجازي ، بارك الله فيك كل الامور المتعلقة بكيفية إدخال الرقم ، ستكون معالجتها سهلة جدا وحتى التي في التعقيب السابق ، ولكن يجب أن تطرح جميع الامور معا حتى يكون العمل متكاملاً فأرجو التفاهم بينك وبين صاحب السؤال وبعدها ، سيكون لكما كل ما تطلبان إن شاء الله. مع الاحترام
m.hindawi قام بنشر فبراير 27, 2005 الكاتب قام بنشر فبراير 27, 2005 (معدل) السلام عليكم ورحمة الله وبركاته اخي خضر واخي محمد اشكر لكما جهودكما في هذا الموضوع لقد حملت الملف المرفق وهو تماما كما اردته اسف على شرحي الغير وافي لما هو مطلوب الموضوع جديد بالنسبة لربط الاكسل بملفات ال DBF وانا لم اتمكن من ربطها لمدة عشرون يوما وانا احاول على هذا الملف وكانت النتيجة ممتازة على يديكما الكود رائع جدا وهو يسهل عملية استيراد سطر واحد دون الحاجة الى استيراد الملف كاملا مما يعطي سرعة في التعامل مع ال DBF خصوصا اذا علمت ان حجم الملف حوالي 6 ميجا بايت قبل استيراده الى الاكسل وبعد استيراده يصبح حجم ملف الاكسل 13 ميجا بيات لا حظ اني ارفقت جزء بسيط من الملف لاتمكن من تحميله الى الموقع سلمت يداكما وجزاكما الله عني كل الخير M.HINDAWI تم تعديل فبراير 27, 2005 بواسطه m.hindawi
محمد حجازي قام بنشر فبراير 27, 2005 قام بنشر فبراير 27, 2005 السلام عليكم ... شكراً لك أخي خضر الرجبي، وما دامت المشكلة قد حلت فإني أدعوك يا أخ خضر لإضافة المرفق في الموضوع الموجود في قسم الاكسل: http://www.officena.net/ib/index.php?showtopic=5883 وذلك حتى ننهي الموضوع ونستطيع نقله لقسم الخلاصات. بالتوفيق
الدكتور خضر الرجبي قام بنشر مارس 16, 2005 قام بنشر مارس 16, 2005 المواضيع المشابهة 1) 26/02/2005 ربط ملفات الDBF مع الاكسل 2) 22/01/2005 تحويل بيانات Excel إلى قاعدة بيانات Access 3) 02/12/2004 كيفية تحديث الربط بين الاكسس والاكسل 4) 23/09/2004 PowerPoint 2003 يربط مع الاكسس 5) 07/09/2004 نقل البيانات من اكسيل الى اكسس 6) 26/07/2004 استدعاء البيانات من الاكسيس الي الاكسيل 7) 24/06/2004 التحكم فى الاوتلوك 2003 من الاكسيس 2003 8) 14/04/2004 كيف ارفق ملف وورد داخل قاعدة البيانات 9) 29/03/2004 كيف الضبط الكلي في أكسيس كما في الوورد 10) 25/03/2004 ربط التاريخ في الآكسس بالوورد 11) 21/03/2004 مشكلة في تصدير التقرير إلى الوورد 12) 04/03/2004 كيفية عمل ربط مع ملف اكسيل/Textمتغير الاسم 13) 26/02/2004 كيف افتح ملف اكسل داخل الأكسس 14) 04/02/2004 هل يمكن ربط قاعده معمولة بالاكسس بخريطة طبيعية 15) 29/01/2004 "مثال" لإستيراد أوراق أكسيل إلى أكسيس 16) 12/01/2004 برنامج Access To MySQL
الردود الموصى بها