MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Como acrescentar e excluir dados de uma caixa de combinação através de código?

    Compartilhe

    Mylton
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 479
    Registrado : 23/08/2010

    Como acrescentar e excluir dados de uma caixa de combinação através de código?

    Mensagem  Mylton em Dom 21 Fev 2016, 21:38

    Boa noite

    Tenho uma combo com algns dados já cadastrados atraves de lista.
    Criei um outro campo de texto e um comando para acrescentar novos nomes.

    Private Sub btAcrescentar_Click()
    'Instrução para mandar o usuário digitar alguma coisa
    If Nz(Len(Me.txItem)) = 0 Then
    MsgBox "Digite alguma coisa antes de apertar o botão", _
    vbExclamation + vbOKOnly + vbDefaultButton1, "Digite algo"
    Me.txItem.SetFocus
    Exit Sub
    End If
    'Se o tipo de origem da linha é uma lista de valores
    '(originalmente ou definida pelas instruções após o Else abaixo)
    If Me.ComboOrigem.RowSourceType = "Value List" Then
    'Acrescenta o valor do item digitado à origem da linha
    Me.ComboOrigem.RowSource = Me.ComboOrigem.RowSource & ";" & Me.txItem
    Exit Sub
    'Caso o tipo de origem da linha seja uma SQL
    Else
    Dim varCol As String 'para conteúdo da lista de valores da
    Dim varTitulo As String 'título das colunas
    Set dbs = CurrentDb
    'Define a origem da lina com uma coluna e do tipo lista de valores
    Me.ComboOrigem.ColumnCount = 1 'Define a quantidade de colunas
    Me.ComboOrigem.RowSourceType = "Value List" 'Define o tipo de rowsource como Lista de valores
    '"Pega" a SQL da origem da linha na variável
    varSQL = Me.ComboOrigem.RowSource
    'Cria um recorset com a SQL
    Set rst = dbs.OpenRecordset(varSQL) 'Cria um recorset a partir da SQL
    While Not rst.EOF 'Ciclo pelos registros do recorset
    'Constroi a Lista de valores
    'O índice 0 (zero) do recordset refere-se à primeira coluna da consulta
    'representada pela SQL
    If varCol = "" Then
    'Atribui à variável o primeiro valor encontrado
    varCol = rst(0)
    Else
    'Atribui à variável o valor já existente na variável, acrescenta
    'o separador de lista (Wink e acrscenta o valor encontrado
    varCol = varCol & ";" & rst(0)
    End If
    rst.MoveNext
    Wend
    'Acrescenta o valor do Item digitado à variável
    varCol = varCol & ";" & Me.txItem
    'Preenche o rowsource da caixa de combinação com a lista de valores
    Me.ComboOrigem.RowSource = varCol
    End If
    End Sub


    Contudo, além de não rodar, não enontrei nada que pudesse excluir caso fosse necessário.
    Haveria algum modo?
    Obrigado

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 05/02/2016

    Re: Como acrescentar e excluir dados de uma caixa de combinação através de código?

    Mensagem  philipp.moreira em Seg 22 Fev 2016, 00:34

    Mylton,
    tente: Me.ComboOrigem.AddItem([valor que deseja])

    Obs.: O Valor a ser acrescentado deve ser uma string. Ele será adicionado ao final da lista de valores dentro da Combo Box.

    Mylton
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 479
    Registrado : 23/08/2010

    Re: Como acrescentar e excluir dados de uma caixa de combinação através de código?

    Mensagem  Mylton em Seg 22 Fev 2016, 13:35

    E onde acrescento esse comando no código qcima? Ou coloco de que forma?

      Data/hora atual: Qua 07 Dez 2016, 08:35