none
Como num form de consulta reconheço a consulta da segunda coluna da tabela de dados e não a primeira RRS feed

  • Pergunta

  • A duvida no caso tem a haver com o campo tipo que está em uma tabela de dados que não a principal 

    No form de cadastro como a imagem  1 mostra via cx de combinação ele mostra claramente o dado da segunda coluna da tabela de dados

    campo TIPO no form de cadastro

    Agora no form de consulta veja o dado ou a coluna que ele mostra neste mesmo campo pela imagem 2

    O QUE EU PRECISO SABER NESTE CASO É COMO EU MOSTRARIA A 2 COLUNA OU COLUNA 0 ONDE ESTÁ NA VERDADE O DADO - EXEMPLO - Cadastro Unico no lugar do numero 1 do mesmo campo Tipo que no form de consulta corresponde ao id de registro da tabela auxiliar da cx de combinação do form de cadastro

    como eu mudo isto para no lugar do id aparecer o dado do campo?

    se alguem me ajudar desde já agradeço - Luiz 


    LADEF

    sexta-feira, 13 de fevereiro de 2015 11:34

Todas as Respostas

  • Responderei sua pergunta com um exemplo.

    Construa uma planilha chamada Plan1 como essa:

    No VBE, construa um formulário com uma Caixa de Combinação ComboBox1 e um botão de comando CommandButton1. Altere as propriedades em modo de design de ComboBox1 (selecione o controle e pressione F4) para o seguinte:

    ColumnCount: 2 (para a caixa de combinação ter duas colunas)

    ColumnWidths: 0 (para a primeira coluna ser oculta, pois o usuário não precisa ver o ID de cada item)

    BoundColumn: 1 (para a propriedade Value do controle retornar o valor da primeira coluna de um item selecionado)

    TextColumn: -1 (para a propriedade Text do controle retornar o valor da primeira coluna visível de um item selecionado

    Style: 2 - fmstyleDropDownList (para não ser possível selecionar um item controle que não tenha sido adicionado a ele)

    Cole o seguinte código no formulário:

    Private Enum dataCol
        ID = 1
        Nome
    End Enum
    
    Dim dataSheet As Excel.Worksheet
    
    Private Sub UserForm_Initialize()
        Dim lastRow As Long
        Dim iRow As Long
        Dim iCount As Long
        Set dataSheet = ThisWorkbook.Worksheets("Plan1")
        
        lastRow = dataSheet.Cells(dataSheet.Rows.Count, dataCol.ID).End(xlUp).Row
        With Me.ComboBox1
            'Considerando uma linha de cabeçalho:
            For iRow = 2 To lastRow
                .AddItem
                iCount = .ListCount - 1
                .List(iCount, 0) = dataSheet.Cells(iRow, dataCol.ID)
                .List(iCount, 1) = dataSheet.Cells(iRow, dataCol.Nome)
            Next iRow
        End With
    End Sub
    
    Private Sub CommandButton1_Click()
        With Me.ComboBox1
            MsgBox "Características do item selecionado:" & vbNewLine _
            & "Propriedade Value: " & .Value & vbNewLine _
            & "Propriedade Text: " & .Text _
            , vbInformation
        End With
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 13 de fevereiro de 2015 17:10
    Moderador
  • Mas veja a primeira imagem vem de uma tabela do ACCESS 2007 no formulario criado para cadastro - objeto cx de combinação mas no form não na tabela

    No segundo formulario é um formulário de consulta onde no lugar do valor cadastro unico no campo Tipo aparece o valor 1 - mas o controle por ser de consulta apenas é um controle tipo caixa de texto que ja volta o resultado só que no lugar de aparecer o valor "CADASTRO UNICO" como foi cadastrado retorna o valor da primeira coluna ou o id numero 1 no lugar do dado de cadastro unico

    O OBJETO NESTE CASO DO FORM DE CONSULTA É UMA CAIXA DE TEXTO - COMO RESOLVO ISTO? O MESMO PROCEDIMENTO ACIMA ACREDITO QUE SE COLOCOU PARA UMA PLANILHA DE EXCEL SERVE PARA O ACCESS 2007 MAS NO FORMULARIO DE CONSULTA DO BANCO DE DADOS?

    Fico no aguardo e desde já agradeço



    LADEF

    sexta-feira, 13 de fevereiro de 2015 17:17
  • Obrigado por esclarecer, não sabia que estava usando o Access, minha dica vale só para o Excel.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 13 de fevereiro de 2015 17:23
    Moderador
  • E não teria uma solução parecida ou identica para o ACCESS 2007 

    FICO NO AGUARDO E DESDE JÁ AGRADEÇO


    LADEF

    sexta-feira, 13 de fevereiro de 2015 17:46