想用以下代码修改Acess表的列名称:
将列明中的: 201811、201809、201806、 201803 、201712、 201709
分别替换为:201902、201901、201812、201811、201809、201806
例如:_201806变成_201812,代码如下:
Private Sub Command0_Click()
Dim MyDB As New ADOX.Catalog
Dim Obj As ADOX.Table
Dim Col As ADOX.Column
Dim GetChar, GetChar1 As String
Dim Loc, Loc1 As Integer
MyDB.ActiveConnection = CurrentProject.Connection
For Each Obj In MyDB.Tables
If Obj.Name = "客户" Then
For Each Col In MyDB.Tables(Obj.Name).Columns
' 获取最后一个_的位置
Loc = InStrRev(Col.Name, "_")
'获取将账期与其它字符分开
GetChar = Right(Col.Name, 6)
GetChar1 = Left(Col.Name, Loc)
If GetChar = "201709" Then Obj.Columns(Col.Name).Name = GetChar1 + "201806"
If GetChar = "201712" Then Obj.Columns(Col.Name).Name = GetChar1 + "201809"
If GetChar = "201803" Then Obj.Columns(Col.Name).Name = GetChar1 + "201811"
If GetChar = "201806" Then Obj.Columns(Col.Name).Name = GetChar1 + "201812"
If GetChar = "201809" Then Obj.Columns(Col.Name).Name = GetChar1 + "201901"
If GetChar = "201811" Then Obj.Columns(Col.Name).Name = GetChar1 + "201902"
' End If
Next Col
End If
Next Obj
MsgBox "表列名批量修改完毕"
End Sub
但运行程序后报错,全部程序及具体报错截图见附件;
报错时GetChar1的值为"_",请教各位是什么原因;