crear campo en una tabla access

03/08/2003 - 11:53 por malaka | Informe spam
Hola, he añadido unos campos a una tabla de una bd access y quiero que la
aplicacion, al arrancar, compruebe si esos campos existen en la tabla y si
no existen, los cree. Tengo que crear unos campos de tipo integer y con un
valor predeterminado, ¿cómo se podria hacer esto?
Gracias.

 

Leer las respuestas

#1 Softjaen
04/08/2003 - 01:32 | Informe spam
"malaka" escribió:

he añadido unos campos a una tabla de una bd access
y quiero que la aplicacion, al arrancar, compruebe si esos
campos existen en la tabla y si no existen, los cree.
Tengo que crear unos campos de tipo integer y con un
valor predeterminado



Hola, Malaka:

En el evento «Form_Load» llama a una función parecida como la que te indico,
la cual utiliza la biblioteca de DAO 3.6:

Private Function ExisteCampo(ByVal FieldName As String) As Boolean

Dim db As Database
Dim tbl As TableDef
Dim fld As DAO.Field

' Establecemos un controlador de errores
On Error GoTo CreateField

' Abrimos la base de datos
Set db = OpenDatabase("C:\Mis documentos\bd1.mdb")

' Referenciamos la tabla
Set tbl = db.TableDefs("Tabla1")

' Referenciamos el campo
Set fld = tbl.Fields("MiCampo")

' El campo existe
ExisteCampo = True

Exit Function

CreateField:
' Si se ha producido un error es porque el campo
' no existe, por tanto, lo creamos
Set fld = tbl.CreateField("MiCampo", dbInteger, 2)

' Establecemos el valor por defecto
fld.DefaultValue = 222

' Añadimos el campo a la colección «Fields»
' de la tabla
tbl.Fields.Append fld

' Continuamos con la ejecución de la función
Resume Next

End Function

Un saludo.

Enrique Martínez
[MS MVP - VB]

Preguntas similares