Delphi - Ayuda con ADOCommand

 
Vista:
sin imagen de perfil

Ayuda con ADOCommand

Publicado por Stalin (2 intervenciones) el 21/07/2014 16:28:59
Un saludo a todos/as, soy nuevo en el foro, mis motivaciones para integrarme a esta comunidad han sido ver que algunas de las dudas aquí puedo responderlas (las más básicas pues no soy taaaan experto programando en delphi) y ver que aquí hay muchos expertos que pueden ayudarme a resolver mi problema, como el que tengo hoy.

Sucede que quiero crear una tabla en tiempo de ejecución de mi aplicación delphi, para lo que uso un adocommand, si lo hago solo agregándole a la tabla el nombre de la persona todo anda bien, el asunto es que una persona puede hacer varias transacciones, lo que crearía varias tablas con el mismo nombre en access... si ANA toma un prestamo hoy se creará la tabla ANA si lo vuelve a hacer digamos en 6 meses la aplicación intentará crear otra tabla llamada ANA, lo que provocaría un error puesto que esa tabla ya existe, he pensado en crear tablas con la fecha además del nombre de la persona para que nunca me cree dos tablas con el mismo nombre, este es el código que uso en la propiedad commandtext del adocommand:

1
2
3
4
5
6
7
ADOCOMMAND1.CommandText:='CREATE TABLE '+FORM2.Edit1.Text+'_'+DATETOSTR(DATETIMEPICKER2.DateTime)+' ( '+
      'CODIGO CHAR(10),'+
      'CUOTA_ORDEN CHAR(20),'+
      'CUOTA_MONTO CHAR(20),'+
      'CUOTA_CONDICION CHAR(20),'+
      'PRIMARY KEY (CODIGO)'+
      ');';

Luego cuando hago uso de la función execute del mismo me salta el error 'syntax error in create table statement'... si alguien me pudiera por favor decir qué estoy haciendo mal y cómo se podría resolver estaría muy agradecido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

Ayuda con ADOCommand

Publicado por E.T. (1244 intervenciones) el 21/07/2014 18:52:27
Pudieras decir que base de datos estas usando? Que te motiva a crear una tabla para cada persona? Por que no mejor creas una tabla de transacciones y con un campo extra a la tabla puedes saber a que persona pertenece cada registro de la tabla y que ese campo te sirva para enlazar tu tabla de transacciones con tu tabla de clientes o personas.

Hablando del error que te marca, puede ser porque al agregar la fecha y hora al nombre de la tabla te está agregando caracteres que no se si sean admitidos, como este " : " (los dos puntos)

puedes intentar con:
1
FORMATDATETIME('YYYYMMDDHHNNSS', DATETIMEPICKER2.DateTime)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda con ADOCommand

Publicado por Stalin Romano (2 intervenciones) el 22/07/2014 00:42:11
Gracias por responder y ayudarme con mi duda... ahí arriba comento que uso access, pero creo que tu sugerencia me vendría mejor que una tabla temporal. Gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Néstor  Yasmani

Ayuda con ADOCommand

Publicado por Néstor Yasmani (3 intervenciones) el 01/10/2014 17:47:49
pero lo que cometes es una repetición si pusieras una tabla de transacción y cada ves que realise algo la persona entonces introduces los datos en la tabla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar