none
Criar arquivo .MDB com Visual Studio 2008 Visual Basic RRS feed

  • Pergunta

  • Alguém pode postar um código que funcione para criação de um arquivo .MDB em Visual Basic, utilizando o Visual Studio 2008?

    Já pesquisei e todos os exemplos ou estão bugados, ou com falhas ou incompletos.

    Acessar um MDB e alterar os dados eu já consigo, mas criar um arquivo MDB do "zero" ainda não achei um código decente. (Não tenho o ACCESS antes que alguém pergunte).

    Imagine que quero uma tabela de nome CABINA com os seguintes campos:

    NOME           PESO           PISOPAV        CAPACIDADE

    string        inteiro           Lógico S/N         inteiro

    Os dados tenho código para acrescentar e/ou alterar eles.

    Agradeço a atenção se alguém puder me informar.

    Atc.

    Abdala 

    segunda-feira, 5 de abril de 2010 22:57

Respostas

  • Alguém pode postar um código que funcione para criação de um arquivo .MDB em Visual Basic, utilizando o Visual Studio 2008?

    Já pesquisei e todos os exemplos ou estão bugados, ou com falhas ou incompletos.

    Acessar um MDB e alterar os dados eu já consigo, mas criar um arquivo MDB do "zero" ainda não achei um código decente. (Não tenho o ACCESS antes que alguém pergunte).

    Imagine que quero uma tabela de nome CABINA com os seguintes campos:

    NOME           PESO           PISOPAV        CAPACIDADE

    string        inteiro           Lógico S/N         inteiro

    Os dados tenho código para acrescentar e/ou alterar eles.

    Agradeço a atenção se alguém puder me informar.

    Atc.

    Abdala 


    Descobri.

    Bem isso abaixo cria o banco vazio:

     

    Public Function CreateAccessDatabase(ByVal DatabaseFullPath As String) As Boolean

     

    Dim bAns As Boolean

     

    Dim cat As New ADOX.Catalog()

     

    Try

     

    Dim sCreateString As String

    sCreateString = _

     

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabaseFullPath

    cat.Create(sCreateString)

    bAns =

    True

     

    Catch Excep As System.Runtime.InteropServices.COMException

    bAns =

    False

     

    Finally

    cat =

    Nothing

     

    End Try

     

    Return bAns

     

    End Function

     

     

     

    E isso cria a estrutura do Banco:

     

    Private Sub CmdCriaEstrut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCriaEstrut.Click

     

    '

     

    ' This code adds a single-field Primary key

     

    '

     

    Dim Cn As ADODB.Connection, Cat As ADOX.Catalog, objTable As ADOX.Table, objKey As ADOX.Key

    Cn =

    New ADODB.Connection

    Cat =

    New ADOX.Catalog

    objTable =

    New ADOX.Table

    objKey =

    New ADOX.Key

     

    'Open the connection

    Cn.Open(

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\abdala\Meus documentos\" & _

     

    "Visual Studio 2008\Projects\CriaDataBaseMDB\Elevador.mdb")

     

    'Open the Catalog

    Cat.ActiveConnection = Cn

     

    'Create the table

    objTable.Name =

    "Cabina"

     

    'Create and Append a new field to the "Test_Table" Columns Collection

    objTable.Columns.Append(

    "PrimaryKey_Field", ADOX.DataTypeEnum.adInteger, 0)

     

    'Create and Append a new key. Note that we are merely passing

     

    'the "PimaryKey_Field" column as the source of the primary key. This

     

    'new Key will be Appended to the Keys Collection of "Test_Table"

    objTable.Keys.Append(

    "PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "PrimaryKey_Field")

     

    'Append the newly created table to the Tables Collection

    Cat.Tables.Append(objTable)

     

    ' clean up objects

    objKey =

    Nothing

    objTable =

    Nothing

    Cat =

    Nothing

    Cn.Close()

    Cn =

    Nothing

     

    End Sub

     

    • Marcado como Resposta LAbdala quarta-feira, 7 de abril de 2010 22:27
    quarta-feira, 7 de abril de 2010 22:26