Ir para conteúdo
Fórum Script Brasil
  • 0

Carregar Combo


Nelsonmgj

Pergunta

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 para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 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

Editado por Macêdo
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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

Editado por Macêdo
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...