комбобокс в vba? - PullRequest
       25

комбобокс в vba?

0 голосов
/ 12 марта 2019

У меня проблема: я пишу этот код для комбинированного списка, но комбинированный не заполнял

Private Sub refArt_Enter()
    refArt.Clear
    refArt.AddItem ""
      Dim conn As ADODB.Connection
      Dim rs As ADODB.Recordset
      Dim rq As String
      Set conn = getConn()
      Set rs = New ADODB.Recordset
      rq = "SELECT ref FROM tblArticles;"
      rs.Open rq, conn, adOpenDynamic, adLockBatchOptimistic
      Do While Not rs.EOF
          refArt.AddItem rs("ref").value
          rs.MoveNext
      Loop
End Sub

1 Ответ

0 голосов
/ 12 марта 2019

Я нашел это на другом сайте и использовал структуру для своих нужд, но если вы отредактируете ее для своих нужд, она должна работать. Следует отметить, что вы должны вызывать макрос для события UserForm_Intialize, а не для события CommandButton, чтобы он заново заполнял данные из базы данных каждый раз при загрузке пользовательской формы.

   Private Sub UserForm_Initialize()
        On Error GoTo UserForm_Initialize_Err
        Dim cnn As New ADODB.Connection
        Dim rst As New ADODB.Recordset
        cnn.Open "Set Connection String Here"
        rst.Open "SELECT ref FROM tblArticles"
        rst.MoveFirst
        With Me.ComboBox1
            .Clear
            Do
                .AddItem rst![ref]
                rst.MoveNext
            Loop Until rst.EOF
        End With
UserForm_Initialize_Exit:
        On Error Resume Next
        rst.Close
        cnn.Close
        Set rst = Nothing
        Set cnn = Nothing
        Exit Sub
UserForm_Initialize_Err:
        MsgBox Err.Number & vbCrLf & Err.Description, vbCritical, "Error!"
        Resume UserForm_Initialize_Exit
End Sub
...