Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-04-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
Error de 'Field valued requiered'

Tengo un problema a ver si me doy a entender bien...
tengo este procedimiento de busqueda

Código Delphi [-]
procedure Taltadecontratos.BtbuscarArticuloClick(Sender: TObject);
begin
  if Edcodarticulo.text='' then  begin
     showMessage('Debe escribir un codigo para buscar ');
     Edcodarticulo.SetFocus;
     end
 else
 begin
   if LogicaNegocio.CDSAlma.Locate('COD_ARTICULO',Edcodarticulo.Text,[loPartialKey])=false then
     showMessage('No existe ese articulo ')
   Else
     begin
       with logicanegocio do
         begin
          CDSAlma.Refresh;
          codigoarticulohallado:=CDSAlmaCOD_ARTICULO.Value;
          precioarticulohallado:=CDSAlmaPRECIO_VENTA.Value;
          descripcionarticulohallado:=CDSAlmaDESCRIPCION.Value;
          cdsArticContUnCliente.Open;
          cdsArticContUnCliente.insert;
-----> cdsArticContUnClienteCOD_ARTICULO.Value:=CDSAlmaCOD_ARTICULO.Value;
          cdsArticContUnClienteFECHA.Value:=Date;
          cdsArticContUnClienteHORA.Value:=Time;
         end;
      end;
   end;
end;

En cual al hallar el articulo de venta de un contrato lo trato
de insertar en una tabla que solo tiene los articulos del contrato manejo campos anidados

sin emabrgo al estar ejecutandose el programa en la linea marcada me da el siguiente error

project FALCON 2.0 raised excepcion EDBclient with message 'field valued requiered' process stopped Use Step or Run to continue..
Todos los datos ya los revise y desactive la propiedad REQUIRED... garcias por su ayuda

Última edición por Neftali [Germán.Estévez] fecha: 22-04-2015 a las 10:06:37.
Responder Con Cita
  #2  
Antiguo 22-04-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
Código Delphi [-]
procedure Taltadecontratos.BtbuscarArticuloClick(Sender: TObject);
begin
  if Edcodarticulo.text='' then  begin
     showMessage('Debe escribir un codigo para buscar ');
     Edcodarticulo.SetFocus;
     end
 else
 begin
   if LogicaNegocio.CDSAlma.Locate('COD_ARTICULO',Edcodarticulo.Text,[loPartialKey])=false then
     showMessage('No existe ese articulo ')
   Else
     begin
       with logicanegocio do
         begin
           CDSAlma.Refresh;
           codigoarticulohallado:=CDSAlmaCOD_ARTICULO.Value;
           precioarticulohallado:=CDSAlmaPRECIO_VENTA.Value;
           descripcionarticulohallado:=CDSAlmaDESCRIPCION.Value;
           cdsArticContUnCliente.Open;
           cdsArticContUnCliente.insert;
------> cdsArticContUnClienteCOD_ARTICULO.Value:=CDSAlmaCOD_ARTICULO.Value;
           cdsArticContUnClienteFECHA.Value:=Date;
           cdsArticContUnClienteHORA.Value:=Time;
         end;
      end;
   end;
end;

Última edición por Neftali [Germán.Estévez] fecha: 22-04-2015 a las 10:07:03. Razón: Corregir Tag's
Responder Con Cita
  #3  
Antiguo 22-04-2015
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
¿Y has comprobado que el valor devuelto por "CDSAlmaCOD_ARTICULO.Value;" tenga un contenido no nulo?

Porque parece que es eso, se requiere un valor válido para pasarlo a "cdsArticContUnClienteCOD_ARTICULO.Value".

Podrías hacer algo así:

Código Delphi [-]
if VarIsNull(CDSAlmaCOD_ARTICULO.Value) then
  cdsArticContUnClienteCOD_ARTICULO.Value:= 0
else
  cdsArticContUnClienteCOD_ARTICULO.Value:=CDSAlmaCOD_ARTICULO.Value;

Vamos, es un suponer si el error efectivamente es el que creo.

Saludos
Responder Con Cita
  #4  
Antiguo 22-04-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por alexglez1255 Ver Mensaje
...
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #5  
Antiguo 22-04-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
gracias por tu sugerencia ElKurgan, no habia visto eso lo voy verificar...y voy a poner tags
Responder Con Cita
  #6  
Antiguo 22-04-2015
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Una solución puede ser forzar el tipo de dato, utilizando en lugar de .value el correspondiente .asInteger, .asFloat, .asString, .asDateTime, etc.
__________________
http://www.gestionportable.com
Responder Con Cita
  #7  
