ورود

View Full Version : حذف ركوردهاي بانك اطلاعاتي



shahram_g
یک شنبه 11 اسفند 1387, 15:45 عصر
من از كامپوننت microsoft ADO data control استفاده كردم و براي حذف تمامي ركوردهاي يك جدول از اكسس از كد زير استفاده كردم:

Ad.RecordSource = "delete * from table1"
Ad.Refresh



ولي متاسفانه ضمن اينكه ركوردها حذف مي شوند ولي با يك پيغام خطا مواجه مي شوم به اين مضمون :

operation is not allowed when the object is closed


از دوستان اگر كسي طريقه درست حذف تمام ركوردهاي يك جدول رو ميدونه لطفا راهنمايي كنه.
ممنون

xman_dj
یک شنبه 11 اسفند 1387, 17:55 عصر
فکر کنم ad رو open نکردی


If ad.State = 1 Then ad.Close
ad.open


در آخر هم ad رو دوباره ببند

shahram_g
یک شنبه 11 اسفند 1387, 18:56 عصر
اصلا ADO data control متدهاي open , close, state به اين شكل كه ميگيد نداره؟؟!!

shahram_g
دوشنبه 12 اسفند 1387, 18:38 عصر
يعني كسي از دوستان تا حالا با دستورات sql كل ركوردهاي يك جدول اكسس رو پاك نكرده!!؟؟

aidin1386
دوشنبه 12 اسفند 1387, 20:42 عصر
دوست من شما اگه مي تونيد به جاي استفاده از adodc از ارتباط دستي استفاده كنيد. چون من زياد با adodc كار نكردم نتونستم مشكل شما رو حل كنم. توي اين بخش اصلاً شبيه كد دستي نيست. اين كد رو به جاي كد خودتون قرار بديد كار خواهد كرد:لبخند:


Set Conn = New ADODB.Connection
Set rst = New ADODB.Recordset

Conn.Provider = "Microsoft.JET.OLEDB.4.0"
Conn.ConnectionString = "Masire bank"
Conn.CursorLocation = adUseClient
Conn.Open

SQL = "delete * from table1"

rst.ActiveConnection = Conn
rst.CursorType = adOpenKeyset
rst.CursorLocation = adUseClient
rst.Open SQL


حالا اگه بخواين روي يه ديتا گريد نمايش بديد بايد از دستور زير استفاده كنيد.


Set DataGrid1.DataSource = rst
DataGrid1.Refresh

y.saied
شنبه 02 خرداد 1388, 10:02 صبح
من از كامپوننت microsoft ADO data control استفاده كردم و براي حذف تمامي ركوردهاي يك جدول از اكسس از كد زير استفاده كردم:

"Adodc.RecordSource = "delete * from table1
Adodc.Refresh




ولي متاسفانه ضمن اينكه ركوردها حذف مي شوند ولي با يك پيغام خطا مواجه مي شوم به اين مضمون :




operation is not allowed when the object is closed






لطفا راهنمايي بفرمائيد

M_P_1374
شنبه 02 خرداد 1388, 11:37 صبح
اول از منوی Refrences گزینه Microsoft ActiveX data Objects 2.0 Library رو فعال کنید بعد از این کد استفاده کنید

On Error Resume Next
Const strconnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database Address;Persist Security Info=False"

Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command

cnn.ConnectionString = strconnection
cnn.Open

cmd.ActiveConnection = cnn
cmd.CommandText = "delete * from TableName"

cmd.Execute
cnn.Close
Database Address: آدرس پایگاه داده رو جای این بنویسید
TableName:اسم جدولی که میخواین خالی شه

moghadam1372
جمعه 08 مهر 1390, 15:49 عصر
منم دقیقا کشکل شما رو دارم اگه مشکلتون حل شد به منم خبر بدید؟
با تشکر

look20
شنبه 09 مهر 1390, 09:07 صبح
با سلام به این آدرس برید شاید مشکلتون حل بشه
http://barnamenevis.org/showthread.php?262083-%DA%86%D8%B7%D9%88%D8%B1%DB%8C-%D9%85%D8%B4%DA%A9%D9%84-Operation-is-not-allowed-when-the-object-is-closed-%D8%B1%D9%88-%D8%AF%D8%B1-ADODC-%D8%AD%D9%84-%DA%A9%D9%86%D9%85