Обновление записи базы данных из Excel userform - PullRequest
0 голосов
/ 15 октября 2019

Я хочу обновить запись в базе данных, используя форму пользователя. Я настроил пользовательскую форму с идентификатором вверху и внизу, и это список полей, которые соответствуют остальной части базы данных. Когда выбран идентификационный номер, я бы хотел, чтобы все остальные поля в пользовательской форме были заполнены, например, с помощью 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

Любая помощь, чтобы сделать работу?

1 Ответ

0 голосов
/ 15 октября 2019

Добро пожаловать на SO. Ваши двойные кавычки не правильные. Вы используете , и они должны быть ". На самом деле, номер ANSI того, что вы используете в качестве двойных кавычек, равен 148, и вы должны использовать те, которые с номером 34.

Обратите внимание на разницу:

Ваш: (“B10:K13”) VS правильный("B10:K13")

Замените ваши двойные кавычки на " во всех случаях.

Набор символов ANSI

На самом деле,это должно избежать ошибки, которую вы получаете:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...