Cómo vacío (TRUNCATE TABLE) las tablas en una BD de Access?

06/11/2007 - 16:22 por Fernando Briano | Informe spam
Mi pregunta es esa. Tengo una base de datos en access, con la que he
trabajado en el desarrollo de un programa, y está llena de datos basura.
Necesito vaciarla, y dejarla en cero. ¿De qué forma se hace esto?

Muchas Gracias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
06/11/2007 - 16:28 | Informe spam
"Fernando Briano" wrote in message
news:%23l$
Mi pregunta es esa. Tengo una base de datos en access, con la que he
trabajado en el desarrollo de un programa, y está llena de datos basura.
Necesito vaciarla, y dejarla en cero. ¿De qué forma se hace esto?



Si Access no soporta el Truncate Table, siempre puedes hacer un "DELETE
FROM LaTabla" para que se borren todos los registros. Si necesitas enumerar
las tablas, puedes hacerlo con un GetOleDbSchemaTable:

DataTable schemaTable = connection.GetOleDbSchemaTable(
OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });

Después recorres los registros de este DataTable, que te dan los nombres
de todas las tablas y por cada una le haces el "Delete from latabla".
Respuesta Responder a este mensaje
#2 Fernando Briano
06/11/2007 - 16:35 | Informe spam
Alberto:
Gracias por tu respuesta. Esa sería la solución "sucia", digamos, borrar
todos los registros de cada tabla. El problema que tendría es que por
ejemplo los autonuméricos empezarían desde números bastante elevados.
Existe una forma de duplicar o generar la base de datos nuevamente, pero
sólo la estructura como hacen los motores de base de datos?
Saludos

Fernando
Respuesta Responder a este mensaje
#3 Alberto Poblacion
06/11/2007 - 17:07 | Informe spam
"Fernando Briano" wrote in message
news:%
Gracias por tu respuesta. Esa sería la solución "sucia", digamos, borrar
todos los registros de cada tabla. El problema que tendría es que por
ejemplo los autonuméricos empezarían desde números bastante elevados.
Existe una forma de duplicar o generar la base de datos nuevamente, pero
sólo la estructura como hacen los motores de base de datos?



Nunca lo he probado, pero tengo entendido que si borras todos los
registros y compactas la base de datos, se resetean los autonuméricos.

Fuera de eso, no se me ocurre ninguna forma "automática" de generar la
base de datos de nuevo. Se podría escribir un programa que fuera enumerando
las tablas y sus campos, y creándolas de nuevo en otro .mdb (por ejemplo,
construyendo un "Create Table..." y enviándoselo a la nueva base de datos),
pero probablemente resulte bastante trabajoso de escribir. Si en lugar de
Access fuera Sql Server, el propio Management Studio es capaz de hacer esto,
pero con Access no me suena que exista ya esta herramienta, al menos no
dentro del propio Access.
Respuesta Responder a este mensaje
#4 Fernando Briano
06/11/2007 - 17:31 | Informe spam
Alberto:
Muchas gracias por tu ayuda. Efectivamente, cuando borras todos los
registros y compactas la base, se resetean los autonuméricos. Eso es lo
que necesitaba.
Venía trabajando con SQL Server 2005, y me costó un poco Access, pero ya
con esto voy redondeando el proyecto.
Nuevamente gracias
Saludos

Fernando

Alberto Poblacion escribió:
"Fernando Briano" wrote in message
news:%
Gracias por tu respuesta. Esa sería la solución "sucia", digamos,
borrar todos los registros de cada tabla. El problema que tendría es
que por ejemplo los autonuméricos empezarían desde números bastante
elevados.
Existe una forma de duplicar o generar la base de datos nuevamente,
pero sólo la estructura como hacen los motores de base de datos?



Nunca lo he probado, pero tengo entendido que si borras todos los
registros y compactas la base de datos, se resetean los autonuméricos.

Fuera de eso, no se me ocurre ninguna forma "automática" de generar la
base de datos de nuevo. Se podría escribir un programa que fuera
enumerando las tablas y sus campos, y creándolas de nuevo en otro .mdb
(por ejemplo, construyendo un "Create Table..." y enviándoselo a la
nueva base de datos), pero probablemente resulte bastante trabajoso de
escribir. Si en lugar de Access fuera Sql Server, el propio Management
Studio es capaz de hacer esto, pero con Access no me suena que exista ya
esta herramienta, al menos no dentro del propio Access.

Respuesta Responder a este mensaje
#5 Jesús López
06/11/2007 - 20:24 | Informe spam
A mi me gustaría saber el porqué de utilizar una base de datos de Access
cuando existen otras alternativas probablemente bastante mejores como por
ejemplo:

SQL Server 2005 Express
SQL Server Mobile
SqlLite
FireFox



"Fernando Briano" escribió en el mensaje
news:
Alberto:
Muchas gracias por tu ayuda. Efectivamente, cuando borras todos los
registros y compactas la base, se resetean los autonuméricos. Eso es lo
que necesitaba.
Venía trabajando con SQL Server 2005, y me costó un poco Access, pero ya
con esto voy redondeando el proyecto.
Nuevamente gracias
Saludos

Fernando

Alberto Poblacion escribió:
"Fernando Briano" wrote in message
news:%
Gracias por tu respuesta. Esa sería la solución "sucia", digamos, borrar
todos los registros de cada tabla. El problema que tendría es que por
ejemplo los autonuméricos empezarían desde números bastante elevados.
Existe una forma de duplicar o generar la base de datos nuevamente, pero
sólo la estructura como hacen los motores de base de datos?



Nunca lo he probado, pero tengo entendido que si borras todos los
registros y compactas la base de datos, se resetean los autonuméricos.

Fuera de eso, no se me ocurre ninguna forma "automática" de generar la
base de datos de nuevo. Se podría escribir un programa que fuera
enumerando las tablas y sus campos, y creándolas de nuevo en otro .mdb
(por ejemplo, construyendo un "Create Table..." y enviándoselo a la nueva
base de datos), pero probablemente resulte bastante trabajoso de
escribir. Si en lugar de Access fuera Sql Server, el propio Management
Studio es capaz de hacer esto, pero con Access no me suena que exista ya
esta herramienta, al menos no dentro del propio Access.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida