当我运行代码时,它会停止并给我一个错误
3027
Database or Object is Read only
当我点击调试时,它指向rec.edit。
但是我不知道它是如何只读的。我确实检查以确保对象已关闭并且仍然出现相同的错误。提出它的人说它对他们有用,并且他们对 readonly 没有任何问题。有任何想法吗?
Public Function HitTest()
Dim db As Database
Dim rec As DAO.Recordset
Dim fld As DAO.Field
Set db = CurrentDb
Set rec = db.OpenRecordset("PlayerSal")
EditTable = "PlayerSal"
For Each fld In rec.Fields
If fld.Name <> "Name" And fld.Name <> "Salary" And Left(fld.Name, 4) <> "Per_" Then
strFieldName = "Per_" & fld.Name & ""
'rs.Fields (strFieldName)
'X = "IIf(rec([" & fld.Name & "]) <> 0, Format((rec([Salary]) / rec([" & fld.Name & "])), '$#,###.##'), 0)"
If FieldExists(EditTable, strFieldName) Then
Else
'AltTable = "ALTER TABLE " & EditTable & " ADD COLUMN " & strFieldName & " Double;"
'CurrentDb.Execute (AltTable)
End If
rec.Edit
X = IIf(rec((fld.Name)) <> 0, Format((rec("Salary") / rec((fld.Name))), "$#,###.##"), 0)
rec.Fields(strFieldName).Value = X
rec.Update
End If
Next fld
End Function
因为我知道 Access 有时真的很傻,所以我决定尝试一个新的数据库并只导入我需要的几个文件。由于某种原因,我曾经有过随机地做这件事的时候。当我导入您在下面看到的模块时,它然后停在
If FeildsExists(EditTable, strFieldName)
它说 Sub 或 Function 未定义...我不知道这两个是否与简单的事情有关..但这越来越愚蠢了...尤其是当把它放在一起的人让它工作正常时。