Dim dbc As ADODB.Connection Dim cmd As ADODB.Command Set dbc = New ADODB.Connection dbc.Open "DSN=GALSTA Postgres;", UserID, Password ' Verify that the connection opened properly. If dbc.State And adStateOpen Then Debug.Print "Connected" ' This method works. ' dbc.Execute "Insert into CHAPTER (CHAPTERID, CHAPTERDESC) values (1,'test1')" ' Start the second method. Set cmd = New ADODB.Command Set cmd.ActiveConnection = dbc cmd.CommandText = "Insert into CHAPTER (CHAPTERID, CHAPTERDESC) values (?,?)" ' Error on next line: Provider cannot derive parameter information and SetParameterInfo has not been called. cmd.Parameters.Refresh cmd.Parameters.Item(0).Value = 2 cmd.Parameters.Item(1).Value = "test2" cmd.Execute Set cmd = Nothing ' Start the third method. Set cmd = New ADODB.Command Set cmd.ActiveConnection = dbc cmd.CommandText = "Insert into CHAPTER (CHAPTERID, CHAPTERDESC) values (?,?)" Call cmd.Parameters.Append(cmd.CreateParameter("ID", adNumeric, adParamInput, 4)) Call cmd.Parameters.Append(cmd.CreateParameter("DESC", adVarChar, adParamInput, 80)) cmd.Parameters.Item(0).Value = 3 cmd.Parameters.Item(1).Value = "test3" ' Error on next line: Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. cmd.Execute Set cmd = Nothing ' Start the fourth method. Set cmd = New ADODB.Command Set cmd.ActiveConnection = dbc cmd.CommandText = "Insert into CHAPTER (CHAPTERID, CHAPTERDESC) values (?,?)" Call cmd.Parameters.Append(cmd.CreateParameter("ID", adNumeric, adParamInput, 4, 4)) Call cmd.Parameters.Append(cmd.CreateParameter("DESC", adVarChar, adParamInput, 80, "test4")) ' Next line produces the same error as the third method. cmd.Execute Set cmd = Nothing ' Done dbc.Close End If Set dbc = Nothing