تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] الاتصال وقراءه البيانات من قاعده بيانات اكسس حجمه كبير وتحتوى على الالف البيانات
#1
Rainbow 
الاخوة جميعاً :

عندي مشروع لقراءه بيانات المدن من قاعده بيانات اكسس مرتبه - القريه- العزله- المديريه- المحافظه وتحتوى قاعده البيانات في الاكسس اكثر من تسعين الف سجل فكره البرنامج البحث من قاعده البيانات عن اسم قريه او عزله او مديريه او محافظه   بحث بأحد هذه الاسماء يظهر لي السجل كامل ، 

المشكله عند البدء بالكتابه من البرنامج والبحث في خانه البحث للبيانات المتصل به المشروع في قاعده البيانات يعلق الكتابه ولا يتم اكمال الكلمه ويحصل تعليق السبب هو بسبب كثره البيانات في قاعده البيانات الموجوده في الاكسس ويصعب عليه البحث بسبب الكم الهائل من البيانات كيف اجد حلاً لهذه الاشكاليه ، 

وعندما يتم تخفيف البيانات في قاعده البيانات يتم الاتصال والبحث بشكل طبيعي وتظهر النتائح .

قاعده البيانات حجمها تقريباً 7 ميجا ونصف وتحتوي على 90442  كماهو موضح في الصوره


مرفق لكم ايضأ تلخيص للاشكاليه كما في الصوره صوره فيها الاشكاليه وصوره اخرى طبيعي 

كود :
Imports System.Text.RegularExpressions
Imports System.Data.OleDb


Public Class Form1

   Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Coverage Claims.accdb;Password=")
   Dim da As New OleDbDataAdapter("SELECT * FROM [Coverage Claims] WHERE [القرية]&[العزلة]&[المحافظة]&[المديرية] LIKE @c ", con)

             

   Dim dt As New DataTable

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


       DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
       DataGridView1.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
       For Each l In InputLanguage.InstalledInputLanguages
           If l.culture.ToString.StartsWith("ar") Then InputLanguage.CurrentInputLanguage = l
       Next
   End Sub

   Private Sub textSerch_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles textSerch.TextChanged
       dt.Clear()
       Label1.Hide()

       Dim txt As String = ""

       'الكود منقول من مشاركة الأستاذ حريف برمجةالبحث بالحروف المشكله
       For Each s As String In textSerch.Text
           s = Regex.Replace(s, "[أإآا]", "[أإآا]")
           s = Regex.Replace(s, "[هة]", "[هة]")
           s = Regex.Replace(s, "[ىي]", "[ىي]")
           s = Regex.Replace(s, "[وؤ]", "[وؤ]")

           txt &= s

           If textSerch.Text.Trim = "" Then Label1.Visible = False : Exit Sub
           If textSerch.Text.Trim.Length < 2 Then
               Label1.Visible = True
               Exit Sub
           End If


           dt.Clear()
           Label1.Hide()
           If textSerch.Text.Trim.Length >= 2 Then
               da.SelectCommand.Parameters.Clear()
               da.SelectCommand.Parameters.AddWithValue("@c", "%" & txt.Trim & "%")
               da.Fill(dt)
               DataGridView1.DataSource = dt
               DataGridView1.ClearSelection()
               If dt.Rows.Count = 0 Then Label1.Show()
           End If
           If textSerch.Text = "" Then
               Label2.Show()
           Else
               Label2.Hide()
           End If
       Next
   End Sub
اللهمّ بعلمك الغيب وقدرتك على الخلق، أحييني ما علمت الحياة خيراً لي، وتوفّني ما علمت الوفاة خيراً لي.


الرد }}}
تم الشكر بواسطة:
#2
هل من حلول اصدقائي الاعزاء اهتمامكم في اقرب وقت ,
اللهمّ بعلمك الغيب وقدرتك على الخلق، أحييني ما علمت الحياة خيراً لي، وتوفّني ما علمت الوفاة خيراً لي.


الرد }}}
تم الشكر بواسطة:
#3
أجعل من شروط البحث خيارات تحدد من مجال البحث.. :
كأن تجعل على المستخدم أولا اختيار اسم المحافظة أولا من (ComboBox) قبل بدء البحث
وكلما جعلت المحدادت أكثر كلما كان البحث اسرع ...

