I tried to search in the Codebank but did not find any thread showing how to create a disconnected recordset without a database. Here is an easy way to create a recordset without an active connection to the any database. Basically when we create a recordset without a database connection we will need to create the fields and then add records to it.

VB Code:
  1. Dim rsTemp As ADODB.Recordset
  2.     Set rsTemp = New ADODB.Recordset
  3.    
  4.     rsTemp.ActiveConnection = Nothing
  5.     rsTemp.CursorLocation = adUseClient
  6.     rsTemp.LockType = adLockBatchOptimistic
  7.    
  8.     'create fields
  9.     rsTemp.Fields.Append "ID", adChar, 5
  10.     rsTemp.Fields.Append "Name", adVarChar, 50
  11.     rsTemp.Open
  12.    
  13.     'add a new record
  14.     rsTemp.AddNew
  15.     rsTemp.Fields("ID") = "1"
  16.     rsTemp.Fields("Name") = "SomeName"
  17.     rsTemp.Update
  18.    
  19.     'print the values
  20.     Debug.Print rsTemp.Fields(0).Name & " : " & rsTemp.Fields(0).Value
  21.     Debug.Print rsTemp.Fields(1).Name & " : " & rsTemp.Fields(1).Value
  22.    
  23.     'print the recordcount
  24.     Debug.Print rsTemp.RecordCount
  25.    
  26.     rsTemp.Close
  27.     Set rsTemp = Nothing
It is also important that we keep in mind that this recordset is just created in memory and once the recordset is closed or the program terminates the data saved in the recordset will be lost.

We can also save the data to an XML file or a Binary file using the save method of the recordset object.
VB Code:
  1. 'save as binary
  2. rsTemp.Save "C:\TemporaryData.dat", adPersistADTG
  3. 'save as XML
  4. rsTemp.Save "C:\TemporaryData.xml", adPersistXML