Estoy ejecutando este código en el subformulario de mi hoja de datos cuando se carga mi formulario y no recibo ningún mensaje de error o salto de código. Mi debug.print muestra que Recordset rs está lleno de 2131 registros como debería ser, pero mi formulario muestra una sola fila con #Name? en todos los campos Las propiedades de la fuente de control en mis controles sin duda coinciden con los nombres de campo que he enumerado anteriormente. RS es una variable de nivel de formulario y no la estoy cerrando ni configurándola en nada hasta que se cierre el formulario.En memoria, independiente, Recordset ADO desconectado
¿Alguna idea de qué estoy haciendo mal?
Set rs = New ADODB.Recordset
rs.Fields.Append "TimesUsed", adInteger
rs.Fields.Append "strWorkType", adVarWChar, 150
rs.Fields.Append "DateLastUsed", adDate
rs.Fields.Append "SelectedYN", adBoolean
Set rs.ActiveConnection = Nothing
rs.CursorLocation = adUseClient
rs.LockType = adLockBatchOptimistic
rs.Open
Dim sSQL As String
sSQL = "MyComplicated SQL Statement Ommitted from this SO Question"
Dim r As DAO.Recordset
Set r = CurrentDb.OpenRecordset(sSQL, dbOpenDynaset, dbSeeChanges)
If Not (r.EOF And r.BOF) Then
r.MoveFirst
Dim fld
Do Until r.EOF = True
rs.AddNew
For Each fld In r.Fields
rs(fld.Name) = r(fld.Name).value
Next
rs.Update
r.MoveNext
Loop
End If
r.Close
Set r = Nothing
Debug.Print rs.RecordCount '2131 records
Set Me.Recordset = rs
OK, por lo que acabo de leer this on the MSDN site:
El conjunto de registros debe contener uno o más campos que están indexados de forma única, como la clave primaria de una tabla.
(Nota: Esta información parece ser errónea en este contexto.)
Este es un pequeño mesa (4 campos). Pero supongo que nunca tuve que desarrollarme realmente para la empresa, así que estoy acostumbrado a extraer grandes cantidades de datos (10.000 registros y, a veces más) en las vistas de la hoja de datos. Con Gigabit Ethernet y discos duros rápidos en nuestro servidor, no recibo quejas de mis usuarios a pesar de que estamos usando DAO con ODBC Linked Tables. Entonces, realmente no disculpo mi enfoque tanto como solo estoy diciendo que "hasta ahora" realmente funciona bastante bien. – HK1