我已将新记录添加到DAO-使用现有代码从现有表创建的记录集:
Sub insertar(Indicador As String, tolerancia As Boolean, ahora As Date)
Dim dbsCMDBObs As DAO.Database Dim rstTablaresumen As DAO.Recordset
Set dbsCMDBObs = CurrentDb
Set rstTablaresumen = dbsCMDBObs.OpenRecordset("Tabla Resumen")
DoCmd.OpenForm "Resumen", acNormal
rstTablaresumen.AddNew
rstTablaresumen("Indicador") = Indicador
rstTablaresumen("Descripción") = Forms!resumen.Controls("L" & Indicador & "Nombre").Caption
rstTablaresumen("Tolerancia") = tolerancia
rstTablaresumen("timestamp") = ahora
rstTablaresumen.Update
rstTablaresumen.Close
DoCmd.OpenForm "Resumen", acDesign
Set rstTablaresumen = Nothing
Set dbsCMDBObs = Nothing
End Sub
接下来我要做的是将包含新添加的记录的表导出到Excel:
Sub exportarexcel()
If Forms("Carga y Resumen").Controls("Exportar").Value = True Then
DoCmd.OutputTo acOutputTable, "Tabla Resumen", acFormatXLS, , True
End If
End Sub
导出过程结束,工作簿打开但是该表没有添加的记录,尽管该表,如果在Acces中查询,它确实会显示它。
完成!我不知道这是一个不错的解决方案,还是只是“解决方案”,但它解决了我的问题:
...
rstTablaresumen.Update
rstTablaresumen.Close
dbsCMDBObs.Close ' Just Closing the dbs that contains the rst solves the problem