Antiguo 23-04-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
Error de 'Field valued requiered' al entrar en modo de edición

disculpen creo que el error es exactamente cuando intento abrir la tabla para edicion
la tabla la abre bien pero cuando la pongo en modo edicion me marca el error
.. alguien sabe por que..?
Gracias jovenes por su apoyo
Código Delphi [-]
procedure Taltadecontratos.BtbuscarArticuloClick(Sender: TObject);
var
  codclie:integer;
begin
  if Edcodarticulo.text='' then
  begin
    showMessage('Debe escribir un codigo para buscar ');
    Edcodarticulo.SetFocus;
  end
  else
  begin
    if LogicaNegocio.CDSAlma.Locate('COD_ARTICULO',Edcodarticulo.Text,[loPartialKey])=false then
      showMessage('No existe ese articulo ')
    Else
    begin
      with logicanegocio do
      begin
        CDSAlma.Refresh;
        // guardo los datos de la tabla de datos de almacen para transferirlos a la
        // tabla de los articulso de los contratos
        codigoarticulohallado:=CDSAlmaCOD_ARTICULO.Value;
        precioarticulohallado:=CDSAlmaPRECIO_VENTA.Value;
        descripcionarticulohallado:=CDSAlmaDESCRIPCION.Value;
        // abro la tabla y la pongo en modo de edicion
        cdsarticContUnCliente.open;
        //al abrir la tabla para edicion da error
        cdsArticContUnCliente.edit;
        cdsArticContUnClienteFECHA.Value:=Date;
        cdsArticContUnClienteHORA.Value:=Time;
        cdsArticContUnClienteCOD_ARTICULO.AsInteger:=CDSAlmaCOD_ARTICULO.AsInteger;
      end;
    end;
  end;
end;

Última edición por nlsgarcia fecha: 23-04-2015 a las 04:36:49. Razón: Formateo y Sintaxis Delphi
Responder Con Cita
  #8  
Antiguo 23-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola alexglez1255.

He combinado tu último tema en este hilo ya que se trata de lo mismo.

Por favor no crees un nuevo hilo con la misma consulta, de ese modo evitaremos resultados duplicados en las búsquedas. Agrega un nuevo mensaje en el hilo iniciál y este pasará a la cabecera de la lista en los últimos temas como si se tratara de uno nuevo.

Saludos y gracias por tu colaboracion
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 24-04-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
perfecto gracias por tu aclaracion... y tambien por sus ayudas
Responder Con Cita
  #10  
Antiguo 25-04-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
hola a todos, este es la razon por la que me da el error.:
cuando doy CDScontrauncliente.post tengo dos campos que tienen la propiedad NULL que son
CONSECUTIVO tipo integer
COD_CONTRATO tipo integer
estos al dar de alta el contrato los dos campos estan vacios ya que estos tienen un trigger que autoincrementa el valor de ambos al generar un nuevo registro....por lo tanto a la hora de gravarlos estos no tienen valor por eso creo que se genera el valor ... como puedo evitar ese error.?

gracias por su ayuda
Responder Con Cita
  #11  
Antiguo 25-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola alexglez1255.

Te hago unas consultas:
  • ¿ Que SGBD estas usando ?
  • ¿ En que evento se dispara el trigger ?
  • ¿ A que componente está asociado el TClientDataSet ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 26-04-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
ya encontre el error, a ciencia cierta no se exactamente que era pero lo que hice recargue todos los campos en los query anidados
de los campos anidados y me cerciore que todos los campos que son null no fueran requeridos y hice lo mismo con CLIENDATASET recargue todos los campos y desactive los campos null, y con eso a la hora de abrir un cliendataset para edicion,grabar o insertar ya no me daba el error....muchas gracias por su apoyo....creo yo que algun campo no esta o conectado correctamente a a la base de datos o esta requerido por ser NULL...
gracias ECFISA,PACOPEPIN,ELKURGAN,CASIMIRO NOTEVI
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
ayuda error query:field 'id' not found edgar_prospero Varios 15 31-08-2012 00:43:11
Error sqlQuery 'field CODIGO not found' identsoft Conexión con bases de datos 4 29-02-2012 17:05:26
Error Field Value Required Edgtho Conexión con bases de datos 3 23-06-2008 22:37:20
Error con Firebird y DBGrid: Ambiguous field name between..... Cannabis Firebird e Interbase 2 18-09-2007 03:20:12
Error en locate "Ordinal type requiered" ilichhernandez Conexión con bases de datos 2 13-11-2005 16:58:49


La franja horaria es GMT +2. Ahora son las 16:22:20.


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