لإضافة سجل شهر معين لجميع الزبائن وإظهاره في DataGrid، مع القدرة على التعديل عليه، يمكنك اتباع الخطوات التالية في VB6. سأقدم لك مثالاً مبسطًا يوضح كيفية إضافة استهلاك شهر جديد لجميع الزبائن وعرضه في DataGrid.
الخطوات:
إنشاء جدول للزبائن والاستهلاكات: افترض أن لديك جدولين، أحدهما للزبائن (Customers) وآخر للاستهلاكات (Consumptions).
إضافة زر لإضافة الاستهلاك الجديد: زر يقوم بإضافة سجل استهلاك جديد لكل زبون.
عرض البيانات في DataGrid: عرض بيانات الاستهلاكات في DataGrid مع إمكانية التعديل عليها.
مثال على الكود:
في هذا المثال، سنقوم بإنشاء نموذج بسيط يحتوي على DataGrid وزر لإضافة استهلاك جديد. نفترض أن لدينا قاعدة بيانات Access تحتوي على جدولين: Customers و Consumptions.
قاعدة البيانات:
جدول Customers:
CustomerID (رقم)
CustomerName (نص)
جدول Consumptions:
ConsumptionID (رقم)
CustomerID (رقم)
Month (نص)
ConsumptionValue (رقم)
PHP كود :
Private Sub Form_Load()
' تحميل البيانات في DataGrid عند تحميل النموذج
LoadDataGrid
End Sub
Private Sub LoadDataGrid()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
' فتح الاتصال بقاعدة البيانات
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=yourdatabase.mdb;"
' استعلام لجلب البيانات من جدول الاستهلاكات
sql = "SELECT Consumptions.ConsumptionID, Customers.CustomerName, Consumptions.Month, Consumptions.ConsumptionValue " & _
"FROM Consumptions INNER JOIN Customers ON Consumptions.CustomerID = Customers.CustomerID"
rs.Open sql, conn, adOpenStatic, adLockOptimistic
' ربط البيانات بـ DataGrid
Set DataGrid1.DataSource = rs
' إغلاق الاتصال بقاعدة البيانات
rs.Close
conn.Close
End Sub
Private Sub btnAddConsumption_Click()
Dim conn As New ADODB.Connection
Dim rsCustomers As New ADODB.Recordset
Dim rsConsumptions As New ADODB.Recordset
Dim month As String
Dim consumptionValue As Double
' تحديد الشهر الجديد والقيمة الافتراضية للاستهلاك
month = InputBox("أدخل الشهر الجديد:", "إضافة استهلاك جديد", "فبراير")
consumptionValue = 0 ' يمكنك تعيين قيمة افتراضية أو طلبها من المستخدم
' فتح الاتصال بقاعدة البيانات
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=yourdatabase.mdb;"
' جلب جميع الزبناء
rsCustomers.Open "SELECT * FROM Customers", conn, adOpenStatic, adLockOptimistic
' فتح جدول الاستهلاكات لإضافة سجلات جديدة
rsConsumptions.Open "SELECT * FROM Consumptions", conn, adOpenDynamic, adLockOptimistic
Do While Not rsCustomers.EOF
' إضافة سجل استهلاك جديد لكل زبون
rsConsumptions.AddNew
rsConsumptions("CustomerID").Value = rsCustomers("CustomerID").Value
rsConsumptions("Month").Value = month
rsConsumptions("ConsumptionValue").Value = consumptionValue
rsConsumptions.Update
rsCustomers.MoveNext
Loop
' تحديث DataGrid
LoadDataGrid
' إغلاق الاتصالات
rsCustomers.Close
rsConsumptions.Close
conn.Close
MsgBox "تم إضافة الاستهلاك الجديد لجميع الزبائن.", vbInformation
End Sub
شرح الكود:
تحميل البيانات عند تحميل النموذج: يتم تحميل البيانات في DataGrid عند فتح النموذج.
تحميل البيانات في DataGrid: يتم استخدام استعلام SQL لجلب البيانات من جدول الاستهلاكات وربطها بـ DataGrid.
إضافة استهلاك جديد: عند الضغط على زر btnAddConsumption، يتم إضافة سجل استهلاك جديد لكل زبون في قاعدة البيانات.
المتطلبات:
DataGrid: يجب أن يكون لديك عنصر DataGrid على النموذج.
زر إضافة استهلاك جديد: زر لتنفيذ عملية إضافة الاستهلاك الجديد (مثل btnAddConsumption).
قاعدة بيانات Access: قاعدة بيانات تحتوي على الجداول المطلوبة.
تأكد من تعديل مسار قاعدة البيانات في الكود (yourdatabase.mdb) ليتوافق مع مسار قاعدة البيانات لديك.