Sto eseguendo questo codice nella sottomascheda del mio foglio dati quando il mio modulo viene caricato e non ricevo messaggi di errore o interruzioni di codice. Il mio debug.print mostra che il Recordset rs è pieno di 2131 record come dovrebbe, ma il mio modulo mostra una singola riga con #Nome? in ogni campo Sicuramente le proprietà della sorgente di controllo sui miei controlli corrispondono ai nomi dei campi che ho elencato sopra. RS è una variabile a livello di modulo e non la sto chiudendo o non la imposto fino a quando il modulo non si chiude.In memoria, Stand-Alone, disconnessione recordset ADO
Qualche idea di cosa sto sbagliando?
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, così ho appena letto this on the MSDN site:
Il recordset deve contenere uno o più campi che sono indicizzati in modo univoco, come la chiave primaria di una tabella.
(Nota: Questa informazione sembra essere errato in questo contesto.)
Questo è un tavolino (4 campi). Ma immagino di non aver mai dovuto davvero svilupparmi per le imprese, quindi sono abituato a inserire grandi quantità di dati (10.000 record e talvolta di più) in viste del foglio dati. Con Gigabit Ethernet e dischi rigidi veloci nel nostro server non ho lamentele da parte dei miei utenti, anche se stiamo usando DAO con tabelle collegate ODBC. Quindi, non sto davvero scusando il mio approccio tanto quanto sto solo dicendo che "finora" funziona davvero abbastanza bene. – HK1