Jump to content
Sign in to follow this  
Sayfor

Exemplo de programa com acesso a banco de dados

Recommended Posts

Sayfor    0
Sayfor

Tai um programa que eu fiz quando comecei a mecher com DB em VB...

Código comentado e programa

 

========frmPrincipal========

'Programa de Cadastro v1.1.0'Desenvolvido por SayforDim db As Database'Declarando o objeto db que manuseará o banco de dadosDim tb As Recordset'Declarando o objeto tb que manuseará a tabelaDim sexo As String'Declarando a var sexo para armazenar o sexo do professorDim botao As Integer'Declarando a variável botao que armazenará o código do'botão selecionado pelo usuário 1 = Cadastrar / 2 = Alterar / 3 = ExcluirPrivate Sub cmdAlterar_Click()    If (txtcic.Text = "") Then    'Se a caixa de texto CIC estiver vazia        MsgBox "Digite um CIC", , "Aviso"        'Exibe a msg Digite um cic para o usuário        txtcic.SetFocus        'Insere o foco na caixa do cic        Exit Sub        'Sai da sub, não permitindo que o resto da programação        'desta sub seja executada    End If    'fim  do if        'Se a caixa de CIC estiver preenchida a programação abaixo será executada        tb.Seek "=", txtcic.Text    'Procura na tabela por um cic que seja igual ao digitado        If tb.NoMatch Then    'Se o cic nao for encontrado        MsgBox "CIC não econtrado"        'Exibe a mensagem CIC nao encontrado p/ o usuário        txtcic.SetFocus        'Insere o foco na caixa do cic    Else    'Se o cic for encontrado na tabela        pnlcampos.Enabled = True        'Habilita o painel dos campos        txtcic.Text = tb!cic        'Mostra no campo cic o conteúdo do cic da tabela        txtnome.Text = tb!nome        'Mostra no campo nome o conteudo nome da tabela pertinente ao cic atual        If tb!sexo = "Masculino" Then        'Se o campo sexo estiver com o valor Masculino            optmf(0).Value = True            'Marca a opção Masculino            sexo = "Masculino"            'Var sexo recebe Masculino        Else            optmf(1).Value = True            'Marca a opção Feminino            sexo = "Feminino"            'Var sexo recebo Feminino        End If        'fim do if        cbosalario.Text = tb!salario        'Mostre no combo salário o valor do salário da tabela        cmdCadastrar.Enabled = False        'Desabilita o botão Cadastrar        cmdAlterar.Enabled = False        'Desabilita o botão Alterar        cmdExcluir.Enabled = False        'Desabilita o botão Excluir        cmdConsultar.Enabled = False        'Desabilita o botão Consultar        cmdConfirmar.Visible = True        'Deixa o botão Confirmar visivel        cmdCancelar.Visible = True        'Deixa o botão Cancelar visivel        txtnome.SetFocus        'Insere o foco na caixa de texto do nome                botao = 2        'A variável botão recebe 1 para o VB saber que o usuário        'clicou no botão Cadastrar            End If    'fim do if       End SubPrivate Sub cmdCadastrar_Click()    If (txtcic.Text = "") Then    'Se a caixa de texto CIC estiver vazia        MsgBox "Digite um CIC", , "Aviso"        'Exibe a msg Digite um cic para o usuário        txtcic.SetFocus        'Insere o foco na caixa do cic        Exit Sub        'Sai da sub, não permitindo que o resto da programação        'desta sub seja executada    End If    'fim  do if        'Se a caixa do CIC estiver preenchida a programação a baixo será execurada        tb.Seek "=", txtcic.Text    'Procura na tabela por um cic que seja igual ao digitado na caixa de cic    If tb.NoMatch Then    'Se o cic digitado não for encontrado        pnlcampos.Enabled = True        'Habilita o painel de campos        pnlchave.Enabled = False        'Desabilita o painel do cic                cmdCadastrar.Enabled = False        'Desabilita o botão Cadastrar        cmdAlterar.Enabled = False        'Desabilita o botão Alterar        cmdExcluir.Enabled = False        'Desabilita o botão Excluir        cmdConsultar.Enabled = False        'Desabilita o botão Consultar        cmdConfirmar.Visible = True        'Deixa o botão Confirmar visivel        cmdCancelar.Visible = True        'Deixa o botão Cancelar visivel                txtnome.SetFocus        'Insere o foco na caixa de texto                botao = 1        'A variável botão recebe 1 para o VB saber que o usuário        'clicou no botão Cadastrar    Else    'Se o CIC digitado for encontrado na tabela        MsgBox "Professor já cadastrado!", , "Aviso"        'Exibe a mensagem Professor já cadastrado ao usuário        txtcic.Text = ""        'Limpa a caixa de cic        txtcic.SetFocus        'Insere o foco na caixa do cic        pnlchave.Enabled = True        'Habilita o painel do cic   End If   'fim do if   End SubPrivate Sub cmdCancelar_Click()    pnlchave.Enabled = True    'Habilita o painel do cic    pnlcampos.Enabled = False    'Desabilita o painel dos campos    cmdCadastrar.Enabled = True    'Habilita o botão Cadastrar    cmdAlterar.Enabled = True    'Habilita o botão  Alterar    cmdExcluir.Enabled = True    'Habilita o botão  excluir    cmdConsultar.Enabled = True    'Habilita o botão  Consultar    txtcic.Text = ""    'Limpa a caixa de cic    txtnome.Text = ""    'Limpa a caixa de nome    optmf(0).Value = True    sexo = "Masculino"    'Var sexo recebe Masculino    cbosalario.Text = ""    'Limpa o combo de salario    cmdConfirmar.Visible = False    'Deixa o botao COnfirmar invisivel    cmdCancelar.Visible = False    'Deixa o botao Cancelar invisivel    End SubPrivate Sub cmdConfirmar_Click()    Select Case botao        Case 1                    tb.AddNew            tb!cic = txtcic.Text            tb!nome = txtnome.Text            tb!sexo = sexo            tb!salario = cbosalario.Text            tb.Update        Case 2            tb.Edit            tb!cic = txtcic.Text            tb!nome = txtnome.Text            tb!sexo = sexo            tb!salario = cbosalario.Text            tb.Update        Case 3        tb.Delete                End Select        'fim do select    cmdCancelar_Click    'Executa a programacao do botao Cancelar    End SubPrivate Sub cmdConsultar_Click()If (txtcic.Text = "") Then    'Se a caixa de texto CIC estiver vazia        MsgBox "Digite um CIC", , "Aviso"        'Exibe a msg Digite um cic para o usuário        txtcic.SetFocus        'Insere o foco na caixa do cic        Exit Sub        'Sai da sub, não permitindo que o resto da programação        'desta sub seja executada    End If    'fim  do if        'Se a caixa de CIC estiver preenchida a programação abaixo será executada        tb.Seek "=", txtcic.Text    'Procura na tabela por um cic que seja igual ao digitado        If tb.NoMatch Then    'Se o cic nao for encontrado        MsgBox "CIC não econtrado"        'Exibe a mensagem CIC nao encontrado p/ o usuário        txtcic.SetFocus        'Insere o foco na caixa do cic    Else    'Se o cic for encontrado na tabela        pnlcampos.Enabled = True        'Habilita o painel dos campos        txtcic.Text = tb!cic        'Mostra no campo cic o conteúdo do cic da tabela        txtnome.Text = tb!nome        'Mostra no campo nome o conteudo nome da tabela pertinente ao cic atual        If tb!sexo = "Masculino" Then        'Se o campo sexo estiver com o valor Masculino            optmf(0).Value = True            'Marca a opção Masculino            sexo = "Masculino"            'Var sexo recebe Masculino        Else            optmf(1).Value = True            'Marca a opção Feminino            sexo = "Feminino"            'Var sexo recebo Feminino        End If        'fim do if        cbosalario.Text = tb!salario        'Mostre no combo salário o valor do salário da tabela        cmdCadastrar.Enabled = False        'Desabilita o botão Cadastrar        cmdAlterar.Enabled = False        'Desabilita o botão  Alterar        cmdExcluir.Enabled = False        'Desabilita o botão  Excluir        cmdConsultar.Enabled = False        'Desabilita o botão  Consultar        cmdOk.Visible = True        'Deixa o botão  Ok visivel    End IfEnd SubPrivate Sub cmdExcluir_Click()If (txtcic.Text = "") Then    'Se a caixa de texto CIC estiver vazia        MsgBox "Digite um CIC", , "Aviso"        'Exibe a msg Digite um cic para o usuário        txtcic.SetFocus        'Insere o foco na caixa do cic        Exit Sub        'Sai da sub, não permitindo que o resto da programação        'desta sub seja executada    End If    'fim  do if        'Se a caixa de CIC estiver preenchida a programação abaixo será executada        tb.Seek "=", txtcic.Text    'Procura na tabela por um cic que seja igual ao digitado        If tb.NoMatch Then    'Se o cic nao for encontrado        MsgBox "CIC não econtrado"        'Exibe a mensagem CIC nao encontrado p/ o usuário        txtcic.SetFocus        'Insere o foco na caixa do cic    Else    'Se o cic for encontrado na tabela        pnlcampos.Enabled = True        'Habilita o painel dos campos        txtcic.Text = tb!cic        'Mostra no campo cic o conteúdo do cic da tabela        txtnome.Text = tb!nome        'Mostra no campo nome o conteúdo nome da tabela pertinente ao cic atual        If tb!sexo = "Masculino" Then        'Se o campo sexo estiver com o valor Masculino            optmf(0).Value = True            'Marca a opção Masculino            sexo = "Masculino"            'Var sexo recebe Masculino        Else            optmf(1).Value = True            'Marca a opção Feminino            sexo = "Feminino"            'Var sexo recebo Feminino        End If        'fim do if        cbosalario.Text = tb!salario        'Mostre no combo salário o valor do salário da tabela        cmdCadastrar.Enabled = False        'Desabilita o botão  Cadastrar        cmdAlterar.Enabled = False        'Desabilita o botão Alterar        cmdExcluir.Enabled = False        'Desabilita o botão Excluir        cmdConsultar.Enabled = False        'Desabilita o botão Consultar        cmdConfirmar.Visible = True        'Deixa o botao Confirmar visivel        cmdCancelar.Visible = True        'Deixa o botao Cancelar visivel                botao = 3    End IfEnd SubPrivate Sub cmdOK_Click()cmdCancelar_Click'Executa a programação do botão cancelarcmdOk.Visible = False'Deixa o botao Ok invisivelEnd SubPrivate Sub creditos_Click()frmAbout.ShowEnd SubPrivate Sub Form_Load()Set db = OpenDatabase("C:univap.mdb")'Abre o banco de dados, diga o destino do mesmoSet tb = db.OpenRecordset("professores", dbOpenTable)'Abre a tabelatb.Index = "PrimaryKey"'Seta a primary key como chave primáriasexo = "Masculino"'Sexo recebe MasculinoEnd SubPrivate Sub optmf_Click(Index As Integer, Value As Integer)Select Case Index    'Selecione conforme o índice do botão de opção selecionado        Case 0        'Caso o botão  seja o Masculino            sexo = "Masculino"            'Armazene na variável sexo a palavra "Masculino"        Case 1        'Caso o botão seja o Feminino            sexo = "Feminino"            'Armazene na variável sexo a palavra "Feminino"    End Select    'Fim do selectEnd SubPrivate Sub sair_Click()'Pergunta ao usuário se ele realmente quer fechar o programaIf MsgBox("Deseja realmente sair ?", vbYesNo, "Cadastro") = vbYes Then'Se sim    End    'Finaliza o programaElse'Senão    Exit Sub    'Sai da sub e não executa o resto da programaçãoEnd IfEnd Sub

========frmCreditos========

Private Sub cmdOK_Click()  Unload MeEnd SubPrivate Sub Form_Load()    Me.Caption = "About " & App.Title    lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision    lblTitle.Caption = App.TitleEnd Sub

 

 

Obs: - Coloque o banco de dados na unidade C: ou então mude o destino do mesmo no form_load do frmPrincipal

 

Créditos: Sayfor

Share this post


Link to post
Share on other sites
Vasigap    0
Vasigap

Velho tu leu meus pensamentos tava precisando disso...tu nao pode posta o binario só pra eu te 1 idéia do design...ou posta o prog todo pra eu ve tudu....vlws ae desde já ^^

Share this post


Link to post
Share on other sites
Sayfor    0
Sayfor

Pior é que eu não tenho mais o binário nem as sources, eu formatei meu pc e como este code eu já havia postado em outros fórums apenas ajeitei umas coisinhas e postei aqui :/

Share this post


Link to post
Share on other sites
GDLib    2
GDLib

O banco de dados do Access não é muito bom para aplicações, eu já conheçia algo do tipo, mas preferiria usar MySQL.Mesmo assim está muito bom.

Share this post


Link to post
Share on other sites
Sayfor    0
Sayfor

Também acho MySQL muito melhor porém como eu disse, fiz este programa quando eu comecei a mecher com BD.

