WinterPrison Ответов: 1

Как заполнить текстовое поле из базы данных при выборе элемента из поля со списком


Вот что я хочу сделать: когда я выбираю элемент из выпадающего списка, текстовое поле автоматически заполняется данными

Когда я выбираю имя клиента, которое является столбцом 1, я хочу заполнить текстовое поле контактным лицом, которое является столбцом 2 таблицы клиентов.

Что я уже пробовал:

вот что я пытался сделать:

 'Populate the combox with clientnames from clients '

        Try
            connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Nikko Jaze Fabellon\Documents\ASRASIM.accdb")
            connection.Open()
            ds = New DataSet
            tables = ds.Tables
            dataAdapter = New OleDbDataAdapter("SELECT [ClientName] from [Clients] where [Status] = 'Active' ", connection)
            dataAdapter.Fill(ds, "Clients")
            Dim view1 As New DataView(tables(0))
            With clientNameText
                .DataSource = ds.Tables("Clients")
                .DisplayMember = "ClientName"
                .ValueMember = "ClientName"
                .SelectedIndex = 0
                .AutoCompleteMode = AutoCompleteMode.SuggestAppend
                .AutoCompleteSource = AutoCompleteSource.ListItems
            End With

'This is where i would enter the codes'

            With clientNameText
                .DisplayMember = "Contact Person"
                .ValueMember = "Contact Person"
                .DataSource = ds.Tables
            End With



            cPersonText.DataBindings.Add("", ds.Tables, "")

Maciej Los

Контактное лицо не представлен во втором столбце, так как ваш запрос возвращает только Имяклиента:
SELECT [ClientName] from [Clients]

1 Ответов

Рейтинг:
0

CHill60

Как намекнул Мацей - вы не извлекаете Контактное лицо из базы данных. Вам нужно что - то более похожее на следующее (Внимание- я никак не тестировал)

taAdapter = New OleDbDataAdapter("SELECT [ClientName],[Contact Person] from [Clients] where [Status] = 'Active' ", connection)
.
.
.
                .DisplayMember = "ClientName"
                .ValueMember = "Client Person"
.
.
.
Затем вы можете обратиться к элементу ValueMember выбранной строки, чтобы заполнить текстовое поле