المشاركات : 17
المواضيع 6
الإنتساب : Sep 2020
السمعة :
0
الشكر: 0
تم شكره 9 مرات في 9 مشاركات
29-10-20, 09:47 PM
السلام عليكم ورحمة الله تعالي اخواتي واخوتى
ارجو منكم المساعدة
لقد قمت بتصميم برنامج للاقساط وعندي مشكلة في شاشة دفع اكثر من قسط
بعد كتابة ذلك الكود لا يتم التعديل في داخل قاعدة البيانات
'التعديل على جدول الاقساط
Public Sub Update_InstallmentSchedule_InDirect(colName As String, colNametxt As String)
' check if this ColumnName is already exist in database
Dim DT As New DataTable
Dim da As New SqlDataAdapter
DT.Clear()
da = New SqlDataAdapter("Select * FROM InstallmentSchedule where " & colName & " = " & colNametxt & "", con)
da.Fill(DT)
For t As Integer = 0 To dgv.Rows.Count - 1
Dim pos As Integer = DT.Rows.Count - 1
DT.Rows(pos).Item("Dated") = Today
DT.Rows(pos).Item("Staus") = dgv(5, t).Value
DT.Rows(pos).Item("UserNaem") = mainScreen.Label5.Text
Dim Save As New SqlCommandBuilder(da)
da.Update(DT)
DT.AcceptChanges()
Next
وذلك الكود من خلف (Button) للمرور على جميع البيانات وحفظها
For T As Integer = 0 To dgv.Rows.Count - 1
If dgv(1, T).Value = True Then
Update_InstallmentSchedule_InDirect("ID", dgv(0, T).Value)
End If
Next
ارجو منكم المساعدة لاننى في امس الحاجة للرد منكم
والسلام عليكم ورحمة الله تعالي
المشاركات : 769
المواضيع 133
الإنتساب : Feb 2018
السمعة :
64
الشكر: 1636
تم شكره 1073 مرات في 528 مشاركات
وعليكم السلام...
ممكن توضح؟؟
أولاً: هل انت بتحفظ بيانات الأقساط في أداة DataGridView ثم ترسلها إلى الجدول دفعة واحدة؟؟
-أو: ممكن توضحلي بتحفظ أقساط إزاي وانت بتستخدم الكود دا لاه!!
-المعلومات فقط لتنفيذ المطلوب والإفادة.
المبرمج لا يفكر في المشكلة بل في الحل!!
المشاركات : 17
المواضيع 6
الإنتساب : Sep 2020
السمعة :
0
الشكر: 0
تم شكره 9 مرات في 9 مشاركات
30-10-20, 12:40 AM
(آخر تعديل لهذه المشاركة : 30-10-20, 12:46 AM {2} بواسطة moahmed.abdelmohsen.)
السلام عليكم ورحمة الله تعالى
بالنسبة لاضافة الاقساط فهي تضاف من شاشة اخرى اوتوماتك من خلال نفسها بالكود الاتي
Public Sub Updatedgv1()
dgv1.Rows.Clear()
Dim i As Integer
Dim d As Date = DateInstallment.Value.ToString("yyyy/MM/dd") 'تاريخ الاستحقاق
Dim m As Date = DateInstallment.Value.ToString("yyyy/MM/dd") 'تاريخ البحث
For i = 1 To NumberOfInstallments.Text
dgv1.Rows.Add()
Dim LAST As Integer = dgv1.Rows.Count - 1
dgv1(0, LAST).Value = i
dgv1(1, LAST).Value = CustomerNumber.SelectedValue 'رقم العميل
dgv1(2, LAST).Value = CustomerNumber.Text 'اسم العميل
dgv1(3, LAST).Value = d.AddMonths(i) ' تاريخ الدفع
dgv1(4, LAST).Value = InstallmentPrice.Text 'قيمة القسط
dgv1(5, LAST).Value = 0 'حالة الدفع
dgv1(6, LAST).Value = d.AddMonths(i) ' تاريخ الاستحقاق
dgv1(7, LAST).Value = ID.Text ' تاريخ البحث
Next
End Sub
ذلك لاضافة الاقساط
وذلك للحفظ فىجدوال الاقساط
Public Sub Save_Buydetails()
Dim dt As New DataTable
Dim da As New SqlDataAdapter
dt.Clear()
da = New SqlDataAdapter("select * from InstallmentSchedule ", con)
da.Fill(dt)
For r As Integer = 0 To dgv1.Rows.Count - 1
dt.Rows.Add()
Dim last As Integer = dt.Rows.Count - 1
dt.Rows(last).Item("CustomerNuber") = dgv1(1, r).Value ' رقم العميل
dt.Rows(last).Item("CustomerName") = dgv1(2, r).Value ' اسم العميل
dt.Rows(last).Item("Dated") = dgv1(6, r).Value ' تاريخ الدفع
dt.Rows(last).Item("paidInSTALLMENT") = dgv1(4, r).Value ' قيمة القسط
dt.Rows(last).Item("Staus") = dgv1(5, r).Value ' حالة الدفع
dt.Rows(last).Item("DateKKKK") = dgv1(6, r).Value 'تاريخ الاستحقاق
dt.Rows(last).Item("ItemsID") = dgv1(7, r).Value ' تاريخ البحث بالشهر
dt.Rows(last).Item("Delaypenalty") = 0
dt.Rows(last).Item("UserNaem") = 2 'mainScreen.Label5.Text
Dim save As New SqlCommandBuilder(da)
da.Update(dt)
dt.AcceptChanges()
Next
'MessageBox.Show("تم حفظ بنجاح في جدول التفصيل ")
End Sub
الكود من خلف (Button)
Save_Buydetails()
اما بالنسبة للكود المرفق من قبل للتحصيل او التعديل على اكثر من سطر من داخل الجريد فيو مرفق الكود مره اخري
Public Sub Update_InstallmentSchedule_InDirect(colName As String, colNametxt As String)
' check if this ColumnName is already exist in database
Dim DT As New DataTable
Dim da As New SqlDataAdapter
DT.Clear()
da = New SqlDataAdapter("Select * FROM InstallmentSchedule where " & colName & " = " & colNametxt & "", con)
da.Fill(DT)
For t As Integer = 0 To dgv.Rows.Count - 1
Dim pos As Integer = DT.Rows.Count - 1
DT.Rows(pos).Item("Dated") = Today
DT.Rows(pos).Item("Staus") = dgv(5, t).Value
DT.Rows(pos).Item("UserNaem") = mainScreen.Label5.Text
Dim Save As New SqlCommandBuilder(da)
da.Update(DT)
DT.AcceptChanges()
Next
End Sub
[b]الكود من خلف (Button)[/b]
[b] If dgv.RowCount > 0 Then
[/b]
For T As Integer = 0 To dgv.Rows.Count - 1
If dgv(1, T).Value = True Then
Update_InstallmentSchedule_InDirect("ID", dgv(0, T).Value)
End If
[b] Next[/b]
هل انت بتحفظ بيانات الأقساط في أداة DataGridView ثم ترسلها إلى الجدول دفعة واحدة؟؟
نعم بيتم استدعاء بيانات الاقساط التى لم تحصل على اده DataGridView ثم يتم عمل Check من داخل الجرد فيو يتم الدوارا على جميع البيانات التي تحتوي على مبلغ القسط ويتم التعديل عليها
المشاركات : 17
المواضيع 6
الإنتساب : Sep 2020
السمعة :
0
الشكر: 0
تم شكره 9 مرات في 9 مشاركات
هل من اجابة جديدة من السادة الكرام