|
|
|
|
|
Dicas
|
|
Visual Basic (ActiveX/Controles/DLL)
|
|
|
Título da Dica: Carregando um combo com uma linha de comando
|
|
|
|
Postada em 27/6/2007 por Jailton Sampaio
jailton_sampaio@hotmail.com
'Olhe como se chama 'CarregarComboBox "cliente", "nome", "cliente_id", cboCliente, , , , False, "nome" Public Sub CarregarComboBox(nmTabela As String, nmCampo As String, cdCampo As String, Pcmb As ComboBox, Optional SetarInicio As Boolean, Optional ComTodos As Boolean, Optional Filtro As String, Optional ComSeleciona As Boolean, Optional CampoOrderBy As String) '(nmTabela As String, nmCampo As String, As String, Pcmb As ComboBox, Optional SetarInicio As Boolean, Optional ComTodos As Boolean, Optional Filtro As String, Optional ComSeleciona As Boolean ) Dim rs As ADODB.Recordset '*--- Procedure criada para carregar combobox ' ligando ampulheta Screen.MousePointer = vbHourglass ' motando sql glSql = "select distinct " & cdCampo & "," & nmCampo & " from " & nmTabela & " where " & nmCampo & " = " & nmCampo ' se precisar de filtro If Filtro <> "" Then glSql = glSql + " and " & Filtro End If If CampoOrderBy <> "" Then glSql = glSql & " order by " & CampoOrderBy Else glSql = glSql & " order by " & nmCampo End If ' executando Set rs = cnConn.Execute(glSql) Pcmb.Clear ' se quiser acrescentar <TODOS> If ComTodos Then Pcmb.AddItem "<TODOS>" If ComSeleciona Then Pcmb.AddItem "<SELECIONE>" While Not rs.EOF ' Nome do registro Pcmb.AddItem rs.Fields(nmCampo).Value ' Chave do registro Pcmb.ItemData(Pcmb.NewIndex) = rs.Fields(cdCampo).Value rs.MoveNext Wend ' setando pra o primeiro If SetarInicio Then If Pcmb.ListCount > 0 Then Pcmb.ListIndex = 0 ' desligando ampulheta Screen.MousePointer = vbNormal rs.Close End Sub
|
|
|
|
|