Jump to content

Recommended Posts

Posted

Boas, cá estou eu novamente para mais uma dúvida.

Bem é o seguinte, eu exporto uma tabela para o VB em modo Detalhe (Details).

Depois, mudifico por exemplo a Textbox Parentesco para ComboBox.

Nessa ComboBox vou querer que apareça (Tio, Mae, Avo) - Que já está definido na BD.

O problema é que, apareçe-me sempre o número em vez do texto.

Do género, em vez de "Tio" apareçe-me "1", em vez de "Mãe" apareçe "2"...

No DataBound Items tenho o seguinte:

Data Source: ParentescoBindingSource

Display Member: Descrição

Value Member: CodigoParentesco

Selected Value: PessoasBindingSource - Parentesco

Já dei mil voltas a isto, já troquei, voltei a trocar, troquei novamente..etc. Mas não consegui nada.

Caso não dê, e alguém saiba fazer via código, agradecia que me dissessem.

Obrigado

Posted

Antes de mais obrigado, eis o que não percebo / Não sei o que fazer

          ' Select Statement que irá mostrar todos os vendedores activos, 
          ' excepto o vendedor que será definido no parâmetro
           Dim SQL As String = "SELECT * FROM Vendedores WHERE activo = ? AND vendedor <> ?"

                da.SelectCommand.Parameters.Add("activo", OleDbType.Boolean).Value = True
                da.SelectCommand.Parameters.Add("vendedor", OleDbType.VarChar).Value = "Jorge Paulino"

Vendedores?

Activo?

Posted

Pelo que percebi tens os dados numa tabela correcto?

Qual o campo da tabela que vai aparecer na ComboBox?

Posted

Correctissimo.

O Campo é o "Descrição" porque lá depois tem 3 opções (Tio,Avo e Mae).

Usando o exemplo do JPaulino  ...

Como vi que tinhas numeros vou partir do principio que cada uma das opcoes

tem um código e que o campo chama-se ID e que a tabela não tem mais campos

A ConnectString é para uma base de dados em Access 2003

        Try
            dim CnnString as String = "Dim CnnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\BaseDados.mdb;User Id=admin;Password=;""
            Using connection As New OleDbConnection(CnnString)

                Dim SQL As String = " SELECT * FROM nomedatabela"
                Dim DA As New OleDbDataAdapter(SQL, connection)
                Dim DS As New DataSet

                DA.Fill(DS)

                With cbo_MOB_Brand
                    .DisplayMember = "Descrição"
                    .ValueMember = "ID"
                    .DataSource = DS.Tables(0).DefaultView

                    .DropDownStyle = ComboBoxStyle.DropDown
                    .AutoCompleteMode = AutoCompleteMode.Suggest
                    .AutoCompleteSource = AutoCompleteSource.ListItems
                End With

	' Seleciona o primeiro registo
                NomedaComboBox.SelectedIndex = 0

            End Using

        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

Assim já percebes ?

Posted

Eu acho que já tentei isso..mas vou experimentar.

Uma coisa, basta apenas inserir esse código? Ou ainda tem mais?

Obrigado pela ajuda.

Basta isto e podes colocar dentro de uma função e chama-la no OpenForm por exemplo

Se precisares do valor do campo ID é: NomedaComboBox.SelectedValue.ToString

Posted

Boas, fiz como tu disseste e até apareceram lá os dados na Combobox.

O problema é que ela não interage com a DataGrid/Details.

Ou seja, só está preenchida, não faz nada.

Só agora falas numa datagrid  B)

O exemplo é para uma simples ComboBox...

Vê este artigo do JPaulino: http://vbtuga.blogspot.com/2008/06/vbnet-dicas-de-programao-5.html

Tens muita informação do Blog do JPaulino é melhor dares uma vista de olhos por lá ...

Posted

Bem, já consegui resolver , não foi preciso programar, nem nada do género. Era apenas um detalhe.

Se alguém tiver interesse em saber o que tem que se fazer, que poste aqui.

PauloR, obrigado pela tua disponibilidade em ajudar-me.

Cumprimentos.  😁

Posted

eu estou interessado... B)

CUMPS

Ok, antes de mais, tens de ter uma BD com relações, eu apenas vou fazer de exemplo uma relação, para que seja mais simples te explicar.

Tabela Clientes e Tabela Código de Postal.

Fazes a relação, vais ao VB fazes todo o procedimento, via SQL, para por a funcionar no VB as tabelas.

Irá te aparecer duas Tabelas no "DATA SOURCES" (junto do Solution Explorer) - Tabela Clientes e Tabela Código Postal.

Presumo que tenhas todos os campos correctos, portanto, na Tabela Código Postal, terás estes campos:

CodPostal (Por exemplo)

Descrição (Por exemplo)  * Digo "Por exemplo" porque isto é à escolha da pessoa.

E terás também, outra tabela (Por dentro da Código Postal), chamada Clientes.

Resumindo, terás duas Tabelas Clientes.

Para por a interagir o Código Postal com a Tabela Clientes, terás de fazer o seguinte:

Copias a 1ª Tabela dos Clientes (Sem ser aquela q está dentro do Código Postal), para o Form (Em modo Detalhe)

Depois expandes o Código Postal e clicas no Campo " Descrição ", escolhes " ComboBox " e copias para o Form.

Feito isto, vais à ComboBox que puseste no Form, clicas na setinha da mesma, e seleccionas a opção:

" Use Data Bound Items "

Feito isto, é bastante simples, vamos supor que tu queres ver o Código Postal de cada Cliente em ComboBox.

Data Source: CodigoPostalBindingSource

Display Member: Descrição

Value Member: CodPostal

Selected Value: ClientesBindingSource » Codigo Postal

É só isto, corres o programa e está a funcionar 🙂

* Este procedimento apenas é feito em Modo Details (Detalhes), caso desejes fazer isto com uma DataGrid, adicionas a DataGrid, Editas as Colunas, poems o Código Postal como ComboBox, e metes os mesmos termos que te disse anteriormente:

Data Source: CodigoPostalBindingSource

Display Member: Descrição

Value Member: CodPostal

Selected Value: ClientesBindingSource » Codigo Postal

Espero ter ajudado, cumprimentos.  😁

Posted

e com um datagridview????

:S 

é que o meu programa esta feito só com datagridview ( a parte da consulta)  e não da para por os dados numa imputbox?

CUMPS

"use windows, você merece!"

Posted

* Este procedimento apenas é feito em Modo Details (Detalhes), caso desejes fazer isto com uma DataGrid, adicionas a DataGrid, Editas as Colunas, poems o Código Postal como ComboBox, e metes os mesmos termos que te disse anteriormente:

Data Source: CodigoPostalBindingSource

Display Member: Descrição

Value Member: CodPostal

Selected Value: ClientesBindingSource » Codigo Postal

Espero ter ajudado, cumprimentos.  😁

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.