Foksh قام بنشر يناير 7 قام بنشر يناير 7 (معدل) السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) 📌 أقدم لكم اليوم فكرة قد تكون ليست بالجديدة ، ولكن بطريقة ونكهة مختلفتين ▫▪◽◾◻◼. "أداة مستورد السجلات الذكي من Excel" ، أداة مبتكرة تتيح لك استيراد البيانات من ملفات Excel إلى قواعد بيانات Access بكل مرونة وسرعة . يتميز هذا البرنامج أو الأداة بواجهة بسيطة وميزات قوية تجعل التعامل مع البيانات تجربة مريحة ، حتى للمستخدمين الذين ليست لديهم خبرة تقنية كبيرة في التعامل مع هذا النوع من المتطلبات . فالكثير من الأشخاص في منتدانا هنا سأل عن إمكانية استيراد بيانات من اكسل من حقل محدد أو بطرق محددة ( تناسب إحتياجاته ) ، ولهذا كانت الفكرة هذه تنفيذاً لمتطلباتهم .. 🎯 سنستعرض أهم ميزات هذا البرنامج وكيف يمكن أن يسهم في تحسين إنتاجيتك وتوفير وقتك . تابع القراءة لاكتشاف كيف يمكنك الاستفادة من هذا الحل الذكي لإدارة البيانات 😇 . ميزات برنامج مستورد السجلات الذكي من Excel 📂 التكامل مع Excel يمكن اختيار ملفات Excel بسهولة باستخدام نافذة اختيار الملفات . يدعم البرنامج ملفات بصيغة xls / xlsx . 📋 التعامل مع الأوراق والبيانات عرض جميع أوراق العمل (Sheets) الموجودة في ملف Excel المحدد . عرض أسماء الأعمدة في الورقة المحددة لتسهيل تحديد العمود المستهدف . 🚀 الاستيراد المرن للبيانات استيراد بيانات من عمود محدد في ملف Excel بناءً على اختيار المستخدم . تحديد الصفوف التي تبدأ منها عملية الاستيراد (لتجاوز رؤوس الأعمدة إن وجدت 👌 ) . 🗂️ الإدارة المتقدمة للبيانات داخل Access استيراد البيانات إلى جدول محدد داخل قاعدة البيانات الحالية . دعم لتحديد الحقول الهدف داخل الجدول . إمكانية تفعيل خاصية الترقيم التلقائي لإضافة قيم تسلسلية إلى الحقول المخصصة ( باستخدام الدالة DMAX ). ⚡ أداء عالي مع دفعات من البيانات تقسيم البيانات إلى دفعات عند استيراد كميات كبيرة لتجنب مشاكل الأداء . إدارة مرنة لعدد السجلات التي يتم استيرادها في كل دفعة . 🎨 واجهة مستخدم ديناميكية إظهار أو إخفاء المساعدة البصرية بضغطة زر . تحديث الكومبوبوكس بطريقة ديناميكيًا بناءً على اختيارات المستخدم . 🔒 إجراءات أمان واسترجاع دعم لاسترجاع البيانات عند حدوث خطأ أثناء عملية الاستيراد ( Rollback ) . التنبيه برسائل خطأ واضحة إذا لم يتم اختيار الملف أو إعداد الخيارات بشكل صحيح . 🧹 إدارة الموارد تنظيف جميع الموارد المفتوحة (ملفات Excel أو الاتصال بالبيانات) عند إغلاق النموذج . منع أي تأثير سلبي على النظام عند حدوث خطأ . ✨ سهولة الاستخدام تصميم بسيط يعرض التعليمات ويطلب إدخال البيانات الضرورية فقط . رسائل توجيهية للمستخدم لتحسين تجربة الاستخدام . ⚙️ المرونة في تخصيص الخيارات خيارات لتحديث السجلات الموجودة أو إضافة سجلات جديدة . دعم مجموعات البيانات المختلفة من خلال تحديد طريقة المعالجة . صورة واجهة الأداة .. الملف المرفق مفتوح المصدر .. 💢 Excel Importor.accdb 💢 **************************** ما الجديد في هذا للتحديث ؟ 📊 واجهة المستخدم (UI) : واجهة مستخدم تحتوي على أزرار وخيارات لتسهيل عملية استيراد البيانات من إكسل إلى أكسيس . 📂 يمكن للمستخدم اختيار ملف إكسل من خلال مربع حوار اختيار الملفات . يتم تحميل بيانات الملف المحدد وعرض أسماء الأوراق (Sheets) والأعمدة (Columns) في القوائم المنسدلة . 📥 يدعم الكود طريقتين لاستيراد البيانات : 🔢 استيراد عمود واحد ( الإصدار الأول ): حيث يتم استيراد بيانات عمود معين من إكسل إلى حقل محدد في جدول أكسيس. 🔢🔢 استيراد عدة أعمدة ( بناءً على طلب الأخوة ): حيث يتم استيراد بيانات عدة أعمدة من إكسل إلى عدة حقول في جدول أكسيس. 💥 يتم التحقق من صحة البيانات المحددة قبل بدء عملية الاستيراد . 🔢 إدارة الترقيم التلقائي : يدعم البرنامج إمكانية الترقيم التلقائي للحقول المحددة أثناء عملية الاستيراد . يمكن للمستخدم تفعيل أو تعطيل هذه الميزة وتحديد الحقل الذي سيتم الترقيم التلقائي عليه . ⚠️ إدارة الأخطاء : يتم التعامل مع الأخطاء المحتملة أثناء عملية الاستيراد ( مثل عدم وجود ملف إكسل محدد أو عدم تطابق الأعمدة ... إلخ ) . الملف المرفق مفتوح المصدر .. 💢 Excel Importor 2025.accdb1.07 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 20 downloads 💢 🔴 وجب علي التنويه إلى نقطة مهمة وهي :- قد يأتي أحد الأخوة لاختيار ملف يحتوي على ترويسة أو صورة في أول ملف الإكسل الذي اختاره ، ويقول لي أنه لم يظهر لي أي أسماء للأعمدة التي تحدثت عنها ( وأن الأداة لم تخدمه بشكل أو بآخر ) وهنا وأعتذر منه مسبقاً بأن هذا الخلل ليس في الأداة وإنما في ملف الآكسل . فأنا لا استطيع أن أجبرك على تصميم معين لملف الآكسل الذيتريد الإستيراد منه ، ولكني بنفس الوقت أقترح عليك أن تزيل هذه الإضافات والمعوقات كي تستفيد من الأداة بشكل ممتاز . تم تعديل الأربعاء at 10:01 بواسطه Moosak إضافة آخر التحديثات 7
Foksh قام بنشر يناير 7 الكاتب قام بنشر يناير 7 ⭐على سبيل المثال ، لدينا جدول اكسل يحتوي على عدد سجلات يتكون من أعمدة على سبيل المثال ( اسم الموظف ، رقم الموظق ، رقم الهاتف ، الجنسية ) وعدد السجلات = 50 صف مثلاً . وفي جدول اكسيس لدينا جدول الموظفين ونريد استيراد عدد سجلات محدد من نطاق محدد من ملف اكسل ومن عمود محدد ؛ لذا بعد اختيار ملف الاكسل سيتم :- أولاً جلب أسماء الأوراق التي يتكون منها الملف . ثانياً جلب أسماء الأعمدة التي تتكون منها الورقة التي تم اختيارها ( اسم الموظف ، رقم الموظق ، رقم الهاتف ، الجنسية ) . ونختار على سبيل المثال اسم الموظف . ثم نحدد رقم الصف الذي تبدأ به البيانات التي نريدها ، ولنفترض ان الخليه A1 تحتوي عناوين الأعمدة كما ذكرنا سابقاً ؛ وعليه فإن البيانات ستبدأ من الخلية A2 ( على العتبار ان اسم الموظف في العمود A ) في ملف اكسل . ثالثاً نحدد الجدول الذي نريد جلب واستيراد البيانات اليه ، ثم نحدد الحقل الهدف الذي سيتم نقل ابيانات اليه . رابعاً حدد عدد السجلات التي تريد جلبها ، ولنفترض أننا نريد جلب القيم الـ 5 من الخليه A2 - A6 . وإذا أردنا جلب جميع السجلات ( الـ 50 كما ذكرنا في مثالنا ) نترك القيمة في عدد السجلات المستوردة = 0 . خامساً نحدد نوع الحدث ( تحديث - إضافة ) . فماذا يعني تحديث أو إضافة ؟ تحديث : سيتم تحديث الحقل المستهدف من أول قيمة وحتى العدد المحدد في عدد السجلات المستوردة . وعليه فإن القيم السابقة للحقل سيتم استبدالها بالقيم الجديدة . إضافة : سيتم إضافة سجلات جديدة للجدول المستهدف بغض النظر عن السجلات السابقة ولن تتأثر البيانات القديمة عند الإضافة . الآن كنقطة مهمة يجب التنويه لها في هذا البرنامج ، وهي لنفترض انك استوردت عدد سجلات = 5 كما قلنا سابقاً من حقل اسم الموظف . وأردت استيراد عدد 10 سجلات من حقل رقم الهاتف ( نوع احركة تحديث ) هنا سيتم تحديث عدد السجلات الحالي في الجدول بالقيم الـ 5 الأولى ، ثم سيتم إضافة باقي القيم ( الـ 5 سجلات ) وكأنها سجلات جديدة . أي أنها حركة تحديث وحركة إضافة للقيم التي ليس لها سجلات . سادساً وهي نقطة الترقيم . اعتمدت في البرنامج على الدالة DMAX بالترقيم . بحيث يتم اضافة 1 الى أكبر قيمة في الجدول بعد تحديد حقل الترقيم ( رقم الموظف مثلاً ) . أما اذا كان لديك حقل ترقيم تلقائي في الجدول فلا يستلزم على المستخدم تفعيل هذه الميزة . سابعاً يجب على المستخدم الإلتزام بضرورة توخي الحذر عند اختيار الحقول بحيث ينتبه لنوع الحقل . فمثلاً لن يتم اضافة قيم نصية مثل اسم الموظف من اكسل الى حقل رقم الموظف ( حقل رقمي ). وهذه النقطة لا شك فيها !! هكذا أكون قد وضحت نواحي البرنامج وفكرته وآلية عمله . وإن كان هناك اي استفسار فيسعدني متابعة آرائكم . 3
AlwaZeeR قام بنشر يناير 7 قام بنشر يناير 7 السلام عليكم ورحمة الله وبركاته يعطيك العافية اخي الكريم على جهودك الرائعة ملاحظة من باب التطوير: * فرضا اريد استيراد عشرين عمود من خمسين، هل مطلوب مني ان اقوم بعمل عشرين خطوة كي استورد العشرين عمود؟ - حبذا لو يتم عمل تحديد للاعمدة المراد استيرادها دفعة واحدة لكان العمل اجمل كثيرا. :: تحياتي 1
Foksh قام بنشر يناير 7 الكاتب قام بنشر يناير 7 16 دقائق مضت, AlwaZeeR said: - حبذا لو يتم عمل تحديد للاعمدة المراد استيرادها دفعة واحدة لكان العمل اجمل كثيرا. يسعدني مروروك أخي الكريم أستاذنا @AlwaZeeR ، والعمل جاري على هذه النقطة ، ولا يهمك 😊 .
Moosak قام بنشر يناير 8 قام بنشر يناير 8 ما شاء الله عليك يا باش مهندس .. 🙂🌷 شعلة من النشاط والحماس .. 👍🏻😊 موضوع مهم والكثير محتاجينه 👌 2
Mohamed Khaled Galal قام بنشر يناير 8 قام بنشر يناير 8 اداه رائعه جدا وفكره مبدعه بارك الله فيك هل يمكن عمل تحديث بحيث يمكننا من اختيار اكثر من عمود من الاكسل ومن الاكسيس بدلا من تحديد عمود عمود 1
Foksh قام بنشر يناير 8 الكاتب قام بنشر يناير 8 31 دقائق مضت, Mohamed Khaled Galal said: اداه رائعه جدا وفكره مبدعه بارك الله فيك هل يمكن عمل تحديث بحيث يمكننا من اختيار اكثر من عمود من الاكسل ومن الاكسيس بدلا من تحديد عمود عمود جزاك الله خيرا اخي الكريم.. إن شاء الله جاري العمل على تطوير الأداة بشكل أوسع 😇 . 1
Foksh قام بنشر يناير 8 الكاتب قام بنشر يناير 8 8 ساعات مضت, Moosak said: ما شاء الله عليك يا باش مهندس .. 🙂🌷 شعلة من النشاط والحماس .. 👍🏻😊 موضوع مهم والكثير محتاجينه 👌 جزاكم الله كل الخير ، بعض ما عندكم مهندسنا الغالي
Foksh قام بنشر يناير 14 الكاتب قام بنشر يناير 14 (معدل) ما الجديد في هذا للتحديث ؟ 📊 واجهة المستخدم (UI) : واجهة مستخدم تحتوي على أزرار وخيارات لتسهيل عملية استيراد البيانات من إكسل إلى أكسيس . 📂 يمكن للمستخدم اختيار ملف إكسل من خلال مربع حوار اختيار الملفات . يتم تحميل بيانات الملف المحدد وعرض أسماء الأوراق (Sheets) والأعمدة (Columns) في القوائم المنسدلة . 📥 يدعم الكود طريقتين لاستيراد البيانات : 🔢 استيراد عمود واحد ( الإصدار الأول ): حيث يتم استيراد بيانات عمود معين من إكسل إلى حقل محدد في جدول أكسيس. 🔢🔢 استيراد عدة أعمدة ( بناءً على طلب الأخوة ): حيث يتم استيراد بيانات عدة أعمدة من إكسل إلى عدة حقول في جدول أكسيس. 💥 يتم التحقق من صحة البيانات المحددة قبل بدء عملية الاستيراد . 🔢 إدارة الترقيم التلقائي : يدعم البرنامج إمكانية الترقيم التلقائي للحقول المحددة أثناء عملية الاستيراد . يمكن للمستخدم تفعيل أو تعطيل هذه الميزة وتحديد الحقل الذي سيتم الترقيم التلقائي عليه . ⚠️ إدارة الأخطاء : يتم التعامل مع الأخطاء المحتملة أثناء عملية الاستيراد ( مثل عدم وجود ملف إكسل محدد أو عدم تطابق الأعمدة ... إلخ ) . الملف المرفق مفتوح المصدر .. 💢 Excel Importor 2025.accdb 💢 🔴 وجب علي التنويه إلى نقطة مهمة وهي :- قد يأتي أحد الأخوة لاختيار ملف يحتوي على ترويسة أو صورة في أول ملف الإكسل الذي اختاره ، ويقول لي أنه لم يظهر لي أي أسماء للأعمدة التي تحدثت عنها ( وأن الأداة لم تخدمه بشكل أو بآخر ) وهنا وأعتذر منه مسبقاً بأن هذا الخلل ليس في الأداة وإنما في ملف الآكسل . فأنا لا استطيع أن أجبرك على تصميم معين لملف الآكسل الذيتريد الإستيراد منه ، ولكني بنفس الوقت أقترح عليك أن تزيل هذه الإضافات والمعوقات كي تستفيد من الأداة بشكل ممتاز . تم تعديل يناير 14 بواسطه Foksh إضافة ملف التحديث الجديد
Moosak قام بنشر الأربعاء at 09:58 قام بنشر الأربعاء at 09:58 سلمت يمناك باش مهندس @Foksh 🙂🌷 كفيت ووفيت .. لله درك 😊👌 16 ساعات مضت, Foksh said: لم يظهر لي أي أسماء للأعمدة كمقترح لهذه النقطة : هل يمكن إظهار الأعمدة بأسمائها البرمجية ( A B C D E F ...) بدل الكلمة المكتوبة في الصف الأول .. 🙈
Foksh قام بنشر الأربعاء at 11:59 الكاتب قام بنشر الأربعاء at 11:59 1 ساعه مضت, Moosak said: كمقترح لهذه النقطة : هل يمكن إظهار الأعمدة بأسمائها البرمجية ( A B C D E F ...) بدل الكلمة المكتوبة في الصف الأول .. طبعاً نستطيع ذلك مهندسنا الغالي .. في الكومبوبوكس المخصص لاختيار الورقة ( Comb_Sheets و Comb_Sheet ) ,, ستلاحظ أن الكود بهذا الشكل :- في Comb_Sheets مثلاً .. Private Sub Comb_Sheets_AfterUpdate() On Error GoTo ErrorHandler Dim col As Long If IsNull(Me.Comb_Sheets) Or Me.Comb_Sheets = "" Then Exit Sub Set xlWorksheet = xlWorkbook.Sheets(Me.Comb_Sheets.Value) Me.Comb_Cells.RowSource = "" Me.Comb_Cells = "" For col = 1 To xlWorksheet.UsedRange.Columns.Count '---------------------------------------------- Me.Comb_Cells.AddItem xlWorksheet.Cells(1, col).Value '---------------------------------------------- Next col Exit Sub ErrorHandler: MsgBox "حدث خطأ: " & vbCrLf & Err.Description, vbCritical + vbMsgBoxRight, "" End Sub لاحظ السطر الموجود بين التعليقين . فقط سنستبدله بالسطر التالي :- Me.Comb_Cells.AddItem Split(xlWorksheet.Cells(1, col).Address, "$")(1) وكذلك الأمر بالنسبة للكومبوبوكس Comb_Sheet ، سيصبح التعديل بهذا الشكل .. Private Sub Comb_Sheet_AfterUpdate() On Error GoTo ErrorHandler Dim col As Long If IsNull(Me.Comb_Sheet) Then Exit Sub Set xlWorksheet = xlWorkbook.Sheets(Me.Comb_Sheet.Value) Me.Comb_Cell.RowSource = "" Me.Comb_Cell = "" For col = 1 To xlWorksheet.UsedRange.Columns.Count Me.Comb_Cell.AddItem Split(xlWorksheet.Cells(1, col).Address, "$")(1) '<<<<<<<<<< Next col Exit Sub ErrorHandler: MsgBox "حدث خطأ: " & vbCrLf & Err.Description, vbCritical + vbMsgBoxRight, "" End Sub أتمنى أن أكون قد وُفقت في الإجابة 1
Moosak قام بنشر الأربعاء at 15:02 قام بنشر الأربعاء at 15:02 3 ساعات مضت, Foksh said: أتمنى أن أكون قد وُفقت في الإجابة الله يبيض وجهك تظهر لي هذه عند الضغط على تنفيذ (لم يتم العثور على العمود B ) : وكتعديل على طريقة تحديد أسماء الأعمدة ، قمت بهذا التعديل الطفيف : والنتيجة ستكون حسب الإجابة على هذه الرسالة : وكذلك تم تعديل كود الكومبو الآخر أيضا 🙂 الأول: Private Sub Comb_Sheets_AfterUpdate() On Error GoTo ErrorHandler Dim col As Long If IsNull(Me.Comb_Sheets) Or Me.Comb_Sheets = "" Then Exit Sub Set xlWorksheet = xlWorkbook.Sheets(Me.Comb_Sheets.Value) Me.Comb_Cells.RowSource = "" Me.Comb_Cells = "" Dim HasColumnHead As Boolean HasColumnHead = True If MsgBox("هل الصف الأول هو عنوان الأعمدة؟", vbMsgBoxRight + vbYesNo, "") = vbNo Then HasColumnHead = False For col = 1 To xlWorksheet.UsedRange.Columns.Count If HasColumnHead = True Then ' To Fill Combobox with First row Names as column Name Me.Comb_Cells.AddItem xlWorksheet.Cells(1, col).Value Else ' Fill Combobox with column Names like A,B,C,....etc Me.Comb_Cells.AddItem Split(xlWorksheet.Cells(1, col).Address, "$")(1) End If Next col Exit Sub ErrorHandler: MsgBox "حدث خطأ: " & vbCrLf & Err.Description, vbCritical + vbMsgBoxRight, "" End Sub الثاني : Private Sub Comb_Sheet_AfterUpdate() On Error GoTo ErrorHandler Dim col As Long If IsNull(Me.Comb_Sheet) Then Exit Sub Set xlWorksheet = xlWorkbook.Sheets(Me.Comb_Sheet.Value) Me.Comb_Cell.RowSource = "" Me.Comb_Cell = "" Dim HasColumnHead As Boolean HasColumnHead = True If MsgBox("هل الصف الأول هو عنوان الأعمدة؟", vbMsgBoxRight + vbYesNo, "") = vbNo Then HasColumnHead = False For col = 1 To xlWorksheet.UsedRange.Columns.Count If HasColumnHead = True Then ' To Fill Combobox with First row Names as column Name Comb_Cell.AddItem xlWorksheet.Cells(1, col).Value Else ' Fill Combobox with column Names like A,B,C,....etc Me.Comb_Cell.AddItem Split(xlWorksheet.Cells(1, col).Address, "$")(1) End If Next col Exit Sub ErrorHandler: MsgBox "حدث خطأ: " & vbCrLf & Err.Description, vbCritical + vbMsgBoxRight, "" End Sub 1
Foksh قام بنشر الأربعاء at 17:24 الكاتب قام بنشر الأربعاء at 17:24 بناءً على طلب وملاحظة الأستاذ موسى ( مشكوراً )، تمت التعديلات الجديدة في النسخة التالية بحيث :- ♻ تظهر أسماء الأعمدة البرمجية والعناوين التي تخصها في الصف الأول كما في الصورة أدناه ( مثال ) .. ♻ الفكرة تم تطبيقها على الإستيراد المتعدد والغير متعدد أيضاً .. 💢 Excel Importor 2025.accdb 💢 3
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.