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

    Formulário contínuo com combobox que não permite valores repitidos

    Compartilhe

    diegoluvizon
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 21/06/2014

    Formulário contínuo com combobox que não permite valores repitidos

    Mensagem  diegoluvizon em Qui 26 Jun 2014, 18:48

    Olá,
    Tenho um formulário contínuo com uma combobox acoplada a uma tabela temporária, que busca os dados da lista de uma consulta.
    O que eu quero fazer é com que essa combobox só exiba na lista os valores que ainda não foram selecionados pelas combobox anteriores do formulário, ou seja, que ainda não estejam presentes na tabela temporária. Isso evitaria que fossem inseridos dados repetidos.

    Já tenho um código que executa isso, mas é para quando os dados da combo forem em string, só que apesar de a lista da combo mostrar a descrição do que quero selecionar, ela armazena mesmo é o código, e o código é um número, então não está dando certo.

    Se alguém puder me ajudar, o código é esse aí abaixo:

    Código:
    Private Sub comboCodigoTitulo_GotFocus()
    Dim rs As DAO.Recordset
    Dim strLista$
    Dim strSql$

    On Error Resume Next
    Set rs = Me.RecordsetClone
    rs.MoveFirst
    Do While Not rs.EOF
        strLista = strLista & ",'" & rs!CodTitulo & "'"
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    If strLista = "" Then
        strSql = "SELECT idTitulo, descriçaoTitulo FROM conTitulos ORDER BY descriçaoTitulo;"
    Else
        strSql = "SELECT idTitulo, descriçaoTitulo FROM conTitulos WHERE idTitulo not IN(" & Mid(strLista, 2) & ") ORDER BY descriçaoTitulo;"
    End If
    Me!comboCodigoTitulo.RowSource = strSql

    End Sub


    .................................................................................
    Atenciosamente,
    Diego

    Windows 8 Pro 64 bits
    MS Access 2010

    diegoluvizon
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 21/06/2014

    Re: Formulário contínuo com combobox que não permite valores repitidos

    Mensagem  diegoluvizon em Qui 26 Jun 2014, 19:39

    Tirando as aspas simples do código abaixo:

    Código:
    strLista = strLista & ",'" & rs!CodTitulo & "'"

    ele fica assim:

    Código:
    strLista = strLista & "," & rs!CodTitulo &

    Aí os que eu jé selecionei nos combos anteriores são tirados da lista, mas quando foco no combo seguinte ele apaga o que tinha nos anteriores.


    .................................................................................
    Atenciosamente,
    Diego

    Windows 8 Pro 64 bits
    MS Access 2010

      Data/hora atual: Qui 08 Dez 2016, 23:59