COMO CRIAR UM .MDB VIA CODIGO E COM SENHA??

 Tópico anterior Próximo tópico Novo tópico

COMO CRIAR UM .MDB VIA CODIGO E COM SENHA??

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#15570 - 16/03/2004 11:44:40

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Bom Dia, pessoal....


Eu já sei criar um arquivo .MDB via código pelo VB, mas, eu gostaria de saber, se tem como eu criar este arquivo via código, e na criação dele, definir a senha dele, tem como fazer isso via código???

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

Resposta escolhida #15598 - 16/03/2004 12:44:38

CAJU
FORTALEZA
Cadast. em:Dezembro/2003


Option Explicit

Option Base 1           'Lembra para que serve esta declaração ?

Dim area As Workspace   'Define área de trabalho
Dim banco As Database   'Define área para o .MDB
Dim tabela As TableDef  'Define area para criar uma tabela
Dim campos(6) As Field  'Define área para criar os campos
Dim indice As Index     'Define área para criar um índice
Dim idxcampo As Field   'Define área do campo do índice
Dim tabcli As Recordset 'Usado para abrir a tabela

Dim esttab As TableDef
Dim estcampos(2) As Field
Dim tabest As Recordset

Dim relação As Relation
Dim relcampo As Field


Private Sub cmdCriaBanco_Click()

    On Error GoTo erro:
    
    Set area = DBEngine.Workspaces(0)
    
    'Cria a partir do mecanismo "DAO" uma área de trabalho
    
    Set banco = area.CreateDatabase(App.Path & "\livro.mdb", _
                dbLangGeneral, dbVersion30)
                
    'Cria o banco de dados .MDB no formato 3.0
    
    Set tabela = banco.CreateTableDef("Clientes")
    
    'Cria a tabela denominada "Clientes"
    
    Set campos(1) = tabela.CreateField("cli_código", dbInteger)
    
    'Cria um campo dentro da tabela Clientes

    tabela.Fields.Append campos(1)
    
    'Efetiva a adição do campo dentro da tabela
    
    Set campos(2) = tabela.CreateField("cli_nome", dbText, 40)
    tabela.Fields.Append campos(2)
    
    Set campos(3) = tabela.CreateField("cli_endereço", dbText, 40)
    tabela.Fields.Append campos(3)
    
    Set campos(4) = tabela.CreateField("cli_cidade", dbText, 20)
    tabela.Fields.Append campos(4)
    
    Set campos(5) = tabela.CreateField("cli_estado", dbText, 2)
    tabela.Fields.Append campos(5)
    
    Set campos(6) = tabela.CreateField("cli_cep", dbText, 9)
    tabela.Fields.Append campos(6)
    
    banco.TableDefs.Append tabela
    
    'Efetiva a adição da tabela Clientes dentro do Banco de Dados
    
    Set indice = tabela.CreateIndex("ChavePrimária")
    
    'Cria um índice para a tabela Clientes
    
    indice.Primary = True 'Chave Primária
    indice.Unique = True  'Não aceita dados duplicados
    
    'Define atributos para o índice
    
    Set idxcampo = indice.CreateField("cli_código")
    
    'Cria o campo que será usado com índice
    
    indice.Fields.Append idxcampo
    
    'Efetiva a adição do índice na tabela em questão
    
    tabela.Indexes.Append indice
    
    'Efetiva a adição do índice ao objeto TableDef
      
    'Criando a Tabela de Siglas de Estado
    
    Set esttab = banco.CreateTableDef("estados")
    
    Set estcampos(1) = esttab.CreateField("est_sigla", dbText, 2)
    
    esttab.Fields.Append estcampos(1)
    
    Set estcampos(2) = esttab.CreateField("est_descrição", dbText, 20)
    
    esttab.Fields.Append estcampos(2)
    
    banco.TableDefs.Append esttab
    
    Set indice = esttab.CreateIndex("ChavePrimária")
    
    indice.Primary = True
    indice.Unique = True
    
    Set idxcampo = indice.CreateField("est_sigla")
    
    indice.Fields.Append idxcampo
    esttab.Indexes.Append indice
    
    'Criando um Relacionamento
    
    Set relação = banco.CreateRelation("Estados_Clientes")
    
    relação.Table = "estados"   'Esta é a tabela PAI
    
    relação.ForeignTable = "clientes"   'Esta é a tabela FILHA
    
    relação.Attributes = dbRelationUpdateCascade
    
    Set relcampo = relação.CreateField("est_sigla")
    
    relcampo.ForeignName = "cli_estado"
    
    relação.Fields.Append relcampo
    
    banco.Relations.Append relação
    
    'O relacionamento foi criado
    
    cmdCriaBanco.Enabled = False 'Desabilita o botão
    cmdAbrir.Enabled = True 'Habilita o botão
    cmdDeletar.Enabled = True
    
    cmdAbrir.SetFocus 'Foco para o botão Abrir
    
    Exit Sub 'Finaliza a rotina
    
erro:

    MsgBox Format(Err) & "-" & Error
    Resume saída
    
saída:

End Sub

T+,
Caju

#15664 - 16/03/2004 20:51:11

CAJU
FORTALEZA
Cadast. em:Dezembro/2003


LCSD, nesse exemplo o Option Base 1 só para começar a contar do 1 e nao do 0

ex:
se eu colocar
campos(6) as filed

só vai existir os campos
campos(1),campos(2),campos(3),campos(4),campos(5),campos(6)
ou seja o campos(0) nao existe

T+,
Caju

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WEBMASTER em 18/08/2009 10:03:45