从 excel 用户表单更新数据库记录
Updating database record from excel userform
我希望使用用户窗体更新数据库记录。我已经在顶部设置了一个用户表单和 ID 号,下面是与数据库其余部分匹配的框列表。选择 ID 号后,我希望填写用户表单中的所有其他框,例如使用 vlookup。以下是当前公式,但由于所有查找函数均以红色显示,因此无法正常工作
Dim SLNo As Integer
SLNo = cmbdid.Value
Me.TextSendCode.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets(“EditForm”).Range(“B10:K13”), 2, 0)
Me.TextReceiveCode.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets(“EditForm”).Range(“B10:K13”), 3, 0)
Me.ComboEntity.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets(“EditForm”).Range(“B10:K13”), 4, 0)
Me.TextAccNumber.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets(“EditForm”).Range(“B10:K3”), 5, 0)
错误状态 - "Expected: list separator or )"
- 这是在 B3:K13
之间的冒号上
对工作有帮助吗?
欢迎来到 SO。您的双引号不正确。您正在使用 ”
,它们应该是 "
。实际上,您用作双引号的任何内容的 ANSI 编号是 148,您应该使用编号为 34 的编号。
注意区别:
你的:(“B10:K13”)
VS 正确的 ("B10:K13")
在所有情况下用 "
替换双引号。
实际上,这应该可以避免您遇到的错误:
Dim SLNo As Integer
SLNo = cmbdid.Value
Me.TextSendCode.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K13"), 2, 0)
Me.TextReceiveCode.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K13"), 3, 0)
Me.ComboEntity.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K13"), 4, 0)
Me.TextAccNumber.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K3"), 5, 0)
更新: 你代码的最后一行是:
Me.TextAccNumber.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K3"), 5, 0)
请注意,您输入的 Range("B10:K3")
带有 3
而不是 13
。我猜应该是 Range("B10:K13")
我希望使用用户窗体更新数据库记录。我已经在顶部设置了一个用户表单和 ID 号,下面是与数据库其余部分匹配的框列表。选择 ID 号后,我希望填写用户表单中的所有其他框,例如使用 vlookup。以下是当前公式,但由于所有查找函数均以红色显示,因此无法正常工作
Dim SLNo As Integer
SLNo = cmbdid.Value
Me.TextSendCode.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets(“EditForm”).Range(“B10:K13”), 2, 0)
Me.TextReceiveCode.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets(“EditForm”).Range(“B10:K13”), 3, 0)
Me.ComboEntity.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets(“EditForm”).Range(“B10:K13”), 4, 0)
Me.TextAccNumber.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets(“EditForm”).Range(“B10:K3”), 5, 0)
错误状态 - "Expected: list separator or )"
- 这是在 B3:K13
对工作有帮助吗?
欢迎来到 SO。您的双引号不正确。您正在使用 ”
,它们应该是 "
。实际上,您用作双引号的任何内容的 ANSI 编号是 148,您应该使用编号为 34 的编号。
注意区别:
你的:(“B10:K13”)
VS 正确的 ("B10:K13")
在所有情况下用 "
替换双引号。
实际上,这应该可以避免您遇到的错误:
Dim SLNo As Integer
SLNo = cmbdid.Value
Me.TextSendCode.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K13"), 2, 0)
Me.TextReceiveCode.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K13"), 3, 0)
Me.ComboEntity.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K13"), 4, 0)
Me.TextAccNumber.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K3"), 5, 0)
更新: 你代码的最后一行是:
Me.TextAccNumber.Value = Application.WorksheetFunction.VLookup(SLNo, Sheets("EditForm").Range("B10:K3"), 5, 0)
请注意,您输入的 Range("B10:K3")
带有 3
而不是 13
。我猜应该是 Range("B10:K13")