Ver Mensaje Individual
  #5  
Antiguo 21-01-2025
delphi50jmb delphi50jmb is offline
Miembro
 
Registrado: jul 2007
Posts: 39
Reputación: 0
delphi50jmb Va por buen camino
Unhappy

Hola.
Gracias a todos por responder.
No sabia como incorporar una vbariable externa a la sentencia "SELECT... INSERT INTO".

Con la respuesta de "oscarac", logre resolver el problema. Habia que encerrar el componente EdFolio.Text, en un: QuotedStr().

Pero curiosamente ahora se me presenta otro problema. Intenta grabar, pero me indica que el primer registro viola el indice primario y no graba.

Ejemplo:
En el archivo de Ajustes de inventario, tenemos:

Código SQL [-]
Folio: 1
Codigo         Nombre                        Fisico
----------------------------------------------------
7795320000122  XARELTO 15mg. 28 COMP.            15
7800008011502  ISQUELLIUM 4mg. 30 COMP.           6
7800059002825  CAVAMED 5mg. x 30 COMP.           12
8437024105084  RIXOVITAE COM 10mg COMP. X 10      9

luego de ejecutar la sentencia:
Código SQL [-]
SQL_String.SQL.Clear;
   SQL_String.SQL.Append(
            'INSERT INTO ' + 'TomaInvtario ' +
                         '(Folio, Codigo, Nombre, ExistAct, Fisico) ' +
            'SELECT ' +
                         QuotedStr(EdFolio.Text)+
                        'Codigo, ' +
                        'Nombre, ExistAct, ExistTMP ' +
            'FROM '  + 'Inventario ' +
            'WHERE ' +  'Inventario.Familia   = ' + QuotedStr(EdFamilia.Text)); 

   SQL_String.ExecSQL(False);

Me entrega el siguiente error, y no graba:

Código SQL [-]
  violation of PRIMARY or UNIQUE KEY 
  constraint "PK_TOMAINVTARIO" on table 'TOMAINVTARIO'
  Problematic key value is ("FOLIO:" = 1, "CODIGO" = '7795320000122')

La tabla 'TOMAINVTARIO', esta actualmente vacia. Estos son los primeros registros que se grabaran.

El indice primario esta compuesto por: Folio, Codigo. (Donde: Folio, es numerico, y Codigo, AlfaNumerico(20)).

Alguna idea.
Saludos.
Gracias.
Responder Con Cita