Título: vaciando tablas en access... Publicado por: Hans el Topo en 4 Julio 2006, 18:04 pm bueno llevo buscando informacion sobre como vaciar tablas en access... ya que el truncate no me funciona y con el delete el autoincremental no me lo disminuye... como puedo vaciar una tabla en access?? xk access es tan tiñoso??
Título: Re: vaciando tablas en access... Publicado por: Red Mx en 4 Julio 2006, 21:43 pm buena pregunta
si la tienes enlazada con el ADO o DATA pon un timer con intervalo de 100 ahi le das el codigo de que avance ala primera despues lo borras y ahi le pones un if cuando llege al EOF termine y pare el timer para que no truene y asi borrar todo, el timer ponerselo desavilitado y con un boton avilitarlo Título: Re: vaciando tablas en access... Publicado por: soplo en 4 Julio 2006, 23:28 pm Hola
Pues borrar todo Código: dim Base as database Para cambiar el autoincremental lo que tienes que hacer es eliminar el campo y volverlo a crear. Para ello deberás acceder a la colección de índices (habitualmente está indexado) y borras el índice, luego accedes a la colección te tablas y te situas en la que necesitas y allí accedes a la colección de campos y lo eliminas. Luego lo vuelves a crear. Ya puestos tambien podrías hacer un compactdatabase para que quedara físicamente vaciada. Un saludo Título: Re: vaciando tablas en access... Publicado por: Hans el Topo en 5 Julio 2006, 01:48 am Hola Pues borrar todo Código: dim Base as database Para cambiar el autoincremental lo que tienes que hacer es eliminar el campo y volverlo a crear. Para ello deberás acceder a la colección de índices (habitualmente está indexado) y borras el índice, luego accedes a la colección te tablas y te situas en la que necesitas y allí accedes a la colección de campos y lo eliminas. Luego lo vuelves a crear. Ya puestos tambien podrías hacer un compactdatabase para que quedara físicamente vaciada. Un saludo uhm... y no tiene un comando parecido al truncate de sql? si no lo tiene pos otra cosa tiñosa más que tiene access...xD otra preguntita... para enviar sentencias en los updates que solo afecten a un registro en donde se supone kque va intercalado el TOP 1 ? gracias a todos por responder Título: Re: vaciando tablas en access... Publicado por: soplo en 5 Julio 2006, 20:12 pm Citar ¿no tiene un comando parecido al truncate de sql? compactdatabase "recorta" el tamaño de la base de datos hasta el mínimo en que quepan todos los registros.Es una buena costumbre usarlo en bases de datos que se usan mucho para evitar problemas de bases de datos corruptas. Citar para enviar sentencias en los updates que solo afecten a un registro en donde se supone kque va intercalado el TOP 1 ? No te entiendo bien, en principio tienes que buscar una claúsula where que la cumpla solo el registro que tu quieres. Por eso es una muy buena costumbre en cada tabla crear un campo autonumérico que sirva para identificar el registro sin ninguna duda. ;D Título: Re: vaciando tablas en access... Publicado por: Hans el Topo en 5 Julio 2006, 22:58 pm Citar ¿no tiene un comando parecido al truncate de sql? compactdatabase "recorta" el tamaño de la base de datos hasta el mínimo en que quepan todos los registros.Es una buena costumbre usarlo en bases de datos que se usan mucho para evitar problemas de bases de datos corruptas. el compactdatabase según he leído/ me has explicado no borra registros... Citar Citar para enviar sentencias en los updates que solo afecten a un registro en donde se supone kque va intercalado el TOP 1 ? No te entiendo bien, en principio tienes que buscar una claúsula where que la cumpla solo el registro que tu quieres. Por eso es una muy buena costumbre en cada tabla crear un campo autonumérico que sirva para identificar el registro sin ninguna duda. ;D Citar cuando yo envio una sentencia en mysql en la que le digo...Código: update tablita set pepinos=99 where pepinos<10 LIMIT 1 ejemplo, vamos a seleccionar un único registro que cumpla la caracteristiac solicitada(aunque no tenga lógica...): Mysql Código: select pepinos from tablita where pepinos<10 limit 1 Código: select TOP 1 pepinos from tablita where pepinos<10 a eso me refería.... en access en el update donde se coloca el TOP xk poniendolo en la misma zona que en el select me da error... aligual tampoco se puede actualizar un solo registro... otra tiñosidad de access xk le quiero añadir el LIMIT/TOP al update? pues xk como tengo un campo autoincremental con un nº único ... solo necesito actualizar 1... y no recorrer toda la tabla tras habermelo actualizado ya el que deseo... nose si será correcto pero por eso me interesa... aunque ya se esta convirtiendo en ALGO PERSONAL contra access ... xD Título: Re: vaciando tablas en access... Publicado por: soplo en 5 Julio 2006, 23:19 pm ¿Y si tienes los registros con un campo autoincremental para que quieres el limit?
Código: base.execute "delete * from tabla where codigo=tuvalor :rolleyes: Título: Re: vaciando tablas en access... Publicado por: Hans el Topo en 6 Julio 2006, 02:31 am ¿Y si tienes los registros con un campo autoincremental para que quieres el limit? Código: base.execute "delete * from tabla where codigo=tuvalor :rolleyes: pues ave si logro explicarme... xd por ejemplo... si yo quiero borrar un registro de una tabla que contiene 1000000... y envio la consulta Código: delete * from table where pepito="sodomita" si en el where tengo una condición basada en un campo autoincremental... pues se supone que solo voy a encontrar uno que borrar y la búsqueda va recorrer 1000000 de registros , usease todos... (en los campos autoincrementales nose si eso es cierto) si en el where tengo una condición basada en un campo no autoincremental... y aun asi solamente afecta a 1 registro, me va a borrar 1 registro... pero va a recorrerse 1000000... si yo le añado un LIMIT/TOP 1 , en cuanto me borre uno parara y no recorrera 1000000 sino solamente hasta que borre uno... a eso me referio con la utilidad del LIMIT/TOP, para que quiero recorrer todo si se cuantos va a encontrar/borrar/actualizar ...etc... referido a lo de truncate, ¿tendré que asumir k access no tiene ningún comando para vaciar tablas? gracias de antemano por responder soplo ... iluminame con tu sabiduria ;D :rolleyes: :P Título: Re: vaciando tablas en access... Publicado por: Hans el Topo en 6 Julio 2006, 19:31 pm por cierto... he probado a borrar los campos autoincrementales y luego a volverlos a crear y me sigue guardando el autoincremental de antes ... xD
Título: Re: vaciando tablas en access... Publicado por: soplo en 6 Julio 2006, 20:50 pm Que yo sepa access no tiene ningún comando para vaciar tablas jajaja
Citar por cierto... he probado a borrar los campos autoincrementales y luego a volverlos a crear y me sigue guardando el autoincremental de antes ... xD Eso es porque no has borrado el campo y lo has vuelto a crear. Si lo hubieras hecho empezaría de nuevo por 1;D Título: Re: vaciando tablas en access... Publicado por: Hans el Topo en 6 Julio 2006, 22:58 pm Que yo sepa access no tiene ningún comando para vaciar tablas jajaja Citar por cierto... he probado a borrar los campos autoincrementales y luego a volverlos a crear y me sigue guardando el autoincremental de antes ... xD Eso es porque no has borrado el campo y lo has vuelto a crear. Si lo hubieras hecho empezaría de nuevo por 1;D he borrado todos los registros y he borrado el campo desde la propia access!! he guardado he salido he vuelto a entrar... he creado uno nuevo... meto un registro... y vualá valor del campo autoincremental 356 ... xddddd esto es la ostia xddx Título: Re: vaciando tablas en access... Publicado por: soplo en 7 Julio 2006, 23:23 pm No has borrado el campo y vuelto a crear tio
jajaja Si modificas la estructura LA TIENES QUE SALVAR jajaja Título: Re: vaciando tablas en access... Publicado por: Hans el Topo en 8 Julio 2006, 01:47 am No has borrado el campo y vuelto a crear tio jajaja Si modificas la estructura LA TIENES QUE SALVAR jajaja k siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii k lo he intentando mil vecesssssssssssssssss cachis ne la mar xd lo k hice alfinal fue volver a crear todas las tablas xdxdxd y he exo copias por si me hace falta resetearla access apesta!! |