ورود

View Full Version : ذخيره ركورد حتي بعد از cancel كردن



abulfazl
یک شنبه 23 فروردین 1388, 13:30 عصر
سلام من اين تاپيك رو قبلا ايجاد كردم فقط اقاي xxxxx_xxxxx چند تا روش گفتن كه جواب نداد.حالا من هدفم اينه كه كسي با اين كد نتونه 2 تا چيز يك جور ذخيره كنه
با تشكر

Adodc1.Recordset.Filter = "tell1=" + "'" + Text3.text + "'"
If Adodc1.Recordset.RecordCount = 1 Then
Adodc1.Recordset.Update
MsgBox ("ÐÎíÑå ÔÏ")
Else

Adodc1.Recordset.Cancel
'Adodc1.Refresh
w = MsgBox("ÔãÇÑå ÊáÝä 1 ÊßÑÇÑì ÇÓÊ", vbCritical)

End If

xxxxx_xxxxx
یک شنبه 23 فروردین 1388, 21:40 عصر
سلام
اول اين كه قبلاً نوشته بوديد:


If Adodc1.Recordset.RecordCount = 0 Then
همون صفر درسته.

دوم اين كه دوست عزيز من شمارو راهنمايي كردم كه كار ذخيره اطلاعات تو بانك رو به طور دستي انجام بديد نه با ارتباط textbox با بانك.
به اين صورت:


Adodc1.RecordSource = "SELECT * FROM Table1 WHERE tell1='" & Text3.Text & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount = 0 Then
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields!Driver = Text3.Text
Adodc1.Recordset.Update
Else
MsgBox "Çíä ãæÑÏ ÞÈáÇð ËÈÊ ÔÏå ÇÓÊ"
End If
من خودم هميشه از همين روش استفاده مي كنم. چون ارتباط textbox ها با بانك هميشه برام مشكل ساز بودن. يكيش هميني كه شما ميگيد.
وقتي textboxي با فيلدي از جدول ارتباط داشته باشه و شما AddNew كنيد و توي text هم چيزي بنويسيد هيچ نيازي به update براي ذخيره شدن نداره. يعني اگه شما update هم نكردي باز هم عبارت توي textbox تو فيلد جدول ذخيره ميشه. به همين خاطر هست كه تو تاپيك قبل گفتم بجاي Cancel بنويسيد CancelBatch

اولين كاري كه تو تاپيك قبلي گفتم درست عمل مي كنه. شما به برنامه اي كه ضميمه كردم نگاه كنيد. بدون اين كه روي دكمه update كليك كنيد روي دكمه End كليك كنيد مي بينيد كه چيزي توي table ذخيره نميشه چون قبل از End نوشتيم:


Adodc1.Recordset.CancelBatch adAffectAllChapters
فولدر sample رو تو درايو C قرار بديد.
موفق باشيد/