تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] التعامل مع الداتا جريد
#1
السلام عليكم ورحمة الله وبركاته
ارجو المساعدة
انا مبرمج مبتدئ وصممت برنامج يربط داتا بيس واضفت للجدوال داتا جريد واريد ان اجري بعض العمليات الحسابية داخل الداتا بيس بواسطة الداتا جريد , مثلا عندي جدول بيه مسافات وكل مسافة ترتبط بارتفاع في نفس الجدول في العمود التالي , البرنامج يقوم بحساب المسافة ثم يعرضها في تكست بوكس , اريده ان يعرض الارتفاع ايضا من الجدول بمعلومية المسافة
وجزاكم الله خير
الرد
تم الشكر بواسطة:
#2
بسم الله الرحمن الرحيم
في الداتا جريد عبارة عن شبكة أو خلايا وكل خلية لها رقم عمود ورقم صف ومنها انت تقدر تبرمج أي عملية تريدها
مثلا في عمود 1 وعمود 2 وعمود 3 يكون ناتج الضرب للعمودين
كود :
DataGridView1(3, 1).Value= DataGridView1(1, 1).Value * DataGridView1(2, 1).Value
أرجو ان تكون الفكرة وضحت لول احتاجت توضيح اكثر ارفق برنامج ويتم التعديل عليه
تحياتي لك
الرد
تم الشكر بواسطة: tarek , ahmed saba , zepeir
#3
شكرا الخطيب علي الاهتمام
انا برنامجي الان تحت الانشاء ولم يكتمل لارفقه
لكني بمساعدة احد المبرمجين كنت قد بدات في جزء كبير منه بالفيجوال 6 والان اريد ان اعيد صياغته بالدوت نت , فمشكلتي اني كنت استخدم الماتركس لاجراء العمليات الحسابية والان اريد ان استخدم الدات جريد بنفس الطريقة
وهذا جزء من الكود
كود :
Private Sub Command3_Click()
dis = Sqr(((Val(Text1.Text - Text3.Text)) ^ 2) + ((Val(Text2.Text - Text4.Text)) ^ 2))
Text5.Text = dis
If dis + 2000 <= 5350 Then
Text8.Text = "six"
With Adodc6.Recordset
.MoveFirst
For j = 0 To 26
mg6.TextMatrix(j, 0) = .Fields!Distance
mg6.TextMatrix(j, 1) = .Fields!Hieght
mg6.TextMatrix(j, 2) = .Fields!Time
.MoveNext
Next
End With
For i = 0 To 26
If dis = mg6.TextMatrix(i, 0) Then
Text6.Text = mg6.TextMatrix(i, 1)
Text7.Text = mg6.TextMatrix(i, 2)
ElseIf mg6.TextMatrix(i, 0) < dis Then
Text6.Text = (((mg6.TextMatrix(i + 1, 1) - mg6.TextMatrix(i, 1)) / 200) * (dis - mg6.TextMatrix(i, 0))) + mg6.TextMatrix(i, 1)
Text7.Text = (((mg6.TextMatrix(i + 1, 2) - mg6.TextMatrix(i, 2)) / 200) * (dis - mg6.TextMatrix(i, 0))) + mg6.TextMatrix(i, 2)