- خفف شروط تبادل البحث في حال البحث المباشر ..أي تخلص من ("[وؤ]", "[وؤ]") وما شابهها..
- وأجعل زر أكتب عليه (بحث مقارب) في حال البحث في حال البحث المشابه مع شروط تبادل البحث.. (يضغط على الزر حال الانتهاء من كتابه النص الذي يريد البحث عنه)
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: محمد مسافر
#4
(13-09-24, 12:00 AM)Taha Okla كتب : أجعل من شروط البحث خيارات تحدد من مجال البحث.. :
كأن تجعل على المستخدم أولا اختيار اسم المحافظة أولا من (ComboBox) قبل بدء البحث
وكلما جعلت المحدادت أكثر كلما كان البحث اسرع ...

- خفف شروط تبادل البحث في حال البحث المباشر ..أي تخلص من ("[وؤ]", "[وؤ]")  وما شابهها..
- وأجعل زر أكتب عليه (بحث مقارب) في حال البحث في حال البحث المشابه مع شروط تبادل البحث.. (يضغط على الزر حال الانتهاء من كتابه النص الذي يريد البحث عنه)

 
شكرأ على التوضيح كميه البيانات الموجوده في ملف الاكسس ضخمه ويصعب قراءاته ويحصل تعليق ، بالنسبه لملاحظتك الاولى : من ضمن الحلول التي وضحتها هي عمل خيارات للبحث بحيث يسهل البحث على المعلومات وقراءاته طيب فكرت ايضاً بعمل اداءه الـ Radio Button  نعمل 4 راديو بوتون كل واحد له اسم المحافظه ، المديريه، القريه ، العزله  قبل البحث يتم تحديد احد منهم وبعدها الكتابه على في خانه البحث وضروري البحث عن كلمتين او اكثر لاانه هناك محافظه اسمها (اب) تحتوى على كلمتين لابد من قراءاته والفكره بعد تحديد احد الراديو بوتون نكتب الكلمه في خانه البحث مباشره يظهرها في الجدول .
 
الملاحظه الثانيه : التخلص من  ("[وؤ]", "[وؤ]")  وما شابهها   تم حذف الكود .
 
الملاحظه الثالثه : افضل بمجرد كتابه الكلمه تظهر النتيجه مباشره بحث بحرفين ومافوق .
 
جربت طبقت على الكمبوبوكس وادخلت البيانات بالترتيب المحافظه، المديريه، العزله, القريه ، وجربت البحث بالكود ولم يعمل
 
كذلك جربت البحث بالكود للراديو بوتون1   المسمى على سبيل المثال المحافظه بحيث يتم تحديده والانتقال على خانه البحث وكتابه اسم المحافظه مثلاً اب وتظهر النتيجه وللاسف لم يعمل ،  ماهو الكود المناسب او التصحيح للكود 
 
 
في الاخير استفسار اخير عندما يكون هناك كميه بيانات ضخمه جداً في ملف الاكسس نريد البحث عنها وقراءته واظهار النتائج في المشروع هل ينصح بالتعامل مع قاعده البيانات الاكسس ام هناك ملفات اخرى مثلاُ الاكسل او قواعد البيانات الاسكيوال  للتغلب على هذه الاشكاليه ، ام ان الانسب هي قاعده البيانات الاكسس مع عمل الاكواد التي تحدد خيارات للبحث والتي وضحتها لي .
 
اتمنى الافاده على واقدر وقتك وشكراً لك ولنصائحك .
دمت في رعايه الله .
اللهمّ بعلمك الغيب وقدرتك على الخلق، أحييني ما علمت الحياة خيراً لي، وتوفّني ما علمت الوفاة خيراً لي.


الرد }}}
تم الشكر بواسطة:
#5
أرفق مثال بسيط فيه قاعدة البيانات مع أدوات بحثك، ربما نجرب ونجد حل وربما يوجد حل عند أحد هنا..
ما تحدثت عنه ليس ما وصلك بالضبط من معنى :
ربما اختلاف اللهجات يوصل معنى مختلف، فالأفضل ارفاق مشروع عملي عن نفس المشكلة ونفس القاعدة وليس مع قاعدة بيانات بسيطة...
-
-
أما مسألة نوع قاعدة البيانات :
لا يوجد فرق بين أغلب قواعد البيانات من حيث سرعة البحث في حال البحث المباشر أي من غير (ربط بين الجداول).
لأن أغلبها يعتمد على أوامر الـ SQL -- بالتالي نفس الشيء ولكن اختلف وعاء التخزين لا أكثر ..

