ОК, так что спасибо за выше приведенный здесь код на данный момент, НО все еще проблема.
Так что проблема в том, что он до сих пор не делает то, о чем говорилось в моем оригинальном сообщенииПросто для ясности.
Пример: я нажимаю, чтобы выбрать супервизора, я выбираю, например, SUKDEO, а затем я выбираю BISSO.SUKDEO является основным руководителем для этой работы (который, в свою очередь, мне нужен ТОЛЬКО его номер банды, чтобы заполнить).НО с этим кодом, когда я выбираю SUKDEO, а затем выбираю BISSO, номер банды Bissos - это тот, который заполняет не (обратно к моему OP) ПЕРВЫЙ ВЫБОР или (может быть, я должен был сказать первичный) SUPERVISOR.
ИСПРАВЛЕНИЕ: проблема возникает только с СЛЕДУЮЩИМ супервизором.Если я выберу любого другого руководителя, код работает.см. рис.
Надеюсь, что создаст сцену, вот код, а вот рис.
не работает со следующим супервизором
работает только с каждым другим супервизором
Private Sub SUPERVISOR_AfterUpdate()
Dim supe1Data As String
Dim va As Variant
va = Me.SUPERVISOR.Value '* Multi-valued Field (MVF)
Debug.Print "==============================="
If IsNull(va) Then
'Value is NULL if NO MVF list items are selected
supe1Data = ""
Else
'* A Multi-valued Field (MVF) ComboBox will
'* return a variant array of variants. The
'* array-element variants will be of a type
'* that is compatible with the underlying field value.
'*** Question-specific code ***
Dim iLower As Integer
Dim iUpper As Integer
iLower = LBound(va)
iUpper = UBound(va)
'* Get first selected supervisor code
If iUpper = 0 Then
'* Only ONE value selected, so
'* .Column(2) contains valid data
'* .Recordset property is NOTHING
'* Contrary to online docs, for MVF...
'* Column(0) is bound data value
'* Column(i) is column i from 1 to .ColumnCount
supe1Data = Me.SUPERVISOR.Column(2)
Else
'* MULTIPLE value selected, so
'* .Column(2) is NULL
'* .Recordset property is valid and open
Dim rs As Recordset2
Set rs = Me.SUPERVISOR.Recordset.Clone
'* Since data is already available, lookup can be
'* more efficient than new query (i.e. using DLookup)
rs.FindFirst "[LAST NAME] = '" & va(0) & "'"
If Not rs.NoMatch Then
'* Here, column indices start at 0
supe1Data = rs.Fields(1).Value 'Second column
Else
supe1Data = "ERROR" 'Unexpected
End If
rs.Close
End If
End If
Me.WORK_ID = Right(supe1Data, 3) & Format(Me.RECEIVED_DATE, "yymmdd")
End Sub
Я думаю, это так же ясно, как я могу получить LOL Спасибо, ребята, еще раз, похоже, что мы почти там:)
-S