CREATE TABLE NO ACCESS

USUARIO.EXCLUIDOS 10/05/2004 17:23:22
#23970
Estou precisando criar tabelas dinà¢micamente no Access. Alguém já precisou fazer isso e tem algum exemplo?
Grato
USUARIO.EXCLUIDOS 10/05/2004 17:36:22
#23973
Resposta escolhida
Exemplo:

CriarBanco app.path & "    este.mdb","Tabela",True,"Chave","1",dbinteger,"Campo2","30",dbtext

Public Function CriarBanco(ByVal Caminho As String, ByVal Tabela As String, ByVal ChavePrimaria As Boolean, ParamArray Campos()) As Boolean
Dim Banco As DAO.Database
Dim i As Long

On Error GoTo TrataErro

CriarBanco = False

If Len(Dir(Caminho, vbNormal)) = 0 Then
Set Banco = CreateDatabase(Caminho, dbLangGeneral)
Else
Set Banco = OpenDatabase(Caminho)
End If

Dim Td As New DAO.TableDef
Dim Fld() As New DAO.Field
Dim Idx As New DAO.Index
Dim Td1 As New DAO.TableDef

ReDim Fld(1 To (UBound(Campos) + 1) \ 3)
Td.Name = Tabela ' Set the table name.
' Create Fields.
For i = LBound(Fld) To UBound(Fld) ' Set properties for fields.
Fld(i).Name = Campos(3 * (i - 1)) 'Nome do campo
Fld(i).Type = Campos(3 * (i - 1) + 2) 'tipo de dados
Fld(i).Size = Campos(3 * (i - 1) + 1) 'Tamanho de campo
'Fld(i).FieldSize = Campos(i + 1)
Td.Fields.Append Fld(i)
Next i

' Create Indexes.
Idx.Name = Choose(1, "key" & Campos(0))
Idx.Fields = Choose(1, Campos(0))
Idx.Primary = Choose(1, ChavePrimaria)
Idx.Unique = Choose(1, ChavePrimaria)
Td.Indexes.Append Idx

Banco.TableDefs.Append Td

CriarBanco = True
Banco.Close
Exit Function
TrataErro:
CriarBanco = False
End Function
Tópico encerrado , respostas não são mais permitidas