如何删除长文本格式“@”(MS Access)
How to remove long text format "@" (MS Access)
我正在使用 Access Office 365 MSO。
在将 excel 文件导入 access 时,有时长文本列将分配格式为“@”。这会以某种方式导致截断内容。目前我必须手动删除这个“@”符号,但目标是拥有一个 VBA 代码,该代码将删除数据库中所有现有表的长文本列的所有“@”。
我发现了这个 post Change column data type and format,但是我对 VBA 的了解不足以解决这个问题。有人可以帮忙吗?
Example of a long text column with format "@"
将代码放在通用模块中的过程中,然后 运行 将其放在那里或从另一个过程中调用。
Sub DelFmt()
Dim def As DAO.TableDef
Dim fld As DAO.Field
Dim prpName As String
prpName = "Format"
For Each def In CurrentDb.TableDefs
If Not def.name Like "?Sys*" And Not def.name Like "f*" Then
For Each fld In def.Fields
On Error Resume Next
fld.Properties(prpName) = "@"
If Err.Number <> 3270 Then
fld.Properties.Delete prpName
End If
Next
End If
Next
End Sub
我正在使用 Access Office 365 MSO。 在将 excel 文件导入 access 时,有时长文本列将分配格式为“@”。这会以某种方式导致截断内容。目前我必须手动删除这个“@”符号,但目标是拥有一个 VBA 代码,该代码将删除数据库中所有现有表的长文本列的所有“@”。
我发现了这个 post Change column data type and format,但是我对 VBA 的了解不足以解决这个问题。有人可以帮忙吗?
Example of a long text column with format "@"
将代码放在通用模块中的过程中,然后 运行 将其放在那里或从另一个过程中调用。
Sub DelFmt()
Dim def As DAO.TableDef
Dim fld As DAO.Field
Dim prpName As String
prpName = "Format"
For Each def In CurrentDb.TableDefs
If Not def.name Like "?Sys*" And Not def.name Like "f*" Then
For Each fld In def.Fields
On Error Resume Next
fld.Properties(prpName) = "@"
If Err.Number <> 3270 Then
fld.Properties.Delete prpName
End If
Next
End If
Next
End Sub