جملة if elseif - mohamedassim - 08-07-22
السلام عليكم
جملة if elseif المتعددة المتداخلة لا تعمل لدي لا اعرف لماذا .... الكود التالي صيحيح لكنه لا يعمل عندما الغي الجزء الخاص ب elseif فانه يعمل
() Public Sub BuyBillFullSearch
Dim dt As New DataTable
Dim adapter As New SqlDataAdapter
() dt.Clear
If RePay.CKid.Checked = False And RePay.CKBillNo.Checked = False And RePay.CKsupplier.Checked = False And RePay.CKitem.Checked = False Then
adapter = New SqlDataAdapter("select * From BuyDetailsView where (BuyDetailDate between '" & RePay.Date1.Value.ToString("yyyy-MM-dd") & "' And '" & RePay.Date2.Value.ToString("yyyy-MM-dd") & "')", sqlcon)
ElseIf RePay.CKid.Checked = True Then
adapter = New SqlDataAdapter("select * From BuyDetailsView where BuyDetailBuyId = " & RePay.TxtID.Text & "", sqlcon)
adapter.Fill(dt)
RePay.DGCReBuy.AutoGenerateColumns = False
RePay.DGCReBuy.DataSource = dt
End If
End Sub
RE: جملة if elseif - أبو خالد الشكري - 08-07-22
جرب أن تستعمل الكود الذي عدلته لك !
كود :
Public Sub BuyBillFullSearch()
Dim dt As New DataTable
Dim adapter1 As New SqlDataAdapter
adapter1 = New SqlDataAdapter("select * From BuyDetailsView where (BuyDetailDate between '" & RePay.Date1.Value.ToString("yyyy-MM-dd") & "' And '" & RePay.Date2.Value.ToString("yyyy-MM-dd") & "')", sqlcon)
Dim adapter2 As New SqlDataAdapter
adapter2 = New SqlDataAdapter("select * From BuyDetailsView where BuyDetailBuyId = " & RePay.TxtID.Text & "", sqlcon)
dt.Clear()
If RePay.CKid.Checked = False And RePay.CKBillNo.Checked = False And RePay.CKsupplier.Checked = False And RePay.CKitem.Checked = False Then
adapter1.Fill(dt)
RePay.DGCReBuy.AutoGenerateColumns = False
RePay.DGCReBuy.DataSource = dt
ElseIf RePay.CKid.Checked = True Then
adapter2.Fill(dt)
RePay.DGCReBuy.AutoGenerateColumns = False
RePay.DGCReBuy.DataSource = dt
End If
End Sub
RE: جملة if elseif - mohamedassim - 08-07-22
(08-07-22, 09:37 AM)أبو خالد الشكري كتب : جرب أن تستعمل الكود الذي عدلته لك !
كود :
Public Sub BuyBillFullSearch()
Dim dt As New DataTable
Dim adapter1 As New SqlDataAdapter
adapter1 = New SqlDataAdapter("select * From BuyDetailsView where (BuyDetailDate between '" & RePay.Date1.Value.ToString("yyyy-MM-dd") & "' And '" & RePay.Date2.Value.ToString("yyyy-MM-dd") & "')", sqlcon)
Dim adapter2 As New SqlDataAdapter
adapter2 = New SqlDataAdapter("select * From BuyDetailsView where BuyDetailBuyId = " & RePay.TxtID.Text & "", sqlcon)
dt.Clear()
If RePay.CKid.Checked = False And RePay.CKBillNo.Checked = False And RePay.CKsupplier.Checked = False And RePay.CKitem.Checked = False Then
adapter1.Fill(dt)
RePay.DGCReBuy.AutoGenerateColumns = False
RePay.DGCReBuy.DataSource = dt
ElseIf RePay.CKid.Checked = True Then
adapter2.Fill(dt)
RePay.DGCReBuy.AutoGenerateColumns = False
RePay.DGCReBuy.DataSource = dt
End If
End Sub
عاشت الايادي ... يعمل بشكل ممتاز .. جزاك الله خير
من فضلك ممكن تشرح لي لماذا استخدمت اثنين ادابتر
مع العلم ان الكود قبل التعديل في اصدار اخر من الفيجول ستوديو يعمل...لكن حاليا في اصدار 2017 لا يعمل معي
RE: جملة if elseif - أبو خالد الشكري - 08-07-22
كود :
Public Sub BuyBillFullSearch()
Dim dt As New DataTable
Dim adapter As New SqlDataAdapter
Dim SQL1, SQL2 As String
SQL1 = "select * From BuyDetailsView where (BuyDetailDate between '" & RePay.Date1.Value.ToString("yyyy-MM-dd") & "' And '" & RePay.Date2.Value.ToString("yyyy-MM-dd") & "')"
SQL2 = "select * From BuyDetailsView where BuyDetailBuyId = " & RePay.TxtID.Text & ""
dt.Clear()
If RePay.CKid.Checked = False And RePay.CKBillNo.Checked = False And RePay.CKsupplier.Checked = False And RePay.CKitem.Checked = False Then
adapter = New SqlDataAdapter(SQL1, sqlcon)
GoTo RunIt
ElseIf RePay.CKid.Checked = True Then
adapter = New SqlDataAdapter(SQL2, sqlcon)
GoTo RunIt
End If
RunIt:
adapter.Fill(dt)
RePay.DGCReBuy.AutoGenerateColumns = False
RePay.DGCReBuy.DataSource = dt
End Sub
بارك الله فيك
استخدمت اثنين أدابتر لأنه عندك اثنين من جمل الاستعلام !
ولكن أيضا توجد طريقة ثانية لاستخدام أدابتر واحد إذا استخدمنا الكود التالي :
جربه واعطني النتيجة ...
|