【问题标题】:Change value of the column .csv file using Access VBA使用 Access VBA 更改列 .csv 文件的值
【发布时间】:2020-03-10 12:00:46
【问题描述】:

我有一个 .dat 文件,我保存为 .csv 文件,并将其导入到表格中,好的。但是这个文件在第一列有= HOUR "hnnss"。文件名包含我已经设法将其分开并将其保存在 variable=date 中的日期。

我的问题是:将文件另存为 .csv 时,我需要打开文件,将第一列的值从 hnnss 更改为 data hh:nn:ss,然后保存并关闭,然后才将其导入桌子。它需要按这个顺序。感谢您的帮助。

PS:我使用的是 Access 365 + VBA 7.1

【问题讨论】:

  • 哪一部分你不知道怎么做?读取文件、查找列或更改时间格式?
  • 您好弗拉多,感谢您的回答。我需要读取 HOUR 列(红色)中的值并更改为绿色 dd/mm/yyyy hh:nn:ss 格式。这部分红色只是时间 hh;nn:ss ,但是我有一个带有日期的变量,所以我必须在这个专栏中做 Mydate & hh:nn:ss 。

标签: vba ms-access concatenation


【解决方案1】:

Andreia:您可以使用Import csv to array 和此循环中的方法读取文件:

    For i = 2 To UBound(aryFile) - 1  ' in your case start with second line
        tsOut.WriteLine aryFile(i)
    Next

像这样实现格式化:

    ' in your case start with second line if the 1st is header
    For i = 1 To UBound(aryFile) - 1  
        aryRow = Split(aryFile(i), ",")
        aryRow(0) = formatTime(aryRow(0), aryRow(?)) ' replace ? with index of date field
        tsOut.WriteLine Join(aryRow,",")
    Next

上面的代码使用了你需要编写的函数formatTime(fieldWithTime, fieldWithDate),它会返回整个日期的格式化字符串。我把它留给你。如果您无法编写代码,请告诉我,但在这种情况下,您宁愿阅读一些有关 VBA 编程的书籍。

注意:我没有调试代码。这只是一个想法。

【讨论】:

  • 我检查了我以前的脚本,发现我正在将 .dat 文件转换为 .csv 并添加了替换“:”,这就是我浪费“:”小时的原因。所以,我取消了那部分,我不需要包含“:”,因为原始文件已经有了它。之后我使用查询将我已经拥有的日期与时间连接起来。非常感谢!现在我将与选择的笔和日期进行斗争,以显示在表格(表格)上,然后打印该选择。我的表格有大约 200 支笔,我希望表格只显示用户选择的内容。我必须为图形做同样的事情:/
猜你喜欢
  • 1970-01-01
  • 2015-04-02
  • 2016-11-25
  • 2016-02-04
  • 2017-06-05
  • 1970-01-01
  • 2016-10-22
  • 2020-08-30
  • 1970-01-01
相关资源
最近更新 更多