Autor Tema: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox  (Leído 88553 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #45 : julio 08, 2008, 07:49:38 am »
¡Gracias RgGuillen! Otra cosa, tengo en un formulario un cuadro de texto para una fecha que debe ingresar el usuario. El tipo de dato en la BD es DATE. Cuando ejecuto el formulario e ingreso el dato me aparece un error que dice "Faltan argumentos". ¿Qué significa o a qué se debe este error?

algun comando q has colocado en el objeto cuadro de texto esta mal escrito o le falta algun parametro, no se si has colocado algun codigo?
es necesario q identifiques exactamente cuando ocurre dicho error para asi ir a ver los metodos y determinar asi q esta pasando o por lo menos colocar aca los codigos q has escrito para ver si vemos alguna clase de error
-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #46 : julio 08, 2008, 11:25:52 am »
algun comando q has colocado en el objeto cuadro de texto esta mal escrito o le falta algun parametro, no se si has colocado algun codigo?
es necesario q identifiques exactamente cuando ocurre dicho error para asi ir a ver los metodos y determinar asi q esta pasando o por lo menos colocar aca los codigos q has escrito para ver si vemos alguna clase de error

Este es el código que tengo:

DO FORM 'e:\ControlCelularmodif\Formularios\fechasinformes.scx' TO fecha
tipofecha=SUBSTR(fecha,1,12)
fechadesde='06/18/2008'
fechahasta='07/01/2008'
IF thisform.chkInfGral.Value=1
   IF DIRECTORY('e:\ControlCelularmodif\Tablas\TblGeneral.dbf')=.f. then
      DROP TABLE TblGeneral
   ENDIF
   CREATE Table 'e:\ControlCelularmodif\Tablas\TblGeneral.dbf'(no_distrit char(2)null, impartidas INT(4) null, noimpartidas INT(4) null, ;
   adultos INT(4) null, niños INT(4) null, visitas INT(4) null, conversiones INT(4) null, ofrenda B(2) null, ofrsemant B(2) null, ofrpend B(2) null)
   SELECT distrito
   SCAN
      INSERT INTO TblGeneral(no_distrit) VALUES(distrito.no_distrit)
      DO case
         CASE tipofecha='opcFecImpCel'
            SELECT COUNT(imp_cel) as celimp FROM asistencia WHERE (asistencia.fec_cel>=DATE(fechadesde) AND ;
            asistencia.fec_cel<=DATE(fechahasta)) AND UPPER(SUBSTR(imp_cel,1,1))='S' ;
            AND SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit INTO CURSOR celimpartidas
         CASE tipofecha='opcFecIngSis'
            SELECT COUNT(imp_cel) as celimp FROM asistencia WHERE (asistencia.fec_ingrdatos>=DATETIME(fechadesde) AND ;
            asistencia.fec_ingrdatos<=DATETIME(fechahasta)) AND UPPER(SUBSTR(imp_cel,1,1))='S' ;
            AND SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit INTO CURSOR celimpartidas
      ENDCASE

la variable fecha al principio me devuelve una cadena de la que extraigo el tipo, fechadesde y fechahasta, pero por el momento los he asignado directamente para ver qué pasa, pero aun así me da el error. No sé si está mal el formato de la fecha o algo.

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #47 : julio 08, 2008, 11:37:43 am »
sabes como depurar en fox?
porque necesito q identifiques la linea problematica.....

antes de esta linea :
tipofecha=SUBSTR(fecha,1,12)

quiero q coloques : SET STEP ON
por lo tanto te quedara asi :

SET STEP ON
tipofecha=SUBSTR(fecha,1,12)


ok luego ejecuta tu programa, veras q llega un momento en q se detiene(gracias a q hemos colocado set step on), te abrira el depurador, ahi vas precionando F6 y veras q una flechita se va moviendo linea por linea...a medida vas precionando F6, llegara un momento en q te dara el error chequea en q linea estas y nos mandas esa linea de codigo.

-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #48 : julio 08, 2008, 11:44:21 am »
El error me lo da en los dos SELECT:

CASE tipofecha='opcFecImpCel'
            SELECT COUNT(imp_cel) as celimp FROM asistencia WHERE (asistencia.fec_cel>=DATE(fechadesde) AND ;
            asistencia.fec_cel<=DATE(fechahasta)) AND UPPER(SUBSTR(imp_cel,1,1))='S' ;
            AND SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit INTO CURSOR celimpartidas
         CASE tipofecha='opcFecIngSis'
            SELECT COUNT(imp_cel) as celimp FROM asistencia WHERE (asistencia.fec_ingrdatos>=DATETIME(fechadesde) AND ;
            asistencia.fec_ingrdatos<=DATETIME(fechahasta)) AND UPPER(SUBSTR(imp_cel,1,1))='S' ;
            AND SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit INTO CURSOR celimpartidas
« Última Modificación: julio 08, 2008, 11:56:38 am por gilanrodas »

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #49 : julio 08, 2008, 11:53:58 am »
ok ya con eso vamos bien...
el error podria ser esto  :

DATE(fechadesde), realmente yo nunca lo he usado asi y no se si se puede....pero
esto sustituilo por ctod(fechadesde) lo mismo para el otro q tienes asi datetime...
prueba y luego nos avisas.

Nota :
antes de tu programa coloca
set date british
set century on

-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #50 : julio 08, 2008, 12:07:41 pm »
Fijate que me sigue dando el mismo error. El "set date british" y "set century on" los puse al principio del código para el botón donde me da el problema. Por otro lado ¿no interfiere el CTOD porque en la base de datos tengo asignados los tipos de datos a DATE y DATETIME?

Otra cosita nada que ver: al modificar un registro directamente en una tabla a través de un grid, ¿cómo puedo hacer para que un campo fecingdatos (Fecha de ingreso de datos) se actualice a la fecha y hora actual DATETIME() automáticamente? ¿o no se puede hacer esto a menos que modifique datos a través de botones y formularios?

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #51 : julio 08, 2008, 12:10:36 pm »
Fijate que me sigue dando el mismo error. El "set date british" y "set century on" los puse al principio del código para el botón donde me da el problema. Por otro lado ¿no interfiere el CTOD porque en la base de datos tengo asignados los tipos de datos a DATE y DATETIME?

Otra cosita nada que ver: al modificar un registro directamente en una tabla a través de un grid, ¿cómo puedo hacer para que un campo fecingdatos (Fecha de ingreso de datos) se actualice a la fecha y hora actual DATETIME() automáticamente? ¿o no se puede hacer esto a menos que modifique datos a través de botones y formularios?

con lo primero tienes q cambiar a ctod ya q tu haces esto :
fechadesde='06/18/2008'  con esto fechadesde no es tipo fecha si no tipo caracter
entonces con ctod lo q hago es convertirlo de caracter a fecha.

con lo segundo si se puede tendrias q tener un trigert de update en tu base de dato, no se si estas manejando base de datos o tablas libres.
-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #52 : julio 08, 2008, 02:09:17 pm »
con lo segundo si se puede tendrias q tener un trigert de update en tu base de dato, no se si estas manejando base de datos o tablas libres.

Estoy manejando Base de Datos

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #53 : julio 08, 2008, 02:17:31 pm »
Estoy manejando Base de Datos

entonces si lo puedes hacer, abre tu base de datos y busca ahi los procedimientos almacenados, o busca en la ayuda y documentate sobre su uso..
-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #54 : julio 15, 2008, 06:32:34 pm »
Al ejecutar el programa me está mostrando un mensaje de error que no entiendo cuando intento modificar un registro. El mensaje es el siguiente: "Error del desencadenador en Celula".
¿Me podrían decir a qué se refiere y qué puedo hacer para resolverlo? ¡Gracias!

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #55 : julio 16, 2008, 07:51:00 am »
Al ejecutar el programa me está mostrando un mensaje de error que no entiendo cuando intento modificar un registro. El mensaje es el siguiente: "Error del desencadenador en Celula".
¿Me podrían decir a qué se refiere y qué puedo hacer para resolverlo? ¡Gracias!
le colocaste un procedimiento almacenado a la base de datos?
-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado ruiz

  • Sv Full Member
  • *
  • Mensajes: 729
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #56 : julio 16, 2008, 10:35:23 am »
Al ejecutar el programa me está mostrando un mensaje de error que no entiendo cuando intento modificar un registro. El mensaje es el siguiente: "Error del desencadenador en Celula".
¿Me podrían decir a qué se refiere y qué puedo hacer para resolverlo? ¡Gracias!


tiene algun error en algun procedimiento almacenado o en algun triger tienes que revisar eso... puede ser alguana variable publica que no este declarada.. o algo por el estilo...

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #57 : julio 16, 2008, 11:40:21 am »
le colocaste un procedimiento almacenado a la base de datos?

He escrito en el código un procedimiento para que me genere un código ID en base a otros datos de la tabla, osea que cuando se modifique alguno de esos datos -dependiendo del dato que se modifique -el código ID puede cambiar y ser sustituído en la BD.
Anteriormente no me estaba dando ese error y no he modificado nada, por eso no entiendo. ¿No tiene nada que ver con que se viole por así decirlo el hecho que la llave primaria sea única o sí? Aunque de todos modos no he duplicado (al menos eso creo) ninguna llave primaria.

Desconectado ruiz

  • Sv Full Member
  • *
  • Mensajes: 729
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #58 : julio 16, 2008, 01:48:46 pm »
bueno compadre no te queda de otra mas que depurar utiliza el SET STEP ON y vas precionando F8 y ahi veras que es lo que te esta dando erros pero claro esto tiene que se en modo diseño....

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #59 : julio 16, 2008, 02:06:22 pm »
bueno compadre no te queda de otra mas que depurar utiliza el SET STEP ON y vas precionando F8 y ahi veras que es lo que te esta dando erros pero claro esto tiene que se en modo diseño....

El código es el siguiente:

         SCAN
            IF no_correlativo=numcorr then
            replace cod_cel WITH codigocelula, nomb_anf WITH nombreanfi, ;
            apell_anf WITH apellidoanfi, direcc_cel WITH direccion, ;
            zona_cel WITH zona, dia_cel WITH diacelula, ;
            hora_cel WITH hora, nomb_colider WITH nombrecoli, ;
            apell_colider WITH apellidocoli, nomb_lidninios WITH nombrelidni, ;
            apell_lidninios WITH apellidolidni, am_pm WITH ampm, ;
            cod_coord WITH codigocoord, ;
            no_distrit WITH numdistrit, cod_cel WITH codigocelula, ;
            correlativo WITH var1, colonia WITH _colonia, calle_av_pje WITH CalleAvPje, ;
            nomb_depto WITH depto, nomb_munic WITH munic, telefono WITH _telefono, ;
            celular WITH _celular
            **UPDATE celula SET cod_cel=codigocelula, nomb_anf=nombreanfi, ;
            apell_anf=apellidoanfi, direcc_cel=direccion, ;
            zona_cel=zona, dia_cel=diacelula, ;
            hora_cel=hora, nomb_colider=nombrecoli, ;
            apell_colider=apellidocoli, nomb_lidninios=nombrelidni, ;
            apell_lidninios=apellidolidni, am_pm=ampm, ;
            cod_coord=codigocoord, ;
            no_distrit=numdistrit, cod_cel=codigocelula, ;
            correlativo=var1, colonia=_colonia, calle_av_pje=CalleAvPje, ;
            nomb_depto=depto, nomb_munic=munic, telefono=_telefono, ;
            celular=_celular WHERE no_correlativo=numcorr
            ENDIF
         ENDSCAN

El error está en el "replace". Antes de ponerle el "SCAN" usaba el "update" y no me daba problema (claro, tampoco era necesario utilizar el "IF"). Utilicé el "replace" porque, como me parece que me lo planteaste unos mensajes atrás, debido al "SCAN", cuando se ejecuta el "update", se sale del "SCAN" y aplica lo mismo a todo.
« Última Modificación: julio 16, 2008, 02:17:53 pm por gilanrodas »