I have a form with a datagrid that allows user to insert data into the datagrid columns.I have created a InsertRecords function that i called when the user click on the cmdAdd button. I faced an error message that says "Run-time error '3704', operation is not allowed when the object is closed" when i tried to insert records into my sql server 2000 database.Appreciate if i can obtain some advice from some experts, thanks! My code is as follows:
================================================
Sub InsertRecords()
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As ADODB.Command
Dim prm1 As New ADODB.Parameter
Dim prm2 As New ADODB.Parameter
Dim prm3 As New ADODB.Parameter
Dim prm4 As New ADODB.Parameter
Dim strconnect As String
strconnect = "DSN=pubs;uid=sa;pwd=stephanie"
con.Open strconnect
con.CursorLocation = adUseClient
Set cmd = New ADODB.Command
cmd.ActiveConnection = con
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "insert_category"
Set prm1 = cmd.CreateParameter("Category_Name_VC", adVarChar, adParamInput, 15, dgResults.Columns(0))
Set prm2 = cmd.CreateParameter("Sales_IN", adInteger, adParamInput, , dgResults.Columns(1))
Set prm3 = cmd.CreateParameter("Cos_IN", adInteger, adParamInput, , dgResults.Columns(2))
Set prm4 = cmd.CreateParameter("Pdt_Category_VC", adVarChar, adParamInput, 20, dgResults.Columns(3))
With cmd
.Parameters.Append prm1
.Parameters.Append prm2
.Parameters.Append prm3
.Parameters.Append prm4
End With
Set rs = cmd.Execute
rs.Open
If rs.RecordCount > 0 Then '<--run-time error occurred under this line
rs.MoveFirst
Do Until rs.EOF
With rs
.AddNew 'FieldList, Values
rs.Fields("Category_Name_VC").Value = dgResults.Columns(0)
rs.Fields("Sales_IN").Value = dgResults.Columns(1)
rs.Fields("Cos_IN").Value = dgResults.Columns(2)
rs.Fields("Pdt_Category_VC").Value = dgResults.Columns(3)
End With
Loop
End If
Set dgResults.DataSource = rs
rs.Close
Set cmd.ActiveConnection = Nothing
End Sub
================================================
Private Sub cmdAdd_Click()
Call InsertRecords
End Sub
Mod Edit: Please use code tags when posting your code. Code tags are used like so =>
Thanks,
PsychoCoder

New Topic/Question
Reply




MultiQuote





|