Jump to content
Fórum Script Brasil
  • 0

Carregar Combo


Nelsonmgj
 Share

Question

Amigos,

Estou com dificuldades para carregar uma combo num form :( . Estou usando o seguinte código:

Private Sub Form_Load()

Dim cnnComan As New ADODB.Command

Dim sel As New ADODB.Recordset

Dim vCod As Long

Dim i As Integer

With F1_Cad_Titu

.Height = 1620

.Width = 4950

End With

Combo_Titu Cmb_Titu

Cmb_Titu.ListIndex = -1

With cnnComan

.ActiveConnection = BDbanc

.CommandType = adCmdText

.CommandText = "select * from Cons_Titu"

Set sel = .Execute

End With

With sel

If .EOF And .BOF Then

vCod = !Cód_Titu

With Cmb_Titu

.ListIndex = -1

For i = 0 To (.ListCount - 1)

If Cmb_Titu = .ItemData(i) Then

.ListIndex = i

Exit For

End If

Next i

End With

End If

End With

End Sub

Poderiam me indicar onde está o erro, pois o form está carregando com duas linhas escrito FALSE :o .

Desde já agradeço, :)

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Private Sub Form_Load()

Dim cnnComan As New ADODB.Command

Dim sel As New ADODB.Recordset

with cnncoman

.ActiveConnection = BDbanc

.CommandType = adCmdText

.CommandText = "select * from Cons_Titu"

Set sel = .Execute

sel.MoveFirst

Do While Not sel .EOF

Cmb_titu.AddItem sel !CAMPO ' atenção altere aqui o nome do campo da tabela

sel.MoveNext

Loop

End With

Edited by Macêdo
Link to comment
Share on other sites

  • 0
Private Sub Form_Load()

Dim cnnComan As New ADODB.Command

Dim sel As New ADODB.Recordset

with cnncoman

.ActiveConnection = BDbanc

.CommandType = adCmdText

.CommandText = "select * from Cons_Titu"

Set sel = .Execute

sel.MoveFirst

Do While Not sel .EOF

Cmb_titu.AddItem sel !CAMPO ' atenção altere aqui o nome do campo da tabela

sel.MoveNext

Loop

End With

Amigão,

Aconteceu que a partir do while deu o seguinte erro: "Expected: end of statement".

Se puder me ajudar, agradeço.

Link to comment
Share on other sites

  • 0

Amigo já vi onde tá o erro, tem um espaço na linha do Do While assim:

do while not sel .eof obs: retire o espaço para ficar assim:

do while not sel.eof

com certeza o erro é este, já testei aqui e apareceu este erro mesmo quando deixa este espaço entre o nome do recordset e o .eof

Edited by Macêdo
Link to comment
Share on other sites

  • 0
Guest --nelsonmgj --
Amigo já vi onde tá o erro, tem um espaço na linha do Do While assim:

do while not sel .eof obs: retire o espaço para ficar assim:

do while not sel.eof

com certeza o erro é este, já testei aqui e apareceu este erro mesmo quando deixa este espaço entre o nome do recordset e o .eof

Obrigado Amigo,

E quando temos de carregar várias combos em um Form? Desculpe-me, mas pensei que era só uma questão simples de copiar os comandos, ou pelo menos, não estou conseguindo raciocinar algo que funcione...

Desde já agradeço,

Link to comment
Share on other sites

  • 0

Bom, para preencher muitas combos eu crio SubProcedimentos para cada combo e ponho o nome da Sub dentro do Form_Load

explicando:

Para criar SubProcedimentos você escreve dentro da janela de código:

Private Sub + o nome do procedimento + os parenteses()

exemplo:

Private Sub Preenche_combo_TITU ()

Dim cnnComan As New ADODB.Command

Dim sel As New ADODB.Recordset

with cnncoman

.ActiveConnection = BDbanc

.CommandType = adCmdText

.CommandText = "select * from Cons_Titu"

Set sel = .Execute

sel.MoveFirst

Do While Not sel.EOF

Cmb_titu.AddItem sel !CAMPO ' atenção altere aqui o nome do campo da tabela

sel.MoveNext

Loop

End With

End sub

E então dentro do Form_Load você coloca o Procedimento a ser executado, assim:

Private Sub Form_Load()

Preenche_combo_TITU

end sub

Então seguindo este exemplo é só você criar os subprocedimentos para cada combo e por dentro do Form_Load o nome dos mesmos, um abaixo do outro, desta forma quando ocorrer o evento Load do Form ele irá ler o código de preenchimento de todas as combos

Qualquer duvida tamo aqui...Beleza?

Link to comment
Share on other sites

  • 0
Guest --nelsonmgj --

Obrigado Amigo,

Mais simples impossível, eu tentei brigar o quanto pude para deixar tudo em um único procedimento, mas esta solução realmente é mais simples e funcional.

Obrigado,

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...