FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas al Crear MDB con Access
Buenos dias, tengo un problema con delphi 7, estoy haciendo una aplicacion, donde hay unas empresas y cada empresa puede tener unos años, cada año es una base de datos mdb. El problema que tengo es que cuando genero la Base de Datos MDB no se como poner el campo clave. Espero que alguien me pueda ayudar.
Os paso lo que tengo puesto en el codigo. Gracias de antemano.
Última edición por Blackspike fecha: 20-02-2007 a las 19:31:27. |
#2
|
|||
|
|||
Rta. Campo Clave
Núnca creé una BD de esta manera, pero lo que propones podés hacerlo mediante un Alter Table
Así: Ya sea por un TAdoQuery, TQuery o lo que mas te guste. sSQL :String; sSQL := 'ALTER TABLE Articulos ADD CONSTRAINT NombrePK PRIMARY KEY (Codigo)'; Donde NombrePK es el nombre (Opcional sino poné PRIMARYKEY a todas y listo) y entre paréntesis los campos que incluyen en la PK. Query.SQL.Text := sSQL; Query.Execute; Ojo fijate bien la sintaxis del Query, ya que no tengo Delphi acá, como para probar y darte un ejemplo válido. Pero ha de funcionar. Salu2 y espero te sirva mi Rta. Walter Juás acá me robé un pedazo de código de un execute hihi con lo cual te quedará así: Query1.Sql.Clear; Query1.Sql.Text := sSQL; Query1.ExecSQL; No puedo probarlo. Última edición por waly2k1 fecha: 20-02-2007 a las 22:26:35. |
#3
|
||||
|
||||
Igual te resulta más fácil copiar un mdb vacío, o el del último año, vaciar las tablas qu necesites y compactarla.
Sólo tienes que probarlo. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#4
|
||||
|
||||
Creo que puedes utilizar el objeto 'ADOX.Key' para añadir la clave primaria a la tabla.
Revisa esta página; Aquí puedes ver un ejemplo de cómo se hace para crear una clave primaria, una clave foránea y algunas cosas más. De todas formas, creo (como ya te han dicho) que es más sencillo si creas la SQL y la lanzas con un ADOQuery para crear la tabla.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Hola,
Me estoy valiendo de vuestras ayudas he seguido los consejos para crear una bd nueva y llenarla con tablas y formularios. El tema esta en que quiero crear una tabla con autoindex y autonumerica (incrementalmente) Buscando por msdn he encontrado las funciones para crear las bd en access pero al ponerle la propiedad 'Autoincrement' me dice delphi k eso no existe. Os pongo un trozo del codigo. Código:
Tabla.Columns.Append('Ordre',adInteger, 255); Tabla.Columns.Item['Ordre'].Properties.AutoIncrement := True; |
#6
|
|||
|
|||
Rta.
En sentencias SQL debes usar identity Not Null. Fijate la sintaxis porque además podés especificar de cuanto en cuanto va el autoincremental.
|
#7
|
|||
|
|||
Está mal
Ah est está mal
Tabla.Columns.Append('Ordre',adInteger, 255); Si es integer, sacá el 255, ya que no debés especificar el tamaño del campo solo debes hacerlo para los de tipo char/varchar. |
#8
|
|||
|
|||
Hola,
Gracias por tu respuesta, el tema del not null no te acabo de comprender, me lo podrias especificar un poco? o poner algún ejemplo. Gracias. |
#9
|
|||
|
|||
Creo que he formulado mal las preguntas....
Queria decir autonumerico, osea automatico, que no tenga yo que ir poniendo valores. No se si me explico... Saludos |
#10
|
||||
|
||||
Me olvidé de colocar el Link.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#11
|
|||
|
|||
Hola,
No me funciona el codigo que has pegado, me he mirado la web i no soy capaz de arrancarlo. Además con el ejemplo que me has pasado tengo que crear una conexión nueva... Otra cosa,cuando añado una columna tengo que poner todo este carro: Código:
Tabla.Columns.Append(columna, adInteger, 255); Código:
Tabla.Columns.Append(columna); Sigo sin conseguir poner el campo automatico |
#12
|
||||
|
||||
Vamos a ver, no puede ser tan difícil.
Basándome en el código inicial, y añadiendo dos columnas, una para PK y otra para un campo entero Autoincremental queda así:
Añade al uses ADOX_TLB y ComObj. A mi me crea la tabla perfectamente con los 4 campos. Pruébalo y dime algo. La prueba "del delito".
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 01-03-2007 a las 13:06:31. |
#13
|
|||
|
|||
Hola!
Muchas gracias! Funciona a la perfección, el tema estaba en que no usaba las propiedades de Col para definir sus propiedades. Gracias nuevamente! Eres el Rey! Saludos! |
#14
|
|||
|
|||
Holaaaa
Aki el pesado de turno :s Quiero poner una contraseña a la BD que he creado (o al crearla) He puesto esto: Código:
ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User=Admin;Password=123456;Data Source=' +DATABASENAME; Saludos! |
#15
|
||||
|
||||
Cita:
Te agradezco de antemano. Saludos
__________________
|
#16
|
|||
|
|||
Mira en este enlace. Te dice como hacerlo.
Espero que te sirva. http://www.cwgsy.net/private/gocher/samples/adox.htm |
#17
|
||||
|
||||
En esta página tienes un ejemplo (Crear un MDB de Access por código) de cómo hacerlo; Te explica cómo importas la librerías para que genere ese fichero
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#18
|
||||
|
||||
Gracias gente, la verdad que se pasaron con la ayuda, estoy mas bien empezando con las bases de datos, y como la mayoria de las aplicaciones que hago son con cursores de datos locales, access alcanza y sobra. Lo mio mas bien es la electrónica y la robótica, y las aplicaciones que realizo son para tales propósitos. Hace ya varios años que me interese por delphi, me resulta más cómodo que C++ y otros, sobre todo en la captura de exepciones. Fabricar software de control para dispositivos electronicos externos a esta altura mas que trabajo, es un hobbie, me encanta.
Saludos y gracias de nuevo.
__________________
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear BD de forma dinamica en Access | Coco_jac | Varios | 2 | 02-06-2005 19:47:00 |
Crear tablas vinculadas en BD Access | castelaogz | Conexión con bases de datos | 0 | 11-03-2004 12:36:47 |
problemas con access | piloto49er | Conexión con bases de datos | 1 | 03-02-2004 13:05:55 |
Crear campo en bbdd access en ejecucion | Masu | Conexión con bases de datos | 1 | 07-01-2004 19:52:59 |
crear txt con datos access | joanajj | Conexión con bases de datos | 4 | 10-09-2003 16:30:23 |
|