title: how to use ADO recordset to create new table based on existing table and set the recordset(new table) as form's record source?
body: <p>i want to use ADO recordset to create new table based on existing table.then i want to set the new table as my form's record source.i know i can create a query and set the query as my form's record source but is it possible if i dont want to use this method? i want the form's record source to exist only when the form load. here's what i've done but still cannot set the form's record source to my recordset.</p>
  
  <pre><code>Private Sub Form_Load()
  
  Dim cnn As ADODB.Connection
  Set cnn = CurrentProject.Connection
  Dim rst As New ADODB.Recordset
  rst.ActiveConnection = cnn
  Dim mySql As String
  'create tblfrmQryOnHold based on tblOnHold
  mySql = "SELECT tblDisposition.ID, tblDisposition.DateRecorded, tblDisposition.OrderNo, tblDisposition.ArticleNo, "
  mySql = mySql &amp; "tblDisposition.Description, tblDisposition.Process, tblDisposition.Defects, tblDisposition.RefNo, "
  mySql = mySql &amp; "tblDisposition.PostedBy, tblDisposition.Status, tblDisposition.Attachment, tblDisposition.Engineer, "
  mySql = mySql &amp; "tblDisposition.Remarks, tblDisposition.ReviewClose, tblDisposition.ScrapNo, tblDisposition.HoldbackNo, "
  mySql = mySql &amp; "tblDisposition.ProductionRemarks, tblDisposition.HoldbackQuantity, tblDisposition.HoldbackNum INTO "
  mySql = mySql &amp; "frmQryOnHold FROM tblDisposition;"
  
  rst.Open mySql
  'set form frmOnHold record source to form frmQryOnHold
  Forms![frmOnHold].RecordSource = frmQryOnHold
  End Sub
  </code></pre>
  
  <p>i get this error "operation is not allowed when the object is close", which object this error refer to?</p>