1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em Visual Basic 2008 ler access

Discussão em 'Programação' iniciada por LipaM, 26 de Abril de 2009. (Respostas: 1; Visualizações: 2798)

  1. Boa noite, comecei ha pouco tempo a trabalhar com Visual Basic e como é o 2008 é um pouco mais dificil
    O objectivo é criar um software com a funcionalidade de uma caixa registadora.
    Já tenho a maior parte do trabalho feito, o problema é fazer com que o programa em visual basic vá buscar os dados à tabela em access 2003 (.mdb)

    queria ler apartir de uma base de dados (base de dados1.mdb) da tabela1 e contar os
    elementos para poder criar x botões dinamicamente colocando o nome de cada celula em cada um dos botões.
    Depois cada elemeto na coluna 2 tem o preço.
    Um exmplo de como quero que fique a função de cada botão depois de criado dinamicamente:
    Código:
    Private Sub Botão_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Botão.Click
    ultm = 0.7 'preço do producto, mas com o objectivo de mudar o valor
    Botão.Text = "PRODUCTO" 'alterar para o nome da variavel
    soma() 'função que tenho como objectivo manter em todos os botões
    End Sub
    A ideia é que o programa leia a base de dados, saiba quantos botões tem que criar, leia um por um e atribua á variave do botão o nome e o valor do producto
    Não sei é como fazer com que programa recolha os dados e criar os botões dinamicamente, se me puderem ajudar agradecia muito.

    Obrigada
     
  2. iznougud

    iznougud I quit My Job for Folding

    Tens ai varias questões pelo que percebi:

    1-Aceder a Access a partir do .Net
    2-Associar um preço e um nome a um Botão
    3-Criar botoes dinamicamente, atribui-los a um form e activar os eventos para cada um


    Ponto 1:
    http://forum.zwame.pt/showthread.php?t=422490

    Ponto 2:
    Sugiro que faças uma classe ou uma estrutura para agrupar um botao e um double
    Ex:
    Código:
    Public Class CustomButton	:Inherits System.Windows.Forms.Button
    
    	Public valor As Double = 0
    		
    End Class
    
    Deste modo tens um botão normal mas que tem mais um campo para usares


    Ponto 3:
    Código:
           Dim WithEvents  btn As CustomButton
    	 
    	Sub MainFormLoad(ByVal sender As Object, ByVal e As EventArgs)
    		
    		Dim TamanhoBotao As New Size
    		TamanhoBotao.Width = 100
    		TamanhoBotao.Height = 25
    		
    		Dim p As New Point
    		
    		For x As Integer = 0 To 5
    			
    			btn = New CustomButton 
    ' Definir o tamanho do botao
    			btn.Size = TamanhoBotao
    			
    ' Aqui estou a ordenar os botoes em 3 colunas
    			p.X = (TamanhoBotao.Width + 5) * (x Mod 3) 
    			p.Y = (TamanhoBotao.height + 5) * (x \ 3)
    			
    			btn.Location = p
    
    'Atribuir Nome e valor.
    			btn.Text = "Botão " & x
    			btn.valor = x+20
    			
    			AddHandler btn.MouseClick , AddressOf ClicaBotao
    			
    'Adicionar o boato ao Form. o melhor seria criares um Panel e adicionares os botoes ao Panel, ficava mais organizado e podias ajustar melhor a posiçao dos botoes no form
    
    			Me.Controls.Add(btn)
    			
    		Next
    		
    	End Sub
    	
    	Public Sub ClicaBotao(sender as Object, e as system.Windows.Forms.MouseEventArgs ) 
    				
    		Dim b As CustomButton = DirectCast(sender, CustomButton)
    		msgbox(b.valor)
    		' Aqui poes a tua função Soma() 
    		
    	End Sub
    


    Agora é só juntar tudo. Do ponto 1 fazes uma pesquisa no Access que te devolve uma Datatable

    Depois para cada Row da Datatable crias um botão
     

Partilhar esta Página