从 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")

在所有情况下用 " 替换双引号。

ANSI character set

实际上,这应该可以避免您遇到的错误:

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")