Выбор данных из списка - VB

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Выбор данных из списка»

textual
Листинг программы
    Dim StrSql As String
    Dim rs As ADODB.Recordset
    Dim n As Integer
'----------
Private Sub cmbFunc_AfterUpdate()
    g_Func = Trim(cmbFunc)
End Sub
'------------
Private Sub cmbFunc_Change()
    g_Func = Trim(cmbFunc)
End Sub
'----------
Private Sub cmbGRNDate1_AfterUpdate()
     cmbGRNDate1.Value = form_date(cmbGRNDate1.Value)
     g_GRNDate1 = Trim(cmbGRNDate1.Value)
End Sub
'---------------
Private Sub cmbGRNDate2_AfterUpdate()
     cmbGRNDate2.Value = form_date(cmbGRNDate2.Value)
     g_GRNDate2 = Trim(cmbGRNDate2.Value)
End Sub
'--------------
Private Sub cmbManfac_AfterUpdate()
    g_Manfac = Trim(cmbManfac)
    If cmbTabN.ListCount > 0 Then cmbTabN.Clear
End Sub
'-----------------------
Private Sub txtDateFrom_AfterUpdate()
    txtDateFrom.Value = form_date(txtDateFrom.Value)
    g_DateFrom = form_date(txtDateFrom.Value)
End Sub
'-------------------
Private Sub txtDateTo_AfterUpdate()
    txtDateTo.Value = form_date(txtDateTo.Value)
    g_DateTo = form_date(txtDateTo.Value)
End Sub
'-------------------
Private Sub cmbTabN_Change()
g_TabN = Trim(cmbTabN)
End Sub
'-----------------
Private Sub cmbTabN_AfterUpdate()
    g_TabN = Trim(cmbTabN)
End Sub
'-----------------------
Private Sub cmbTabN_DropButtonClick()
 
  '  If cmbTabN.ListCount > 0 Then cmbTabN.Clear
    cmbTabN.AddItem "*"
    StrSql = " SELECT DISTINCT usotr.usotr_tabnum, usotr.usotr_fio " & _
             " FROM zeie:maxmast.usotr usotr where usotr.usotr_manfac matches '" & g_Manfac & "' "
    Set rs = dbdll.rec(client, Forward, StrSql)
    Do While Not rs.EOF
       cmbTabN.AddItem Trim(rs!usotr_tabnum) & " - " & Trim(rs!usotr_fio)
        DoEvents
        rs.MoveNext
     Loop
cmbTabN = g_TabN
End Sub
'------------
Private Sub cmbCancel_Click()
    g_Cancel = True
    Unload Me
End Sub
'---------------
Private Sub cmbOk_Click()
    Save_params
    Unload Me
End Sub
'------------------
Public Sub UserForm_Activate()
    
    If cmbManfac.ListCount <= 0 Then
    If Not rs Is Nothing Then If rs.State Then rs.Close
    
    cmbManfac.AddItem "*"
    StrSql = " SELECT DISTINCT usotr.usotr_manfac " & _
             " FROM zeie:maxmast.usotr usotr"
    Set rs = dbdll.rec(client, Forward, StrSql)
     Do While Not rs.EOF
        cmbManfac.AddItem Trim(rs!usotr_manfac)
        DoEvents
        rs.MoveNext
    Loop
    cmbManfac = g_Manfac
 
  End If
 
         '-------------
        cmbFunc.AddItem "*"
        cmbFunc.AddItem "pu10"
        cmbFunc.AddItem "pu12"
        cmbFunc.AddItem "nv00"
        cmbFunc.AddItem "oe"
        cmbFunc.AddItem "nv13"
        cmbFunc.AddItem "nv17"
        cmbFunc.AddItem "pv12"
        cmbFunc.AddItem "nv15"
        cmbFunc.AddItem "oe"
        cmbFunc.AddItem "nv00"
        cmbFunc.AddItem "nv10"
        cmbFunc.AddItem "pv12"
        cmbFunc.AddItem "nv12"
        cmbFunc.ListIndex = 0
        '------------
        g_Func = cmbFunc.Value
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5
Похожие ответы