none
Aplicação que cria o banco de dados Access no primeiro acesso RRS feed

  • Pergunta

  • Olá a todos, sou novato no vb, anteriormente, estava trabalhando com vba e precisei migrar de plataforma. Estou desenvolvendo um programa de cadastro e pretendendo que no primeiro acesso, o administrador geral(terá também gerente e usuário comum) ao abrir o programa já seja criado o banco no access habilitando o botão de acesso ao registro inicial(tabelas e dados serão criados a medida que o administrador geral registra os dados), e, se for acessos posteriores, o programa verifique a existência e já vá para o login deixando desabilitado o botão de acesso inicial, para que assim o gerente e usuário comum acessem. Neste processo todo, não consegui achar um código que permita isso(só consegui  desenvolver o código de login e a movimentação nos form's), geralmente só acho para a criação, ou, acho somente para SQL ou outro tipo de base de dados, porém, gostaria que fosse access para simplificar a instalação e o uso. Desde já grato pela atenção de todos.
    • Editado B.Cassino sábado, 22 de setembro de 2018 02:37
    sábado, 22 de setembro de 2018 02:24

Respostas

  • B.Cassino,
       Existem várias formas de fazer.
       Com o ADO.Net, Entity Framework, basta montar os comandos no código com "ADOX", como "Create Table", etc...
       Exemplos:
    ========================================

    how to create a ms access db and table using adodb in vb.net

    Imports ADOX
    Imports System.Data.OleDb
    
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim databaseName As String = "C:\AccessDB.mdb"
            Dim tableName As String = "MyTable"
    
            ' Part 1: Create Access Database file using ADOX
            Dim cat As ADOX.Catalog = New ADOX.Catalog()
    
            cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & databaseName & ";Jet OLEDB:Engine Type=5")
            MessageBox.Show("Database Created Successfully")
            cat = Nothing
    
            ' Part 2: Create one Table using OLEDB Provider 
    
            Dim con As New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" & databaseName)
            con.Open()
    
            'Get database schema
            Dim dbSchema As DataTable = con.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, tableName, "TABLE"})
          con.Close()
    
            ' If the table exists, the count = 1
            If dbSchema.Rows.Count > 0 Then
    
                ' do whatever you want to do if the table exists
            Else
                'do whatever you want to do if the table does not exist
                ' e.g. create a table
    
                Dim cmd As New OleDb.OleDbCommand("CREATE TABLE [" + tableName + "] ([Field1] TEXT(10), [Field2] TEXT(10))", con)
    
                con.Open()
                cmd.ExecuteNonQuery()
                MessageBox.Show("Table Created Successfully")
                con.Close()
            End If
    
        End Sub
    
    End Class

    http://www.codeguru.com/vb/gen/vb_database/microsoftaccess/article.php/c5149
    ========================================
    Entity Framework 6 - Fundamentos - Criando um modelo conceitual (Model First para novatos)
     
    Se você está apenas começando a explorar Entity Framework, talvez esteja pensando: "Ok, como faço para começar?" 
    Se este for o seu caso, quanta coincidência; esse artigo foi escrito para você.
    http://www.macoratti.net/14/07/ef6_fund1.htm
    ========================================
    VB .NET - Curso Prático ADO .NET - Desenvolvendo uma aplicação : Análise e Requisitos - I
    http://www.macoratti.net/Cursos/vbn_ado/vbn_cur.htm
    ========================================

    []'s,
    Fabio I.
    sábado, 22 de setembro de 2018 13:14