كجهاز عادي لن تجد فرقاً تستطيع ملاحظته(ربما تجد أن قواعد بيانات الـ SQLite هي الأبطئ (لأنها ليست تخصصية من حيث نوع البيانات) ولكن الفرق لا يمكن إدراكه على البيانات الصغيرة)..

المخدم يساعدك في البحث في حال كنت تستخدم سيرفر : فيكون فيه أكثر من معالج وأكبر حجم ممكن من الرامات والهاردات المخزن عليها نفس البيانات
بالتالي يتم البحث بالسرعة التي تراها عندما تبحث في جوجل وغيره من محركات البحث : لأن النتيجة لا تأتيك نتيجة عمل معالج واحد ومخزن واحد(هاردسك).
فليس الفضل لقواعد بيانات أوراكل أو SQL Server  ولا محركها بل للتجهيزات التي زودت بها ...

يصبح هنالك فضل لمحركات بحث : الـ أوراكل أو SQL Server  عندما تعتمد على الاجراءات المخزنة عند جلب بيانات من أكثر من جدول بنفس الوقت..
عندما تستخدم إصدارات حديثة من تلك المحركات 2014 فما فوق..  
أما في البحث المباشر من جدول واحد فالنتيجة تقريباً نفسها من حيث المدة الزمنية..

--
عندي برنامج حسابات صنعته من قبل سنوات أستخدمت فيه قواعد بيانات اكسس 2000  مع VB6.0 مع اسلوب محرك DAO
عند طلب كشف حسابات لـ السنوات السابقة يعطيني النتيجة بأقل من 10 ثوانٍ.
كشف حسابات (لمئات الحسابات) وليس حساب وحيد، يبحث بين آلاف السجلات..

قارنته مرة مع برنامج كاشير لكافتيريا مصنوع بـ الجافا مع قواعد SQL،،  فكان الفرق كبير جداً ..

هذا ليس مديحاً لقواعد بيانات اكسس 2000 ولا VB6.0- ولكن أقول لك الاسلوب في تبسيط الأمر يجعل الأمر أبسط و أسرع..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: مصمم هاوي , محمد مسافر
#6
يا سلام عليك أستاذ طه على الإرشادات المفيدة
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: Taha Okla
#7
(13-09-24, 07:25 AM)Taha Okla كتب : أرفق مثال بسيط فيه قاعدة البيانات مع أدوات بحثك، ربما نجرب ونجد حل وربما يوجد حل عند أحد هنا..
ما تحدثت عنه ليس ما وصلك بالضبط من معنى :
ربما اختلاف اللهجات يوصل معنى مختلف، فالأفضل ارفاق مشروع عملي عن نفس المشكلة ونفس القاعدة وليس مع قاعدة بيانات بسيطة...
-
-
أما مسألة نوع قاعدة البيانات :
لا يوجد فرق بين أغلب قواعد البيانات من حيث سرعة البحث في حال البحث المباشر أي من غير (ربط بين الجداول).
لأن أغلبها يعتمد على أوامر الـ SQL -- بالتالي نفس الشيء ولكن اختلف وعاء التخزين لا أكثر ..

كجهاز عادي لن تجد فرقاً تستطيع ملاحظته(ربما تجد أن قواعد بيانات الـ SQLite هي الأبطئ (لأنها ليست تخصصية من حيث نوع البيانات) ولكن الفرق لا يمكن إدراكه على البيانات الصغيرة)..

المخدم يساعدك في البحث في حال كنت تستخدم سيرفر : فيكون فيه أكثر من معالج وأكبر حجم ممكن من الرامات والهاردات المخزن عليها نفس البيانات
بالتالي يتم البحث بالسرعة التي تراها عندما تبحث في جوجل وغيره من محركات البحث : لأن النتيجة لا تأتيك نتيجة عمل معالج واحد ومخزن واحد(هاردسك).
فليس الفضل لقواعد بيانات أوراكل أو SQL Server  ولا محركها بل للتجهيزات التي زودت بها ...

