excel - Excel vba CopyFromRecordset 不粘贴日期格式的单元格
问题描述
我有 2 个 Excel 文件,第一个是人们可以修改和上传新信息的地方,第二个是一个数据库,当其他 excel 已上传时,我在其中放置所有信息。
例如,当我从另一个 Excel 将一个包含信息的新行放入我的数据库时,问题就开始了,当我打开第一个 excel 时,我的代码必须 CopyFromRecordset 才能从数据库中获取所有信息并显示在第一个擅长。发生这种情况时,代码会粘贴所有信息,但它不会粘贴两个包含日期信息的单元格,它显示为空,我不知道如何修复它。
我一直在寻找问题出在哪里,当我向数据库添加信息时,如果我打开这个数据库,在包含新信息的单元格上加上日期信息,我按“F2”和“回车”,此时,当我将数据库中的 CopyFromRecordset 复制到第一个 excel 时,它可以工作,并复制这两个单元格。
我希望你们能帮助我,因为你们知道,假设不打开数据库并这样做。
我在这里过去的代码:
第一个是当我在第一个 excel 中添加新信息并放入数据库时:
Public objFSO, objFile As Object
Public bdFile, ConnString As String
Sub SyncBD()
bdFile = Sheet3.Range("O2").Value 'This is when I put the rute of the file (Data Base)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(bdFile)
Kill (bdFile)
ThisWorkbook.Sheets("BDinhibSCE").Copy
ActiveWorkbook.SaveAs bdFile, FileFormat:=51
ActiveWorkbook.Close False
End Sub
第二部分是当数据库中有新信息时,我想将数据库中的信息带到第一个 excel 中。
Public conn As New ADODB.Connection
Public record As New ADODB.Recordset
Public cmd As New ADODB.Command
Sub SyncBD2()
cmd.CommandTimeout = 0
conn.Open "Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & Sheet3.Range("O2").Value & >";Extended Properties=""Excel 12.0 Xml;HDR=Yes;"";"
record.Open "select*FROM[BDinhibSCE$]", conn
Sheet1.Cells(2, 1).CopyFromRecordset record
record.Close
conn.Close
End Sub
这是数据库的截图
正如您在“Fecha de inhibición”列中看到的那样,我放了一个日期格式,这是在我运行代码的第二部分时不会粘贴到 excel 1 上的日期,直到我单击包含新信息的单元格然后按“F2”+“Enter”。
重要的是,这仅在我插入新行时发生,并且仅在包含日期信息的单元格中发生。
解决方案
推荐阅读
- javafx - Javafx MediaException:MEDIA_UNAVAILABLE jar 文件
- python - 将数据框格式化为excel
- python - 有没有办法让一个两位数的整数在列表中被计算时不被拆分?
- gstreamer - GStreamer - fakesink0:sink) (4096 bytes, dts: none, pts: none, duration: none for filesrc 从 srt 文件中读取的第一行文本
- r - 如何在非泊松 lmer 模型中计算过度分散
- c# - 如何在 ASP.NET Core 的 JSON 反序列化过程中将枚举的等价物转换为枚举?
- javascript - 量角器失败:如果我在一个 JS 文件中有 20 多个测试,则脚本超时
- ruby-on-rails - 如果主服务器出现故障,如何设置 mongoid 重试
- java - 在 Spring Boot 中使用 @autowire 注释重载构造函数
- xml - 使用 Schematron 检查是否在目标 XML 文档中定义了参考 XML 的每个元素