Else: End If
حيث يقوم البرنامج بحساب المسافة
ثم يقوم بالبحث في الجدول عن المسافة فاذا وجدها يقوم باظهار الارتفاع والزمن علي تكست خاصة حسب المسافة
واذا كانت المسافة غير موجوده او اكبر يقوم بعملية حسابية بين المسافتين الموجدتين في الجدول ويستخرج الارتفاع والزمن
اسف البرنامج معقد ويصعب شرحه لكن اريد بنفس طريقة الماتركس ان اغير الي الداتا جريد
ارجو ان تكون الفكرة وضحت
وشكرا لكل من شاهد وكل من علق
الرد
تم الشكر بواسطة:
#4
السلام عيكم ورحمة الله وبركاتة
اسف جدا انا كنت عاوز اعمل لك مثال لكن مشكلة الوقت الموضوع بسيط جدا بعون الله
انت فقط لما تكتب الكود هيكون عنوان الخلية كالتالي
كود :
DataGridView1(0, i).Value
وهتلاحظ ان رقم العمود يأتي أولا ثم رقم الخلية عكس الفلكس جريد
كود :
mg6.TextMatrix(i, 0)
الرد
تم الشكر بواسطة: zepeir
#5
وعليكم السلام ورحمة الله
شكرا اخي الخطيب علي الاهتمام
واشهد الله اني قد استفدت من معلوماتك القيمة جعلها الله في ميزان حسناتك
لقد قمت بتغير الكود وهو يعمل جيدا في الجزء الاول من الجملة الشرطية
ولكنه يرسل رسالة خطا في الجزء الثاني من الجملة الشرطية
كود :
Dim i As Integer
        For i = 0 To 54
            If TextBox1.Text = DataGridView1(0, i).Value Then
                TextBox2.Text = DataGridView1(1, i).Value
                TextBox3.Text = DataGridView1(2, i).Value
            ElseIf TextBox1.Text > DataGridView1(0, i).Value Then
                TextBox2.Text = (((DataGridView1(1, i + 1).Value - DataGridView1(1, i).Value) / 200) * (Val(TextBox1.Text) - DataGridView1(0, i).Value)) + DataGridView1(1, i).Value
                TextBox3.Text = (((DataGridView1(2, i + 1).Value - DataGridView1(2, i).Value) / 200) * (Val(TextBox1.Text) - DataGridView1(0, i).Value)) + DataGridView1(2, i).Value
                

            End If
        Next
رسالة الخطا كالاتي
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter(Name) : index
وتاتي عند تنفيز البرنامج لهذا الجزء
كود :
TextBox2.Text = (((DataGridView1(1, i + 1).Value - DataGridView1(1, i).Value) / 200) * (Val(TextBox1.Text) - DataGridView1(0, i).Value)) + DataGridView1(1, i).Value
                TextBox3.Text = (((DataGridView1(2, i + 1).Value - DataGridView1(2, i).Value) / 200) * (Val(TextBox1.Text) - DataGridView1(0, i).Value)) + DataGridView1(2, i).Value
وحاولت التغير كثيرا في الجملة الشرطية ولكن بدون جدوي
ارجوا المساعدة في كتابة الكود الصحيح
وجزاكم الله خير
الرد
تم الشكر بواسطة:
#6
أتمنى شرح أو وضع مثال كيف تستخدم الداتا كمبو مع الداتا الداتاغرايد في شاكرا حسن تعاونكم
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة من اخوتي برنامج مبيعات سوبرماركت التعامل مع اكثر من زبون في نفس الوقت Mokhtar-mako 1 788 16-01-21, 08:43 PM
آخر رد: moosa_alabri
  اسناد عامود في قاعدة بيانات اكسيس الى عامود من نوع كومبوبوكس بالداتا جريد فيو بالفيجو Ghassanfff 2 1,451 08-01-21, 08:52 PM
آخر رد: سعود
  كود عدم تكرار البيانات بالداتا جريد فيو ِAbou Sama 4 6,000 04-12-20, 10:59 PM
آخر رد: Osama_NY
  مشكلة في إظهار عمود التاريخ في داتا جريد فيو mofhmy 5 5,339 12-11-20, 12:13 PM
آخر رد: bahaa.elkomy@yahoo.com
  [VB.NET] حفظ البيانات دفعة واحدة الداتا جريد فيو mahmoud.3com 2 2,474 19-12-19, 11:23 PM
آخر رد: بسام محمدغانم
  سوال بخصوص الداتا جريد Abdelrahman ala 7 2,291 07-03-19, 03:26 AM
آخر رد: Abdelrahman ala
Photo [VB.NET] تعديل المدخلات في (الداتا قريد فيو ) لفاتورة مبيعات؟ EYADISMAIL 1 1,959 09-01-19, 10:30 PM
آخر رد: EYADISMAIL
  كيف يمكنني التعامل مع جدولين Ahlam 14 8,729 16-12-18, 09:13 PM
آخر رد: viv
  سؤال عن كيفية جمع الارقام الموجبة فقط من عمود في الداتا جريد فيو alfaiz678 2 1,865 01-10-18, 09:24 AM
آخر رد: alfaiz678
  سؤال عن الداتا ريدر sal_56 4 1,775 17-09-18, 10:23 AM
آخر رد: 911

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم