PDA

View Full Version : مشکل در اضافه کردن داده در adodc



fateme_shourabi
جمعه 22 اردیبهشت 1385, 08:03 صبح
سلام.
وقت شما بخیر.

این تکه برنامه مربوط به اضافه کردن مشخصات یک پزشک به بانک اطلاعاتى است.متاسفانه هر بار پیام "داده تکرارى وارد شده"ظاهر مى شود .
flag = False
Do Until (Adodc1.Recordset.EOF = True)
If (Adodc1.Recordset.Fields("نظام پزشکى") = T4.Text) Then
flag = True
Exit Do
Else
Adodc1.Recordset.MoveNext
End If
Loop
If flag = True Then
i = MsgBox("داده وارد شده تکرارى بود.دوباره سعى کنید", vbOKOnly + vbDefaultButton1 + vbInformation, "توجه")
T1.Text = ""
T2.Text = ""
T3.Text = ""
T4.Text = ""
T1.SetFocus
End If
If flag = False Then
i = MsgBox("آیا مطمئنید که مى خواهید ذخیره کنید", vbYesNo + vbDefaultButton1, "توجه")
If i = vbYes Then
Adodc1.Recordset.MoveLast
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("نام") = T1.Text
Adodc1.Recordset.Fields("نام خانوادگى") = T2.Text
Adodc1.Recordset.Fields("تخصص") = T3.Text
Adodc1.Recordset.Fields("نظام پزشکى") = T4.Text
Adodc1.Recordset.Update
i = MsgBox("داده ذخیره شد", vbOKOnly)
End If
End If
لطفا اشکال برنامه رابگوئید.
در ضمن آیا مى توان datagrid را با چند سطر محدود نشان داد و تمام رکوردهاى جدول قابل مشاهده نباشد؟
با تشکر

mahdi_farhani
جمعه 22 اردیبهشت 1385, 12:19 عصر
سلام دوست عزیز
اول باید بگم که اگر خواستید کدی را بذارید لطفا تو تگ کد بزارید تا حداقل خواندنش راحتر بشه .
ثانیاٌ چرا نام فیلد تون فارسی هیچ وقت از نام فارسی استفاده نکنید .
ثالثاٌ این کد رو برای چی گذاشتید ؟


Do Until (Adodc1.Recordset.EOF = True)
If (Adodc1.Recordset.Fields("نظام پزشکی") = T4.Text) Then
flag = True
Exit Do

اگه می خواستید فیلد تکراری نداشته باشی از خاصیت کلید برای فیلد استفاده کنید و با استفاده از کنترل Error میتونی متوجه بشی که آیا این رکورد تکراری است یا نه . این همه در سر هم احتیاج نبود ....
برای سوال دومتون هم فکر کنم بشه با فیلتر دقیقاٌ نمیدونم .

amirsadeghi
شنبه 28 مرداد 1385, 23:16 عصر
میشه یه کمی بیشتر توضیح بدین
این erorr رو اگه میشه بیشتر توضیح بدین