Modificar la longitud de un campo

Tengo una base de datos ya creada. Me gustaría modificar la longitud de un campo por código. Con Createproperty no puedo hacerlo sin eliminarla primero pero no lo consigo.
Como puedo modificar la longitud de un campo, de tipo texto de una tabla que tiene datos.
2

2 Respuestas

113.225 pts. Con mas de 15 años de experiencia en consultoria...
¿Qué BD estás utilizando?
Tengo que usar una base de datos en access y en SQL.
Entonces usa una sentencia SQL de tipo ALTER TABLE
Alter table 'mitabla' alter column 'micampo' varchar(10)
Eso cambia el campo 'MICAMPO' a un Varchar(Texto en access) de longitud 10.
Quizá te de error si el campo forma parte de alguna Constraint en ese caso tendrás que deshabilitarla primero.
Busca en Google 'SQL ANSI' para información de detalle sobre la sintaxis para esto y otras opciones así como tipo de datos, etc...
Recuerda si amplias el tamaño de un campo no pasa nada pero si lo reduces perderás parte de la información.
No puedo porque me da error desde el código. He creado un campo nuevo, pasado los datos y quiero borrar el campo. Con ALTER TABLE dbo.FCOBALANNPGC DROP COLUMN NOMBRE, pero me dice error 3022 "No se puede realizar esta operación". Estoy con visual basic 6.0
Gracias
La sentencia que pones es correcta, pero hablamos de otro caso ( borrar).
Puede dar error por varias cosas:
- No tienes permisos o la tabla no está en modo exclusivo.
- Tiene datos y no te deja.
- Forma parte de una Fk, PORQUE o similar.
- Alguna otra cosa rara ( drivers, etc..)
Prueba primero a eliminar todos los valores de ese campo e intenta de nuevo. Si no te deja, compruebe que no forme parte de una constraint, si no lo más probable es que tengas algún RS abierto con esa tabla y la BD no está en modo exclusivo por lo que no te deja hacer acciones destructivas sobre la BD.
De todas formas si es una cosa que vas ha hacer una o dos veces no te compliques, abre ms access y borra el campo directamente. Es más sencillo.
566.600 pts. Desarrollador de aplicaciones en plataforma
Alter Table Nombre tabla
   Alter Column nombrecolumna tipo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas