我有一个方法来重命名表列名称。vba调用函数时Byref参数类型不匹配
Public Function Rename_Column(tablename As String, oldcolumn As String, newcolumn As String)
Dim dbs As Database, tdf As TableDef
Set dbs = CurrentDb
For Each tdf In dbs.TableDefs
If tdf.Name = tablename Then
For Each fld In tdf.Fields
If fld.Name = oldcolumn Then
fld.Name = newcolumn
End If
Next
End If
Next
dbs.Close
End Function
我打电话在其他程序中的该功能
Public Sub querylistboxitems()
Dim strTableName As String
strTableName = "Table1"
Call Rename_Column(strTableName, "old", "New")
End Sub
但它给了一个错误“ByRef参数类型不匹配”
在哪一行? VBE应该以不匹配的方式来处理线路......它看起来像对我来说正确地建立了呼叫。你有3个字符串,所以你应该可以在那里... – MattB
它是在hilighting ** strTableName **在querylistboxitems **程序 – vuyy1182
尝试在您的函数中抛出变量声明的ByVal infront,之前我已经为我做过这项工作 – pegicity