|
|
|
| Здравствуйте.
У меня есть такая вещь.
На форме есть два поля со списом. Каждой из этих полей привязано к своей таблице. Таблицы связанные. Я хочу, чтобы при выпападании списка в первом поле и, выбирая в нем запись, подгружались записи во втором поле, которые соответствуют выюранной мной записи в первом. | |
|
| |
|
|
|
| 1. В источнике записей cbo1 присоединенный столбец должен быть ключевым полем tbl1
2. В источник записей cbo2 включите отбор записей по cbo1. (Не брезгуйте мастером запросов.)
3. На cbo1_AfterUpdate вешайте cbo2.Requery
4. Наслаждайтесь! | |
|
| |
|
|
|
| Демонтрация сказанного выше
http://hiprog.com/index.php?option=com_content&task=view&id=693 | |
|
| |
|
|
|
| ну похоже, но не совсем.... у меня поле сос писком ФИО. При выборе в этом поле ФИО должен формировться список в поле со списком Номер из номеров, относящихся к выбранной фамилии, а при выборе из списка в поле со список Номер номера (потому что к одной фамилии может относиться несколько номеров) в поле должно появляться число.
Кстати, я посмотрела эту БД и попробовала, у меня почему-то не получается установить 2 ключевых поля | |
|
| |
|
|
|
| ну так кажется как раз то что надо.
только в примере списки, а у Вас ПолеСоСписком (ПСС)
а суть такая же
при выборе в первом ПСС фамилии во втором ПСС отобращаются только те номера которые соответвуют этой фамилии.
А когда в ПСС с номерами будет выбрано число, то оно и будет значением этого ПСС
или я чего-то не понимаю? | |
|
| |
|
|
|
| Я вобще-то изначально вот так делала, но тут только один номер выбирается... списка из номеров не получается
Private Sub ФИО_AfterUpdate()
Dim rst As Recordset
On Error GoTo 999
Set rst = CurrentDb.OpenRecordset("SELECT * FROM [ИнформЗап] WHERE [ФИО]='" & Me.ФИО & "'")
If rst.RecordCount > 0 Then
'Связь формы с запросом
Me.[Номер] = rst.Fields("Номер").Value
Me.[КолЧас] = rst.Fields("КолЧас").Value
Me.Номер.RowSource = "Select Номер From [Сотрудники] Where IDФИО=" & Forms![Отработка/переработка]!IdФИО
End If
rst.Close: Set rst = Nothing
Exit Sub
999:
MsgBox Err.Description
Err.Clear
End Sub
' Определяем максимальный номер документа
Private Sub Form_Cur()
If Me.NewRecord = True Then
Me.[НомерO] = 1 + funGetMaxNumber("SELECT Max([НомерO) as NN FROM [Отработка/переработка]")
End If
End Sub
' Получаем максимальное число
Function funGetMaxNumber(sSQL As String) As Long
Dim dbs As Database, rst As Recordset
funGetMaxNumber = 0
On Error GoTo 999
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(sSQL)
If rst.RecordCount <> 0 Then
funGetMaxNumber = rst![NN]
End If
rst.Close
Exit Function
999:
Err.Clear
End Function | |
|
| |
|
|
|
| что-то ничего не понимаю в таблице Сотрудники чтонесколько записей для одного сотрудника?
логику действий по коду не понял...
объясните чем не подходит пример из ссылки выше?
При выборе в этом поле ФИО должен формировться список в поле со списком Номер из номеров, относящихся к выбранной фамилии
это подходит
при выборе из списка в поле со список Номер номера (потому что к одной фамилии может относиться несколько номеров) в поле должно появляться число.
считайте значение поля со списком Номер | |
|
| |