MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

    diegoluvizon
    diegoluvizon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diegoluvizon Qui 26 Jun 2014, 14: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
    diegoluvizon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diegoluvizon Qui 26 Jun 2014, 15: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: Qua 08 maio 2024, 17:32