Você está na página 1de 2

08/04/13

Trabalhando com dois banco de dados

VB - Criando um banco de dados com senha usando ADO


Nesta dica vou mostrar como criar um banco de dados com senha usando ADO. Na verdade teremos que usar ADOX pois somente ela possui algumas funcionalidades que iremos precisar para criar o banco de dados. A primeira coisa a fazer referenciar em seu projeto as bibliotecas abaixo atravs do menu Project|References: Microsoft ActiveX Data Object 2.x library Microsoft ADO Ext. 2.x for DDL and Security A seguir voc pode usar o cdigo abaixo para fazer o servio: Option Explicit ''variveis ADO / ADOX Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim cat As ADOX.Catalog Dim tbl As ADOX.Table Dim col As ADOX.Column 'variveis gerais Dim strPassword As String 'A senha para abrir ou definir o novo banco de dados Dim strSource As String 'Caminho e nome do arquivo da fonte de dados Private Sub Command1_Click() On Error Resume Next 'fecha o banco de dados se ele estiver aberto cnn.Close On Error GoTo 0 strSource = App.Path & "\TestePassword.mdb" 'verifica se o arquivo .mdb j esta presente If Dir$(strSource) <> "" Then If MsgBox(strSource & " j existe. Posso sobreescrever o arquivo ?", vbQuestion + vbYesNo) = vbNo Then Exit Sub Else Kill (strSource) End If End If 'Pega a senha strPassword = InputBox("Informe a senha para o novo banco de dados. Deixe em branco para usa sem senha") Set cat = New ADOX.Catalog cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strSource & ";Jet OLEDB:database Password=" & strPassword Set tbl = New ADOX.Table tbl.Name = "Tabela1" ' Inclui um anova tabela a coleo Tables do banco de dados cat.Tables.Append tbl
www.macoratti.net/d020204.htm 1/2

08/04/13

Trabalhando com dois banco de dados

With tbl ' Cria os campos e os anexa a coleo Columns do novo objeto Table Set col = New ADOX.Column With col .Name = "Campo1" .DefinedSize = 50 .Type = adVarWChar .SortOrder = adSortAscending End With .Columns.Append col Set col = Nothing End With 'define campo permitindo dados de comprimento zero tbl.Columns("Campo1").Properties("Jet OLEDB:Allow Zero Length") = True 'inclui alguns dados Set cnn = New ADODB.Connection cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strSource & ";Persist Security Info=False" cnn.Properties("Jet OLEDB:database Password").Value = strPassword cnn.Open cat.ActiveConnection = cnn Set rst = New ADODB.Recordset rst.Open "Tabela1", cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect rst.AddNew rst!Campo1 = "campo teste" rst.Update rst.Close MsgBox "Banco de dados com senha criado com sucesso ", vbInformation, "Banco de dados com senha" End Sub Este cdigo cria o banco de dados TestePassword.mdb com senha no diretrio local , e a seguir , cria uma tabela Tabela1 e acrescenta alguns dados a ela. At a prxima dica...

Jos Carlos Macoratti

www.macoratti.net/d020204.htm

2/2