PDA

View Full Version : مشکل در data grid



fateme_shourabi
شنبه 16 اردیبهشت 1385, 09:47 صبح
سلام خسته نباشید.
هنگام اضافه کردن در adodc داده ى اضافه شده جایگزین اولین داده در data grid مى شوند.

Private Sub C2_Click()
flag = 0
Do While (Adodc1.Recordset.EOF = False)
Adodc1.Recordset.MoveNext
If (Adodc1.Recordset.Fields("نام دارو") = T1.Text) Then
j = MsgBox("داده تکرارى مى باشد.", vbOKOnly + vbDefaultButton1 + vbCritical, "توجه")
T1.Text = ""
T2.Text = ""
T3.Text = ""
T4.Text = ""
T5.Text = ""
T6.Text = ""
T7.Text = ""
T8.Text = ""
T9.Text = ""
flag = 1
End If
Loop
If flag = 0 Then
i = MsgBox("آیا مطمئن هستید که مى خواهید داده را ذخیره کنید؟", vbYesNo + vbDefaultButton1 + vbQuestion, "توجه")
If i = vbYes Then
Adodc1.Recordset.MoveLast
Adodc1.Recordset.AddNew
End If
Else
T1.SetFocus
End If
End sub

.

birezai
شنبه 16 اردیبهشت 1385, 10:47 صبح
با سلام
احتمالا سطر Adodc1.Recordset.MoveLast لازم نباشد
چون سطر Adodc1.Recordset.AddNew کار اضافه کردن جایی برای رکورد جدید را انجام میدهد
بعدش باید مطالب تکست هایتان را در Adodc مقدار دهی میکردید که معلوم نیست اینکار شده یا نه
بعد از دستور Adodc1.Recordset.Update باید استفاده میشد تا کار ذخیره سازی کامل میشد.
مثل :
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields!Name= Text1.Text
Adodc1.Recordset.Fields!Family= Text2.Text
Adodc1.Recordset.Update

البته در ثبت موفقیت آمیز یک جدول که فیلد کلید هم داشته باشه رعایت موارد غیر تکراری هم لازم است.
بعدش هم به نظر میرسد مشکل را باید در محدوده Adodc جستجو کرد و نه در دیتاگرید.
با تشکر