Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
alina626
0 / 0 / 0
Регистрация: 14.01.2020
Сообщений: 6
1

Сортировка в поле со списком. Автоматическая подстановка значений

14.01.2020, 22:36. Просмотров 864. Ответов 7

Здравствуйте. Мне необходимо сделать так, чтобы в выпадающем списке были видны значения только этого клиента. Например для клиента Кузьмин Н.В. в списке выпадали номерные знаки только его машин.

Либо в при выборе клиента в поле "знак автомобиля" самостоятельно подставлялось значение.

Заранее спасибо.
0
Изображения
Тип файла: jpg 1 проблема.jpg (122.9 Кб, 6 просмотров)
Тип файла: jpg 2 проблема.jpg (104.8 Кб, 3 просмотров)
Вложения
Тип файла: rar Курсач автомастерская.rar (60.9 Кб, 1 просмотров)
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2020, 22:36
Ответы с готовыми решениями:

Поле со списком автоматическая подстановка первого значения
Есть поле со списком, список получается из запрос необходимо чтобы по-умолчанию в поле со списком...

Автоматическая подстановка данных в поле
Добрый день! Такой вопрос, есть 2 таблицы, например "список" и "регион", в таблице регион 2 поля...

Автоматическая подстановка значений
Здравствуйте! Помогите пожалуйста мне разобраться со следующим вопросом: К примеру имеются 4 поля...

Подстановка в поле со списком
Здравствуйте! Подскажите, пожалуйста по следующей проблеме: Есть столбец в таблице, поля...

Автоматическая подстановка значений на форму
Здравствуйте. Пожалуйста помогите. На форме "Заявки" есть поля "услуга" и "цена". --Нужно...

7
Kiriver
367 / 187 / 71
Регистрация: 09.04.2018
Сообщений: 861
14.01.2020, 22:46 2
alina626, наберите Зависимые списки.
0
alina626
0 / 0 / 0
Регистрация: 14.01.2020
Сообщений: 6
14.01.2020, 22:55  [ТС] 3
Kiriver, это делается через Visual Basic? Я в этом полный профан. Я не очень понимаю как это будет работать. И не будет ли проблем если у меня на одного клиента несколько машин, но надо чтобы была какая-то возможность выбора. То есть если у клиента одна машина она и подставляется, а если несколько должна быть возможность выбора. Не знаю можно ли так сделать.
0
Eugene-LS
5304 / 2850 / 600
Регистрация: 05.10.2016
Сообщений: 7,991
14.01.2020, 23:11 4
Цитата Сообщение от alina626 Посмотреть сообщение
То есть если у клиента одна машина она и подставляется, а если несколько должна быть возможность выбора. Не знаю можно ли так сделать.
Можно.
... И лучше на вашем примере.
0
14.01.2020, 23:11
alina626
0 / 0 / 0
Регистрация: 14.01.2020
Сообщений: 6
14.01.2020, 23:26  [ТС] 5
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Можно.
... И лучше на вашем примере.
Можно вас попросить, пожалуйста, сделать это в моей базе? Я архивом её кидала. Я просто в этом вообще не разбираюсь и не имею ни малейшего понятия как это делать. Буду вам очень благодарна за помощь.
0
Eugene-LS
5304 / 2850 / 600
Регистрация: 05.10.2016
Сообщений: 7,991
15.01.2020, 00:00 6
Лучший ответ Сообщение было отмечено alina626 как решение

Решение

Цитата Сообщение от alina626 Посмотреть сообщение
Я архивом её кидала.
Вот смотрите в форму "заказы":
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Private Sub cbxЗнакАвтомобиля_GotFocus()
'cbxЗнакАвтомобиля получение фокуса
Dim s As String
 
    If Me!cbxФИОКлиента.ListIndex = -1 Then 'значение НЕ выбрано
        MsgBox "Сначала установите клиента!", vbExclamation
        Me!cbxФИОКлиента.SetFocus
    End If
 
    s = "[ФИО Клиента] = " & Me!cbxФИОКлиента.Column(0) 'Числовое
    'список авто по конкретному клиенту
    s = "SELECT ID_автомобиля, Регистрационный_знак FROM Автомобили WHERE " & s & " ORDER BY Регистрационный_знак;"
    Me!cbxЗнакАвтомобиля.RowSource = s
    Me!cbxЗнакАвтомобиля.Requery
End Sub
 
Private Sub cbxЗнакАвтомобиля_LostFocus()
'ЗнакАвтомобиля потеря фокуса
Dim s As String
    s = "SELECT ID_автомобиля, Регистрационный_знак FROM Автомобили ORDER BY Регистрационный_знак;"
    Me!cbxЗнакАвтомобиля.RowSource = s
    Me!cbxЗнакАвтомобиля.Requery
End Sub
 
