Access - Crear tabla desde un comando

 
Vista:

Crear tabla desde un comando

Publicado por Gerardo Padilla (1 intervención) el 05/06/2019 14:24:31
Quiero crear una tabla nueva , cada tabla nueva tiene que tener el nombre del modelo de una pieza , dentro de la tabla se va a ir producciendo un numero de serie consecutivo.
Como puedo crear una tabla y que dicha tabla tenga el nombre que tomara de un texbox y al momento de presionar un boton se cree una tabla nueva ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Crear tabla desde un comando

Publicado por Norberto (753 intervenciones) el 06/06/2019 13:05:58
Hola.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Public Sub CrearTabla()
    Dim miDB As DAO.Database
    Dim miTabla As TableDef, miCampo As Field, miÍndice As Index
    Dim NombreTabla As String
 
    Set miDB = CurrentDb
    NombreTabla = Me.txtNombreParaLaTabla
 
    DoCmd.Close acTable, NombreTabla, acSaveNo 'Por si ya existe y está abierta
    miDB.TableDefs.Delete NombreTabla 'Por si ya existe
 
    Set miTabla = miDB.CreateTableDef(NombreTabla)
    With miTabla
        'Añadimos campos
        'Si se quiere añadir un Id autonumérico
        .Fields.Append .CreateField("Id", dbLong)
        Set miCampo = .Fields!ID
        miCampo.Attributes = dbAutoIncrField
 
        'El resto de los campos
        .Fields.Append .CreateField("Nombre del campo", TipoDelCampo, TamañoDelCampo)
        'Tipo de campo: dbText para texto, dbInteger para entero, etc.
        'Repetimos para el resto de campos
 
        'Añadimos índices
        'Para la clave principal
        Set miÍndice = .CreateIndex("PrimaryKey")
        miÍndice.Fields.Append .CreateField("Id")
        With miÍndice
            .Primary = True
        End With
        .Indexes.Append miÍndice
 
        Set miÍndice = .CreateIndex("NombreDelÍndice")
        miÍndice.Fields.Append .CreateField("NombreDelCampo")
        .Indexes.Append miÍndice
        'Repetimos para el resto de los índices
    End With
    'Añadimos la tabla a la colección
    miDB.TableDefs.Append miTabla
 
    'Vaciamos las variablees de objeto
    Set miDB = Nothing
    Set miTabla = Nothing
    Set miÍndice = Nothing
    Set miCampo = Nothing
 
End Sub

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear tabla desde un comando

Publicado por Anonimo (3316 intervenciones) el 07/06/2019 15:31:43
Quizás ese enfoque no sea el optimo ….

En una misma tabla se puede numerar de forma correlativa a cada familia de elementos (al igual que se pueden repetir los meses y estos estar diferenciados por 'su' año).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar