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


    [Resolvido]Opção "Todos" para a caixa de combinação ou listagem

    avatar
    rmaragno
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 34
    Registrado : 09/03/2010

    [Resolvido]Opção "Todos" para a caixa de combinação ou listagem Empty [Resolvido]Opção "Todos" para a caixa de combinação ou listagem

    Mensagem  rmaragno 10/6/2010, 15:53

    Eu tenho um formulário tabular ‘frm_exemplo’ com uma caixa de combinação que uso para filtrar os dados do formulário...
    Na consulta de origem do formulário por exemplo, ta assim:
    [Forms]![Frm_exemplo][CaixaDeCombinacao]
    Ai as opções da caixa de combinação são:
    “OK”
    “VER”
    “X”
    Quando alguém escolhe uma delas, tem um me.requery / refresh e filtra pelas situações a cima...
    Mostra apenas os “OK”, apenas os “VER” ou apenas os “X”, mas eu queria (por exemplo) criar uma opção chamada “TODOS” ou “OK ou VER ou X” para poder mostrar o “OK” + “VER” + “X”
    Ou uma opção para poder colocar duas situações diferentes.. como eu faria isso?
    avatar
    Convidado
    Convidado


    [Resolvido]Opção "Todos" para a caixa de combinação ou listagem Empty Re: [Resolvido]Opção "Todos" para a caixa de combinação ou listagem

    Mensagem  Convidado 10/6/2010, 22:16

    olá,

    Essa é a ajuda do Access:

    Como: Adicionar "(Tudo)" a uma caixa de combinação ou de listagem

    Ao usar uma caixa de listagem ou de combinação para inserir critérios de seleção, talvez você queira especificar todos os registros. O procedimento AddAllToList ilustra como adicionar uma entrada (Tudo) no início de uma caixa de combinação.

    Para utilizar o procedimento AddAllToList, defina a propriedade RowSourceType da caixa de listagem ou de combinação como AddAllToList.

    Você pode especificar um item diferente de (Tudo) para adicionar à lista definindo a propriedade Tag da caixa de combinação ou de listagem. Por exemplo, você pode adicionar ao início da lista definindo o valor da propriedade Tag como 1;.

    Function AddAllToList(ctl As Control, lngID As Long, lngRow As Long, _
    lngCol As Long, intCode As Integer) As Variant

    Static dbs As Database, rst As Recordset
    Static lngDisplayID As Long
    Static intDisplayCol As Integer
    Static strDisplayText As String
    Dim intSemiColon As Integer

    On Error GoTo Err_AddAllToList
    Select Case intCode
    Case acLBInitialize
    ' See if function is already in use.
    If lngDisplayID <> 0 Then
    MsgBox "AddAllToList is already in use by another control!"
    AddAllToList = False

    Exit Function
    End If

    ' Parse the display column and display text from Tag property.
    intDisplayCol = 1
    strDisplayText = "(All)"
    If Not IsNull(ctl.Tag) Then
    intSemiColon = InStr(ctl.Tag, ";")
    If intSemiColon = 0 Then
    intDisplayCol = Val(ctl.Tag)
    Else
    intDisplayCol = Val(Left(ctl.Tag, intSemiColon - 1))
    strDisplayText = Mid(ctl.Tag, intSemiColon + 1)

    End If
    End If

    ' Open the recordset defined in the RowSource property.
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset(ctl.RowSource, dbOpenSnapshot)

    ' Record and return the lngID for this function.
    lngDisplayID = Timer
    AddAllToList = lngDisplayID

    Case acLBOpen
    AddAllToList = lngDisplayID

    Case acLBGetRowCount
    ' Return number of rows in recordset.
    On Error Resume Next

    rst.MoveLast
    AddAllToList = rst.RecordCount + 1

    Case acLBGetColumnCount
    ' Return number of fields (columns) in recordset.
    AddAllToList = rst.Fields.Count

    Case acLBGetColumnWidth
    AddAllToList = -1

    Case acLBGetValue
    If lngRow = 0 Then
    If lngCol = intDisplayCol - 1 Then
    AddAllToList = strDisplayText
    Else
    AddAllToList = Null
    End If
    Else

    rst.MoveFirst
    rst.Move lngRow - 1
    AddAllToList = rst(lngCol)
    End If
    Case acLBEnd
    lngDisplayID = 0
    rst.Close
    End Select

    Bye_AddAllToList:
    Exit Function

    Err_AddAllToList:
    MsgBox Err.Description, vbOKOnly + vbCritical, "AddAllToList"
    AddAllToList = False
    Resume Bye_AddAllToList
    End Function


    Más tenho certeza que exite algo mais simples.

    Nivaldo.

      Data/hora atual: 7/11/2024, 22:04