Share this post


Link to post
Share on other sites
Boleta    1
Boleta

Olá Sayfor!!

 

Está excelente seu programa, parabéns!

Vo postar aqui uma função feita por mim para carregar uma DataBase do Access:

 

'Função que carrega um Banco de Dados por BoletaPrivate Function CarregarDataBase(Caminho As String, Sql As String) As ADODB.RecordsetDim Rs As New ADODB.RecordsetDim Cnn As New ADODB.ConnectionWith Cnn    .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Caminho & ";"    .OpenEnd WithRs.CursorLocation = adUseClientRs.Open Sql, Cnn, adOpenKeyset, , adAsyncFetchNonBlockingSet CarregarDataBase = RsEnd Function
Para usar a função, adicione uma Grid qualquer ao projeto e use o seguinte:

 

Private Sub Form_Load()Set Grid.DataSource = CarregarDataBase(Caminho, "Select * From Nome_Da_Tabela")End Sub
Abraços,

//Bol~

Share this post


Link to post
Share on other sites
Sayfor    0
Sayfor

Opa valeu pelo code Boleta.. Vou dar uma "estudada" nele depois ;]//Sayfor

Share this post


Link to post
Share on other sites
Bogos    0
Bogos

Eu ia da um exemplo igual o do Boleta hehe

Hail ADO ^^

 

Por que será que os professores sempre ensinam essa maneira do Sayfor pra começar? É tão + complicada, porém funciona também neh hehe

 

Em relação ao Tópico acho que só faltou umas imagens do layout dos forms, mas ta muito bom xD

 

 

Cya,

Bogos

Share this post


Link to post
Share on other sites
Zero    0
Zero

Bogos, acredito que o ADO não seja tão antigo quanto o VB, por isso a escolha dos professores.

Share this post


Link to post
Share on other sites
Sayfor    0
Sayfor

De professor pra aluno ... e quanto as imgs do form, eu formatei o pc e perdi a src e o bin, essa "src" eu tinha postado em outro fórum, ai decidi postar aqui também ai só copiei ;]

Share this post


Link to post
Share on other sites
Guest Eclipse   
Guest Eclipse

Hmm interessante pros iniciantes pegarem o jeito do uso do array nos botoes de opcao, o uso dos cases e outras funcoes. Porem acho que sem as sources do programa fica meio dificil distinguir muitas das partes que estao ali, pois nao sabemos em si onde ficariam as coisas e etc...Talves ao inves de copiar e colar voce pudesse postar uma aula sobre o uso destas funcoes...seria mais util.Se eu tiver tempo eu sintetizo isso para os iniciantes mais tarde.Cya

Share this post


Link to post
Share on other sites
Boleta    1
Boleta

Olá Eclipse!!

 

As aulas desta seção são feitas por mim. Isso não impede que os usuários criem suas "aulas particulares", porém cada uma delas precisa ter um segmento de certo assunto e abordar com detalhe tudo o que se passa.

 

As aulas feitas por mim, por enquanto abordam a apredizagem do básico da linguagem. Após isso, começarei a me aprofundar mais em cada coisa, já que são tantas.

 

Estou à disposição para qualuqer dúvida ou sugestão.

 

Abraços,

//Bol~

Share this post


Link to post
Share on other sites
Sayfor    0
Sayfor

Posso até fazer isso mas to mechendo com meu ot.. Jaja ele vai ta on.;.dedicada rlz..Btw procurando um otimo codder ;D

Share this post


Link to post
Share on other sites
Johnnie Walker    0
Johnnie Walker

Otimo code cara..Parabens ;]

Share this post


Link to post
Share on other sites
Sayfor    0
Sayfor

Obrigado Johnnie~ !

Share this post


Link to post
Share on other sites
Paper Boy    0
Paper Boy

Ou, tpo poderia explicar +/- oque cada coisa fais?? oque ele carrega?? qualquer coisa?? como vou faser pra ele carregar aquele tipo de ocisa q eu quero??

 

 

//Paper Boy

Share this post


Link to post
Share on other sites
Sollos    0
Sollos

Hail Ado?

O Sistema usado foi o DAO

Share this post


Link to post
Share on other sites
Firelias    0
Firelias

@topic

 

muito bom!

parabenz!

 

@Bol~

qq eh Grid?

como bota?

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×