يصبح هنالك فضل لمحركات بحث : الـ أوراكل أو SQL Server  عندما تعتمد على الاجراءات المخزنة عند جلب بيانات من أكثر من جدول بنفس الوقت..
عندما تستخدم إصدارات حديثة من تلك المحركات 2014 فما فوق..  
أما في البحث المباشر من جدول واحد فالنتيجة تقريباً نفسها من حيث المدة الزمنية..

--
عندي برنامج حسابات صنعته من قبل سنوات أستخدمت فيه قواعد بيانات اكسس 2000  مع VB6.0 مع اسلوب محرك DAO
عند طلب كشف حسابات لـ السنوات السابقة يعطيني النتيجة بأقل من 10 ثوانٍ.
كشف حسابات (لمئات الحسابات) وليس حساب وحيد، يبحث بين آلاف السجلات..

قارنته مرة مع برنامج كاشير لكافتيريا مصنوع بـ الجافا مع قواعد SQL،،  فكان الفرق كبير جداً ..

هذا ليس مديحاً لقواعد بيانات اكسس 2000 ولا VB6.0- ولكن أقول لك الاسلوب في تبسيط الأمر يجعل الأمر أبسط و أسرع..



ابشر ارفقت لك نموذجين وللتوضيح ان كان هناك امكانيه البحث وتظهر النتائج بشكل مباشر على النموذج 2 ونفس قاعده البيانات يكون افضل مالم مثل ماوضحت سابقاً ضروره عمل خيارات للبحث من اجل اظهار النتيجه بشكل افضل واسرع .
اللهمّ بعلمك الغيب وقدرتك على الخلق، أحييني ما علمت الحياة خيراً لي، وتوفّني ما علمت الوفاة خيراً لي.


الرد }}}
تم الشكر بواسطة:
#8
(13-09-24, 01:08 PM)محمد مسافر كتب : ابشر ارفقت لك نموذجين وللتوضيح ان كان هناك امكانيه البحث وتظهر النتائج بشكل مباشر على النموذج 2 ونفس قاعده البيانات يكون افضل مالم مثل ماوضحت سابقاً ضروره عمل خيارات للبحث من اجل اظهار النتيجه بشكل افضل واسرع .

هل تسميات الحقول صحيحة في قاعدة البيانات ؟؟
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:
#9
نعم التسميات صحيحه اكي
الاشكاليه هي في حجم البيانات الضخمه في قاده البيانات الاكس ولو تجرب تخفف البانات في قاعده البيانات الاكسس ستلاحظ ان البحث يعمل بشكل طبيعي جرب وشوف .
اللهمّ بعلمك الغيب وقدرتك على الخلق، أحييني ما علمت الحياة خيراً لي، وتوفّني ما علمت الوفاة خيراً لي.


الرد }}}
تم الشكر بواسطة:
#10
(13-09-24, 02:42 PM)محمد مسافر كتب : نعم التسميات صحيحه اكي
الاشكاليه هي في حجم البيانات الضخمه في قاده البيانات الاكس ولو تجرب تخفف البانات في قاعده البيانات الاكسس ستلاحظ ان البحث يعمل بشكل طبيعي جرب وشوف .


أفتح قاعدة البيانات وأفتح الجدول الموجود فيها :
وأنظر لاسماء الحقول والبيانات المخزنة في كل حقل
أمعن النظر ... فكر شوي ...
ناطر ردك ..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كود الاتصال بالنت mmaalmesry 4 871 04-09-25, 02:28 PM
آخر رد: أبو خالد الشكري
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 824 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 796 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,222 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,019 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  بطء في جلب البيانات مصمم هاوي 9 1,001 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  [Acces2007] مشكلة ملف قاعدة بيانات access للقراءة فقط mmaalmesry 11 1,455 29-04-25, 08:55 PM
آخر رد: mmaalmesry
  تعديل كود تحديث البيانات مصمم هاوي 1 784 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 697 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 660 24-04-25, 12:58 PM
آخر رد: foad8920

التنقل السريع :


يقوم بقرائة الموضوع: