Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-11-2007
ledesma78 ledesma78 is offline
Miembro
 
Registrado: oct 2007
Posts: 33
Poder: 0
ledesma78 Va por buen camino
Red face Inicializar el tipo de dato autoincrement

Hola, disculpen otra vez yo. Quiero preguntarles, si se puede inicializar el tipo de dato autoincrement de las tapblas PARADOX y como hacerlo?, gracias
Responder Con Cita
  #2  
Antiguo 11-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Sí, se puede, el problema es que si ya tienes números y lo reinicias, te ira "pisando" todos los registros que contenga la tabla cuyos números coincidan.

Por ejemplo, tenemos registros numerados del 1 al 500
Reiniciamos la Tabla a 0. Cuando grabemos el primer registro con la nueva numeración nos eliminará el 1..2 etc.

Yo la renumeración la utilizo para tablas en las que por algún motivo se eliminan todos los registros.

Utilizo este Procedimiento que cree a propósito.

Código Delphi [-]
Procedure SetAutoInc(filename : string; Value : Longint);
var
mystream : tfilestream;
begin
mystream := tfilestream.create(filename,
            fmOpenWrite + fmShareExclusive);
  try
    mystream.Seek(73, soFromBeginning);
    mystream.Writebuffer(Value, SizeOf(Value));
  finally
    mystream.Free;
  end;
end;

Ejemplo de llamada para poner el Autoincremento a 0 de la Tabla LinAlbar.Db que se encontraría en la dirección c:\Alfa\Datos\
Código Delphi [-]
SetAutoInc('C:\Alfa\Datos\LinAlbar.db',0);

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 11-11-2007 a las 21:56:17.
Responder Con Cita
  #3  
Antiguo 11-11-2007
ledesma78 ledesma78 is offline
Miembro
 
Registrado: oct 2007
Posts: 33
Poder: 0
ledesma78 Va por buen camino
Si, ese es el objetivo

Si, para eso loquiero. Esque en ocaciones tengo que limpiar toda mi tabla y necesito que empiece nuvamente del 1 el autoincrement, pero no entendi muy bien, ese codigo que me diste (el primero), para que es y donde lo pongo, y tabien el segundo, gracias nuevamente por ayudarme
Responder Con Cita
  #4  
Antiguo 12-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Lo primero, es el procedimiento que hace lo que tu quieres.
El segundo es un ejemplo de como usarlo.

La llamda es: Camino y nombre de la tabla y un número que indica por donde empieza el autoincremento, al poner 0 el primer registro tendrá el número uno.


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 12-11-2007
ledesma78 ledesma78 is offline
Miembro
 
Registrado: oct 2007
Posts: 33
Poder: 0
ledesma78 Va por buen camino
Red face Me aparece un error

HOLA UNA VEZ MAS, YA COLOQUE EL CODIGO QUE ME DIJISTE Y LO MANDE LLAMAR TABIEN, PERO ME APARECE UN ERROR, AHI PUEDES VERLO EN EL ARCHIVO ADJUNTO OJALA ME PUEDAS AYUDAR, GRACIAS.


PD. REQUIERE ALGUNA LIBRERIA?
Archivos Adjuntos
Tipo de Archivo: txt Codigo.txt (336 Bytes, 3 visitas)
Responder Con Cita
  #6  
Antiguo 12-11-2007
ledesma78 ledesma78 is offline
Miembro
 
Registrado: oct 2007
Posts: 33
Poder: 0
ledesma78 Va por buen camino
Unhappy Haber Si Me Explico Mejor

CUANDO LLAMO EL MODULO TODO ESTA BIEN, PERO CUANDO ENTRA AL PROCEDIMIENTO, EN ESTA LINEA
mystream := tfilestream.create(filename,fmOpenWrite + fmShareExclusive);

EL PROGRAMA TRUENA Y ME DIE ESTO:

Error CANNOT OPEN FILE C:\DOCUMENTS AND SETTINGS\ULISES\MY DOCUMENTS\DOCUMENTOS\VII\PAPELERIA\TABLAS\VENTAS.DB

SIENDO MI LLAMADA LA SIGUIENTE:

SetAutoInc('C:\Documents and Settings\Ulises\My Documents\Ulises\Documentos\VII\PAPELERIA\TABLAS\ventas.db',0);

AHORA, PARECE QUE EL ARCHIVO(TABLA) NO LO PUEDE HABRIR, PERO PUES NO SE PORQUE, ALGUNA IDEA?
Responder Con Cita
  #7  
Antiguo 12-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
no tendrás la tabla abierta (active a true) cuando ejecutas ese código no??? Ten en cuenta que quieres abrirla de forma exclusiva (fmShareExclusive).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 12-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Me inclino por lo que dice Lepe, aunque también puede ser que la dirección o el nombre de la tabla tengan un ligero error.

Supongo que la dirección la has copiado y pegado para evitar errores?

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #9  
Antiguo 13-11-2007
ledesma78 ledesma78 is offline
Miembro
 
Registrado: oct 2007
Posts: 33
Poder: 0
ledesma78 Va por buen camino
Thumbs up Si, asi es

Si, la tabla estaba activada, ya la desactive y funciona a la perfeccion, muchas gracias, por ayudarme
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
tipo de dato de un edit nikotina Varios 3 26-12-2006 16:05:36
Tipo dato imagen Ricardo Alfredo Gráficos 0 26-08-2005 20:25:16
tipo de dato en mysql ppalmamichi MySQL 3 08-06-2005 09:49:33
Identificar el tipo de dato kayetano MySQL 1 28-07-2004 19:43:54
Conversion tipo de dato Luis Castillo Conexión con bases de datos 2 09-07-2003 09:08:16


La franja horaria es GMT +2. Ahora son las 11:28:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi