20-01-16, 02:00 PM
السلام عليكم شباب عندى سؤال و هو
كود البحث عندى طويل جدا و بطى فى التنفيذ فاهل يوجد حل لتصغير حجم الكود مع التنفيذ السريع
فى تحميل الفروم بشغل الكود التالى
وهى دى الاكود لى بتشغل عطول
تمام و بعد كده بعمل بحث تانى
طريقة تشغل الكود كلو كالاتى
اول ما الفورم تفتح بكتب اول حرف من اشركة الشركة بيظهر الاسم كلو و بختار اسم الشركة و بعد كده بدوس عالتكست لى بعدو بيتم تشغل الكود التالى لوحد لى بيقوم بعمل بحث تانى علشان يجيب اسم مدير الشركة و العكس صحيح
يعنى لو كتبت اسم مدير الشركة و عند الضغط عالتكست اسم الشركة هيتم البحث عن اسم الشركة مع العرضو فى التكست
المشكلة هنا ان الكود حجمو كبير جدا و بيخدو وقت كبير فى التنفيذ
ايه حل المشكلة دى علشان حاولت لكن بدون جدوى
كود البحث عندى طويل جدا و بطى فى التنفيذ فاهل يوجد حل لتصغير حجم الكود مع التنفيذ السريع
فى تحميل الفروم بشغل الكود التالى
كود :
textboxAutoCompte(TextBox1)
textboxAutoComptee(TextBox2)
وهى دى الاكود لى بتشغل عطول
كود :
Sub textboxAutoCompte(ByVal tb As TextBox)
Dim constr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"
Dim con As New SqlConnection(constr)
If con.State = ConnectionState.Open Then con.Close()
con.Open()
Dim dt As New DataTable
Dim ret As Integer = New SqlDataAdapter("Select * From TheResourceDetails", con).Fill(dt)
Dim MySource As New AutoCompleteStringCollection()
For Each s In dt.AsEnumerable.Cast(Of DataRow).Select(Function(r) r("CompanyName")).ToArray()
MySource.Add(s)
Next
With tb
.AutoCompleteCustomSource = MySource
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.CustomSource
End With
If con.State = ConnectionState.Open Then con.Close()
End Sub
Sub textboxAutoComptee(ByVal tb As TextBox)
Dim constr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"
Dim con As New SqlConnection(constr)
If con.State = ConnectionState.Open Then con.Close()
con.Open()
Dim dt As New DataTable
Dim ret As Integer = New SqlDataAdapter("Select * From TheResourceDetails", con).Fill(dt)
Dim MySource As New AutoCompleteStringCollection()
For Each s In dt.AsEnumerable.Cast(Of DataRow).Select(Function(r) r("CompanyName")).ToArray()
MySource.Add(s)
Next
With tb
.AutoCompleteCustomSource = MySource
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.CustomSource
End With
If con.State = ConnectionState.Open Then con.Close()
End Sub
كود :
Private Sub TextBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.Click
Dim constr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"
Dim con As New SqlConnection(constr)
If con.State = ConnectionState.Open Then con.Close()
con.Open()
Dim da As New SqlDataAdapter("select * from TheResourceDetails where CompanyName = N'" & TextBox1.Text & "'", con)
Dim ds As New DataSet
ds.Clear()
TextBox2.DataBindings.Clear()
TextBox2.Text = ""
da.Fill(ds, "TheResourceDetails")
Me.TextBox2.DataBindings.Add("text", ds, "TheResourceDetails.DirectorName")
If con.State = ConnectionState.Open Then con.Close()
End Sub
Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
Dim constr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"
Dim con As New SqlConnection(constr)
If con.State = ConnectionState.Open Then con.Close()
con.Open()
Dim da As New SqlDataAdapter("select * from TheResourceDetails where DirectorName = N'" & TextBox2.Text & "'", con)
Dim ds As New DataSet
ds.Clear()
TextBox1.DataBindings.Clear()
TextBox1.Text = ""
da.Fill(ds, "TheResourceDetails")
Me.TextBox1.DataBindings.Add("text", ds, "TheResourceDetails.CompanyName")
If con.State = ConnectionState.Open Then con.Close()
End Sub
اول ما الفورم تفتح بكتب اول حرف من اشركة الشركة بيظهر الاسم كلو و بختار اسم الشركة و بعد كده بدوس عالتكست لى بعدو بيتم تشغل الكود التالى لوحد لى بيقوم بعمل بحث تانى علشان يجيب اسم مدير الشركة و العكس صحيح
يعنى لو كتبت اسم مدير الشركة و عند الضغط عالتكست اسم الشركة هيتم البحث عن اسم الشركة مع العرضو فى التكست
المشكلة هنا ان الكود حجمو كبير جدا و بيخدو وقت كبير فى التنفيذ
ايه حل المشكلة دى علشان حاولت لكن بدون جدوى
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