Ver Mensaje Individual
  #2  
Antiguo 21-07-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Reputación: 19
olbeup Va camino a la fama
Cita:
Empezado por grandzon Ver Mensaje
Hola.

Un saludo a todos, soy nuevo en el foro, inicié con la programación en delphi puesto que pienso que su lenguaje es muy flexible y agiliza mucho el desarrollo de aplicaciones. Mis motivaciones para registrarme en la página es que leí usuarios con algunas dudas en las que puedo ayudar, no soy un experto pero en algunos asuntos básicos de programación puedo ayudar, otra motivación fue ver que hay muchos expertos aquí y tengo un problemilla en el que quizá puedan darme una mano:

estoy usando adocommand para crear una tabla en tiempo de ejecución en access, necesito crear tablas con nombres que no se repitan, como puede haber varias transacciones en un mismo día, pero no de la misma persona, he pensado en crear una tabla con el nombre de la persona y la fecha de la transacción tipo ana_10/10/2014 para lo que uso el siguiente código:

Código Delphi [-]
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)'+
      ');';
ADOCOMMAND1.Execute;

pero al ejecutar la aplicación me salta el error: syntax error in create table statement... sería alguien tan amable de decirme qué estoy haciendo mal y qué hacer para resolverlo, gracias de antemano.
Hola grandzon,

No puedes usar signos especiales en la creación de una tabla que son /*-+, etc, lo que puedes hacer es en vez de "/" usa "_" que la tabla se quedaría como: ana_10_10_2014

Código Delphi [-]
...
with ADOCommand1 do
begin
  CommandText :=
    'CREATE TABLE ' + Form2.Edit1.Text + FormatDateTime('_dd_mm_yyyy', DateTimePicker2.DateTime) +
      '(' +
        'CODIGO           CHAR(10)' +
        ',CUOTA_ORDEN     CHAR(20)' +
        ',CUOTA_MONTO     CHAR(20)' +
        ',CUOTA_CONDICION CHAR(20)' +
        ',PRIMARY KEY (CODIGO)' +
      ')';

  Execute;
end;
Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita