MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

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
    avatar
    Mylton
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 482
    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
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 239
    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.
    avatar
    Mylton
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 482
    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: Sex 23 Jun 2017, 18:07