Private Sub cbxФИОКлиента_AfterUpdate()
'cbxФИОКлиента - после обновления
    Me!cbxЗнакАвтомобиля = Null 'Зачистка
    
    If Me!cbxФИОКлиента.ListIndex > -1 Then 'значение НЕ выбрано
        Me!cbxЗнакАвтомобиля.SetFocus
        cbxЗнакАвтомобиля_GotFocus
    Else
        Exit Sub
    End If
    
    If Me!cbxЗнакАвтомобиля.ListCount = 1 Then
        Me!cbxЗнакАвтомобиля = Me!cbxЗнакАвтомобиля.Column(0, 0)
    Else
        Me!cbxЗнакАвтомобиля.Dropdown 'разворот списка
    End If
End Sub
 
Private Sub cmdУдалить_Click()
    
    If Me.NewRecord = False Then
        'Запрос поддтверждения удаления записи при ответе НЕТ - остановка
        If MsgBox("Действительно удалить ???", _
            vbYesNo + vbCritical + vbDefaultButton1, _
            "Удаление данных") = vbNo Then Exit Sub
    End If
    Me.Recordset.Delete
End Sub
1
Вложения
Тип файла: zip Курсач автомастерская_02.zip (66.9 Кб, 2 просмотров)
alina626
0 / 0 / 0
Регистрация: 14.01.2020
Сообщений: 6
15.01.2020, 00:22  [ТС] 7
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Вот смотрите в форму "заказы":
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Private Sub cbxЗнакАвтомобиля_GotFocus()
'cbxЗнакАвтомобиля получение фокуса
Dim s As String
 
    If Me!cbxФИОКлиента.ListIndex = -1 Then 'значение НЕ выбрано
        MsgBox "Сначала установите клиента!", vbExclamation
        Me!cbxФИОКлиента.SetFocus
    End If
 
    s = "[ФИО Клиента] = " & Me!cbxФИОКлиента.Column(0) 'Числовое
    'список авто по конкретному клиенту
    s = "SELECT ID_автомобиля, Регистрационный_знак FROM Автомобили WHERE " & s & " ORDER BY Регистрационный_знак;"
    Me!cbxЗнакАвтомобиля.RowSource = s
    Me!cbxЗнакАвтомобиля.Requery
End Sub
 
Private Sub cbxЗнакАвтомобиля_LostFocus()
'ЗнакАвтомобиля потеря фокуса
Dim s As String
    s = "SELECT ID_автомобиля, Регистрационный_знак FROM Автомобили ORDER BY Регистрационный_знак;"
    Me!cbxЗнакАвтомобиля.RowSource = s
    Me!cbxЗнакАвтомобиля.Requery
End Sub
 
Private Sub cbxФИОКлиента_AfterUpdate()
'cbxФИОКлиента - после обновления
    Me!cbxЗнакАвтомобиля = Null 'Зачистка
    
    If Me!cbxФИОКлиента.ListIndex > -1 Then 'значение НЕ выбрано
        Me!cbxЗнакАвтомобиля.SetFocus
        cbxЗнакАвтомобиля_GotFocus
    Else
        Exit Sub
    End If
    
    If Me!cbxЗнакАвтомобиля.ListCount = 1 Then
        Me!cbxЗнакАвтомобиля = Me!cbxЗнакАвтомобиля.Column(0, 0)
    Else
        Me!cbxЗнакАвтомобиля.Dropdown 'разворот списка
    End If
End Sub
 
Private Sub cmdУдалить_Click()
    
    If Me.NewRecord = False Then
        'Запрос поддтверждения удаления записи при ответе НЕТ - остановка
        If MsgBox("Действительно удалить ???", _
            vbYesNo + vbCritical + vbDefaultButton1, _
            "Удаление данных") = vbNo Then Exit Sub
    End If
    Me.Recordset.Delete
End Sub
Спасибо большое!!!
0
Eugene-LS
5304 / 2850 / 600
Регистрация: 05.10.2016
Сообщений: 7,991
15.01.2020, 00:45 8
Цитата Сообщение от alina626 Посмотреть сообщение
Спасибо большое!!!
Пожалуйста!
А вот вариант немного посложнее, но без "перемаргивания" значений в "cbxЗнакАвтомобиля" при получении им фокуса.
Смотрите в форму "Заказы"
+ Добавил табличку "tmpЗаказы" для хранения временных значений "Знак Автомобиля"
+ Добавил запрос "frmЗаказы", базовый для формы "Заказы" - для отображения временных значений "Знак Автомобиля"
+ Немного изменён код
0
Вложения
Тип файла: zip Курсач автомастерская_03.zip (72.2 Кб, 0 просмотров)
15.01.2020, 00:45
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2020, 00:45

Автоматическая подстановка значений из списка
Доброго времени суток уважаемые знатоки! Задача стоит примитивная, но из-за временных ограничений...

Re: Автоматическая подстановка значений из списка
Приветствую :) Недавно на фирме возникла необходимость собрать в кучу всю информацию по продукции...

Автоматическая подстановка значений из другой таблицы
Уважаемы форумчане, доброго времени суток. Столкнулся с подобной проблемой но ничего сделать не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.