【问题标题】:VBA update or delete row in CSVVBA 更新或删除 CSV 中的行
【发布时间】:2021-07-09 16:17:18
【问题描述】:

我正在做一个项目,我必须将 CSV 用作小型 SQL 数据库。 我正在使用 VBA 与该数据库进行通信。

我想知道是否有办法更新(或删除)现有行(记录)。

我已设法使用以下代码插入新行,但无法修改现有行。

Sub WriteData()
    ' some Code
    Open str_Path For Append As #1
    str_Data = ' Semicolon separated value in a string
    Print #1, str_Data
    Close #1
End Sub

我也尝试过使用 ADODB Recordset 对象,但我无法创建正确的连接字符串来理解分隔符是“;”。

非常感谢您的任何帮助或想法 :) 最好的, 最大

【问题讨论】:

  • 在您尝试执行更新时发布您使用的代码将有助于您的问题。
  • 我没试过。我已经在网上阅读了一些东西,但我没有找到我要找的东西! (也许我也是新手了解一些解决方案)
  • 我认为您不能使用 ADO 更新 CSV 中的一行。

标签: sql vba csv ado


【解决方案1】:

我确信有一个更优雅的解决方案,可能使用 VBA 的Open 语句,但我会使用 Excel,如下所示。

Dim xlApp, xlWb, xlWs

On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If xlApp Is Nothing Then _
Set xlApp = CreateObject("Excel.Application")
On Error GoTo 0

Set xlWb = xlApp.Open("C:\blahblah.csv")
Set xlWs = wlWb.Sheets("Sheet1")

xlWs.Row(1).EntireRow.Delete 'Change 1 to whatever you want

【讨论】:

    【解决方案2】:

    使用FileSystemObject object

    使用它,您可以轻松地浏览、读取、删除行并将行追加到文本文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多