我的子例程有问题,我想替换同一数据库中其他形式的字段的值,如果我将其放入buttom中,我的代码可以正常运行,但是我想做一个子例程,因为我想使用它更多的时间。
所以,我有这段代码:
Public Sub actualizarContador (contadorId As String, contadorTmp As Integer, contadorActual As Integer,contadorNuevo As Integer)
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim odoc As NotesDocument
Dim estado As String
Set uidoc = ws.Currentdocument
estado = uidoc.Fieldgettext("Estado")
If estado = "Borrador" Then
Set odoc = db.GetDocumentByUNID(uidoc.FieldGetText(contadorId))
contadorTmp = Cint(contadorActual) + 1
Call odoc.ReplaceItemValue(contadorNuevo, contadorTmp)
Call odoc.Save(True, True)
End If
end sub
然后进入按钮,我使用以下行:
Call actualizarContador (doc.TempoIDContador(0), doc.TempoContadorTmp(0), doc.TempoContadorActual(0), "ContadorUnicoTempo")
我在ContadorUnictoTempo中遇到错误,因为我认为必须在该对象中放入一个字段名称,但是该字段具有数字格式。
有什么建议吗?
谢谢大家
编辑:
感谢努特,我已经解决了这个问题。有两个问题,第一个是字段“ ContadorTmp”,它没有值,现在它的值为0。这是类型不匹配的第一个错误。
第二个错误是uidoc类,它没有找到id字段。我刚完成代码,它运行正常。
Public Sub actualizarContador (contadorId As String, contadorTmp As Integer, contadorActual As Integer, contadorNuevo As String)
Dim ws As New NotesUIWorkspace
Dim ns As New NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim odoc As NotesDocument
Dim estado As String
Dim id As String
set db = ns.Currentdatabase
Set uidoc = ws.Currentdocument
estado = uidoc.Fieldgettext("Estado")
id = contadorId
If estado = "Borrador" Then
Set odoc = db.GetDocumentByUNID(id)
contadorTmp = CInt(contadorActual) + 1
Call odoc.ReplaceItemValue(contadorNuevo, contadorTmp)
Call odoc.Save(True, True)
End If
End Sub
定义contadorNuevo参数As String
,然后它将起作用。
Public Sub actualizarContador (contadorId As String, contadorTmp As Integer,
contadorActual As Integer,contadorNuevo As String)
您应该测试是否找到了odoc
Set odoc = db.GetDocumentByUNID(uidoc.FieldGetText(contadorId))
If odoc Is Nothing Then Error 1000, "Couldn't find document"
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句