PDA

View Full Version : سوال: مشكل در حلقه for



kafinetetaha
چهارشنبه 08 دی 1389, 19:22 عصر
باسلام خدمت دوستان و اساتيد گرامي من يه مشكل تو ادغام 3 گريد در يك گريد جدا دارم دوستان توسايت هم تا حدودي منو راهنمايي كردن تايجايي رسيدم ولي باز مشكلم كاملا حل نشده مشكلم به اين قراره من ميخام تو گريد كل اگه نام جنس تكراري بود فقط مقادير اونو اضافه كنه دوباره نام جنس رو ننويسه -مشلم اينه كه اين كارو انجام ميده ولي حلقه تا جايي كه تكراري نيست خوب كار ميكنه ولسي به محض رسيدن به جنس تكراري جنسهاي بع از اون رو اضافه نميكنه لطفا منو راهنمايي كنيد خيلي واجبه جان خودتون چند ماهه من تو اين موندم شايد مشكل خيلي ها هم باشه

kafinetetaha
چهارشنبه 08 دی 1389, 19:26 عصر
دوستان اين نمونه اون مشكل با كدهاش

64274

kafinetetaha
پنج شنبه 09 دی 1389, 12:30 عصر
کسی نیست جواب مارو بده لطفا کمک کنید ترو خدا کمک کنید

ali_najari
پنج شنبه 09 دی 1389, 15:34 عصر
دوست عزيز من تيكه آخرش رو نفهميدم چي شد
اگر امكان داره توضيح بديد

بعد از اينكه يك جنس تكراري رو فرضا در خط 10 پيدا كرد مقدار اون را تغيير ميده درست؟
حالا در ادامه ميخوايد چيكار كنيد؟

kafinetetaha
پنج شنبه 09 دی 1389, 18:15 عصر
دوست عزيز من تيكه آخرش رو نفهميدم چي شد
اگر امكان داره توضيح بديد

بعد از اينكه يك جنس تكراري رو فرضا در خط 10 پيدا كرد مقدار اون را تغيير ميده درست؟
حالا در ادامه ميخوايد چيكار كنيد؟
سلام میخام اگه یه جنس همنام و هم ماخذ پیدا کرد فقط گرم و کیلوشو با جمع کل جمع کنه -مشکل من اینه که این کارو میکنعه ولی جنس بعاز اون جنس تکراریو اضافه نمیکنه

kafinetetaha
شنبه 11 دی 1389, 18:18 عصر
سلام اساتید محترم کسی بلد نیست ج این سوالو بده

ali_najari
شنبه 11 دی 1389, 20:04 عصر
خوب دوست عزی شما باید یه کاری بکنی و اینم اینه که هنگامی که داری رکورد رو وارد کردی حلقه رو خارج کن و برای اضافه کردن رکورد جدید با حلقه رو شروع کن و در صورتی که پیدا نکرد یک رکورد جدید اضافه کن و در صورت یافت شده مقدارها رو تغییر بده!

من توی یکی از برنامه هام دارم از همین روش استفاده میکنم و مشکلی هم نداشتم تا بحال

kafinetetaha
سه شنبه 14 دی 1389, 17:07 عصر
آقا این سورس من کجاش اشکال داره

For i As Integer = 0 To dgv1.Rows.Count - 1
Dim jens As String = dgv1.Item("col1", i).Value
Dim ma1 As String = dgv1.Item("col_ma1", i).Value
If dgv4.Rows.Count = 0 Then
dgv4.Rows.Add()
dgv4.Item("col_name4", dgv4.Rows.Count - 1).Value = dgv1.Item("col1", i).Value
dgv4.Item("col_gramkol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_gram1", i).Value
dgv4.Item("col_kilokol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_kilo1", i).Value
dgv4.Item("col_makol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_ma1", i).Value
Else
For j As Integer = 0 To dgv4.Rows.Count - 1
Dim jkol As String = dgv4.Item("col_name4", j).Value
Dim makol As String = dgv4.Item("col_makol", j).Value
If jkol = jens And ma1 = makol Then

Dim skol As String
skol = Val(dgv1.Item("col_gram1", i).Value) + Val(dgv4.Item("col_gramkol", j).Value)
If skol >= 1000 Then
Dim gkol As String
gkol = skol Mod 1000
dgv4.Item("col_gramkol", j).Value = gkol
Dim kkol As String
kkol = skol \ 1000
dgv4.Item("col_kilokol", j).Value = Val(kkol) + Val(dgv4.Item("col_kilokol", j).Value)
Else
dgv4.Item("col_gramkol", j).Value = Val(dgv1.Item("col_gram1", i).Value) + Val(dgv4.Item("col_gramkol", j).Value)
dgv4.Item("col_kilokol", j).Value = Val(dgv1.Item("col_kilo1", i).Value) + Val(dgv4.Item("col_kilokol", j).Value)
End If
Exit Sub
End If
Next j
End If
dgv4.Rows.Add()
dgv4.Item("col_name4", dgv4.Rows.Count - 1).Value = dgv1.Item("col1", i).Value
dgv4.Item("col_gramkol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_gram1", i).Value
dgv4.Item("col_kilokol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_kilo1", i).Value
dgv4.Item("col_makol", dgv4.Rows.Count - 1).Value = dgv1.Item("col_ma1", i).Value
Next i