PDA

Ver la Versión Completa : Modificar campo de tabla en MS ACCESS


i_minex
03-03-2005, 17:22:51
Hola amigos, estoy preocupado porque no encuentro la forma de poder modificar un campo de una tabla ya creada. He encontrado el siguiente texto para poder crear tablas y para una parte de lo que necesito ya me va bien pero necesito modificar y crear un campo de una tabla ya creada. Os pongo el texto que he encontrado en la red. Gracias.

:rolleyes:

load a DAO:
try
access := GetActiveOleObject('DAO.DBEngine.35');
except
access := CreateOleObject('DAO.DBEngine.35');
end;

4. open a database
try
db := access.OpenDatabase(yourDatabaseName);
except
exit
end;

5. create a new table in opened database
td := db.CreateTableDef(yourTableName, 0, '', '');

6. add a field descriptions in table
td.Fields.Append(td.CreateField(strFieldName, arrMDBTypes[intDataType], Size));

for example,
td.Fields.Append(td.CreateField('ID', arrMDBTypes[intDataType], Size));
td.Fields.Append(td.CreateField('NAME', arrMDBTypes[intDataType], Size));

7. add a table definition in table list
db.TableDefs.Append(td);

8. open the created table in database
recordset := db.OpenTable(yourTableName, 0);

Neftali [Germán.Estévez]
04-03-2005, 09:05:15
¿Y si utilizas SQL? con la instrucción ALTER TABLE puedes modificar de forma fácill la estructura de la tabla. En la ayuda de access puedes encontrar la explicación y ejemplos; Por ej.:


ALTER TABLE Empleados ADD COLUMN Notas TEXT(25)


Te añade a la tabla empleados una nueva columna llamada Notas de tipo TEXT(25 de ancho).


ALTER TABLE Empleados ALTER COLUMN CódigoPostal TEXT(10)


Con ésta modificarías el tipo de una columnna ya existente.

A parte puedes utilizar DROP COLUMN para borrar columnas, CREATE INDEX para indices,....