Заполнение формы текстового поля Excel данными из списка, который показывает данные из таблицы доступа - ошибка 381 - PullRequest
0 голосов
/ 18 июня 2020

У меня есть список в форме Excel, который показывает только 1 поле (Descripción) из таблицы доступа из 4 полей (Códi go, Descripción, UnidDistr, Precio). Нажатие клавиши ВВОД для выбранных данных в списке должно заполнить 4 поля в 4 текстовых поля, но при этом копируются только поля Код и Описание, затем отображается ошибка 381. Кто-нибудь знает, почему?

Код для заполнения listbox: (Примечание: он работает, когда я использую таблицу excel)

Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 13 Then
    With ListBox1
        Txt_Codigo.Value = .List(.ListIndex, 0)
        Txt_Descripción.Value = .List(.ListIndex, 1)
        Txt_Unid_Distr.Value = .List(.ListIndex, 2)     '-------> Error - 381
        Txt_Precio_Lista.Value = .List(.ListIndex, 3)
    End With
End If
End Sub 

Свойства ListBox:

    .ColumnCount = Rs.Fields.Count
    .ColumnWidths = "0;120;0;0"

Заполнить список:

Rs.MoveFirst
i = 0
With Form_Buscar_Productos.ListBox1
    Do
        .AddItem
        .List(i, 0) = Rs![CÓDIGO]
        .List(i, 1) = Rs![DESCRIPCIÓN]
        .List(i, 2) = Rs![UNIDDISTR]
        .List(i, 3) = Rs![PRECIO]
        i = i + 1
        Rs.MoveNext
    Loop Until Rs.EOF
End With

1 Ответ

0 голосов
/ 19 июня 2020

Я забыл сообщить вам одну вещь: когда я пишу что-то в текстовом поле Txt_Descripción, он фильтрует информацию в списке, когда я выбираю один элемент в списке, он обновляет значение Txt_Descripción, поэтому значение ListIndex также изменяется. Вот почему он показывает ошибку 381. Решением для этого является изменение порядка заполнения текстовых полей так, чтобы Txt_Descripción был последним.

With ListBox1
        Txt_Codigo.Value = .List(.ListIndex, 0)
        Txt_Unid_Distr.Value = .List(.ListIndex, 2)
        Txt_Precio_Lista.Value = .List(.ListIndex, 3)
        Txt_Descripción.Value = .List(.ListIndex, 1)
End With  

Это решает проблему. В этом случае мне в этом помог кто-то другой, но все равно спасибо.

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