MACHINE Posted April 4, 2012 at 05:53 PM Report #447557 Posted April 4, 2012 at 05:53 PM Boas Estou a fazer um projecto em VB(com base de dados Access) com ligação por código,e gostava de saber como é que chamo um campo da base de dados para uma label ,ou seja,por exemplo tenho uma tabela cliente com o último registo com o nome"abc" e gostava que me mostrasse no VB numa label esse campo. Aqui fica os campos da minha tabela(Cliente) ID(PK) nome apelido Desde já o meu obrigado pela vossa atenção.
Andrepereira9 Posted April 4, 2012 at 05:54 PM Report #447559 Posted April 4, 2012 at 05:54 PM Boas Já consegues ligar à Base de Dados? A informática chegou para resolver problemas que antes não existiam Quem ri por último é porque está conectado a 52 Kbs.
MACHINE Posted April 4, 2012 at 06:17 PM Author Report #447571 Posted April 4, 2012 at 06:17 PM sim, a ligação já ta feita porque já consigo introduzir e consultar e eliminar. agora chamar um campo é que não sei :S :S
JRS Posted April 4, 2012 at 06:29 PM Report #447577 Posted April 4, 2012 at 06:29 PM Bem, vou postar como geralmente utilizo. Pelo visto vc precisa só das atribuições, então: 'Declara variáveis de acesso Dim seuDataBase As Database, suaTabela As Recordset 'Direciona para o arquivo - senha opcional Set seuDataBase = Workspaces(0).OpenDatabase("dir_e_arquivo.mdb",False, False, "MS Access; PWD=" & senha) 'Direciona para tabela Set suaTabela = DB_EP.OpenRecordset("cliente", dbOpenTable) 'Numero de registros nrecord = suaTabela.RecordCount 'Vai ao primeiro registro - um dos comandos - depois vc brinca suaTabela.MoveFirst 'Vai ao último registro suaTabela.MoveLast 'Atribuí Label1 = suaTabela("ID") Label2 = suaTabela("nome") Label3 = suaTabela("apelido") 'Fecha tabela e database suaTabela.Close seuDataBase.Close ABS!JRS!
MACHINE Posted April 4, 2012 at 07:52 PM Author Report #447592 Posted April 4, 2012 at 07:52 PM Desde já obrigado pelo código,mas está me a dar alguns erros. Eu tenho a ligacao á base de dados(Access) por código. Ou seja tenho dois modulos(ligacao_bd e ligacao_2) --------------------------------------------------------------------------------------------------------------------------------- 1º ligacao_bd Public Const CAMINHO = "C:\Database1.accdb" Public Sub LIGACAO() REM procedimento de ligacao,Criar um objecto Oledbdatadapter e ligar a tabela da base de dados configuracao_ligacao = "Provider=Microsoft.ace.OLEDB.12.0;Data source=provider=Microsoft.ace.OLEDB.12.0;data source =" & CAMINHO minhaligacao.ConnectionString = configuracao_ligacao End Sub[/b] --------------------------------------------------------------------------------------------------------------------------------- 2º ligacao_2 Public Sub ligar_bd() ligacaobd.LIGACAO() ligacaobd.objconnection = New OleDbConnection(ligacaobd.configuracao_ligacao) ligacaobd.objconnection.Open() End Sub[/b] --------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------- Eu só queria mesmo era mostrar numa label o último campo da tabela cliente. Desde já o meu obrigado
Leudassdf Posted April 4, 2012 at 10:24 PM Report #447632 Posted April 4, 2012 at 10:24 PM Desde já obrigado pelo código,mas está me a dar alguns erros. Eu tenho a ligacao á base de dados(Access) por código. Ou seja tenho dois modulos(ligacao_bd e ligacao_2) --------------------------------------------------------------------------------------------------------------------------------- 1º ligacao_bd Public Const CAMINHO = "C:\Database1.accdb" Public Sub LIGACAO() REM procedimento de ligacao,Criar um objecto Oledbdatadapter e ligar a tabela da base de dados configuracao_ligacao = "Provider=Microsoft.ace.OLEDB.12.0;Data source=provider=Microsoft.ace.OLEDB.12.0;data source =" & CAMINHO minhaligacao.ConnectionString = configuracao_ligacao End Sub[/b] --------------------------------------------------------------------------------------------------------------------------------- 2º ligacao_2 Public Sub ligar_bd() ligacaobd.LIGACAO() ligacaobd.objconnection = New OleDbConnection(ligacaobd.configuracao_ligacao) ligacaobd.objconnection.Open() End Sub[/b] --------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------- Eu só queria mesmo era mostrar numa label o último campo da tabela cliente. Desde já o meu obrigado Nao sei se o que queres e alguma coisa parecida a isto. aquilo que eu faria para buscar o ultimo valor da tabela clientes seria dim sqltext as string dim adaptador As New OleDbDataAdapter dim comando As New OleDbCommand depois faria ligacao.open sqltext="select count(Nome da coluna da chave primaria de preferencia) from clientes" comando.commandtext=sqltext comando.connection=ligacao "umavariavel"=comando.executescalar ligacao.close sqltext="select * from clientes"' isto copia tudo da tabela clientes adaptador = New OleDbDataAdapter(sqltext, ligacao) adaptador.Fill(cliente, "Cliente")' 'agora ja tens os teus dados da tabela numa tabela do vb 'agora vais igualar a label a variavel no meu caso umavariavel 'tipo isto lbl_qualquercoisa= cliente.Tables("Cliente").Rows(umavariavel).Item(0) ' aqui no item dependo o que queres por exemplo se tens 3 coluna na tabela clientes se quiseres a primeira e o 'item(0),item(1),sucessivamente era isso que querias? se quiseres colocar os tres campos numa label ai teras que fazer qualquer coisa do tipo lbl_qualquercoisa.text=cliente.Tables("Cliente").Rows(umavariavel).Item(0) & "," & cliente.Tables("Cliente").Rows(umavariavel).Item(1) &"," & cliente.Tables("Cliente").Rows(umavariavel).Item(2)
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now