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

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
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
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
-
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
-
-