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

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

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #30 : junio 11, 2008, 11:07:20 am »
Si entiendo bien, la búsqueda la estoy haciendo por el código que aparece en el form1, pero la situación es que la búsqueda la tengo que hacer por cualquiera de los campos del grid del form2 y mandar los datos de la fila que seleccione en el grid a los espacios en el form1. No sé si en este caso se puede usar el ActiveRow o Recno.
A continuación las capturas de los formularios:





En este último formulario, en el combobox, se escoge si se quiere buscar por código, día, etc..., y lo que quiero es que al darle clic en el botón Seleccionar me envíe los datos de la fila marcada al formulario Control Celular.
« Última Modificación: junio 11, 2008, 11:23:57 am por gilanrodas »

Desconectado kikeuntercio

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Mensajes: 1545
  • -] java Adict [-
    • Comunidad Bitcoin de Oriente
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #31 : junio 11, 2008, 04:59:19 pm »
seria de la misma forma como se te ejemplifico anteriormente:
formulario1.control.valor=formulario2.control.valor

otra forma es usando variables publicas, pero eso te consumiria recursos en memoria.
Miembro y co-fundador original de VampireTeam
Bitcoiner
CopyMaster en Finandy.com como: WillockSV

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #32 : junio 12, 2008, 10:28:14 am »
seria de la misma forma como se te ejemplifico anteriormente:
formulario1.control.valor=formulario2.control.valor

otra forma es usando variables publicas, pero eso te consumiria recursos en memoria.

Ahora entiendo mejor, pero necesito referirme al código de un registro que esté seleccionado por clic en el grid, ya que en el textbox puede que se haya especificado un valor que no sea llave primaria; quizá algo así como:

formulario1.txtcodcel.value=formulario2.grid1.<comando_que_se_refiera_a_la_fila_seleccionada>.column1.value

No sé si hay algún comando que sirva para hacer referencia a la fila seleccionada o cuál sería la sintaxis correcta.
« Última Modificación: junio 12, 2008, 10:30:16 am por gilanrodas »

Desconectado kikeuntercio

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Mensajes: 1545
  • -] java Adict [-
    • Comunidad Bitcoin de Oriente
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #33 : junio 12, 2008, 11:32:44 am »
te entiendo lo siguiente:
estas en el grill y queres que lo que seleccionas sea el dato que aparezca en el formulario uno.

en ese caso basta con poner lo siguiente en el evento que creas conveniente:

formulariouno.control.valor=This.value

This.value funciona si estas en un evento correspondiente a un control y hace referencia a ese control =)
Miembro y co-fundador original de VampireTeam
Bitcoiner
CopyMaster en Finandy.com como: WillockSV

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #34 : junio 13, 2008, 03:27:20 pm »
¿Cómo puedo hacer para crear una tabla mediante código en un directorio específico?
Cuando escribo create table... me la crea en "Mis documentos\Proyectos de Visual Fox" y yo quiero que me la cree en "Mis documentos\Proyectos de Visual Fox\Otra carpeta".
¿Cómo le especifico a Visual Fox el directorio en el que quiero que me cree la tabla?

Desconectado kikeuntercio

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Mensajes: 1545
  • -] java Adict [-
    • Comunidad Bitcoin de Oriente
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #35 : junio 14, 2008, 12:20:51 pm »
create table 'C:/mytabla.dbf' (etc)
Miembro y co-fundador original de VampireTeam
Bitcoiner
CopyMaster en Finandy.com como: WillockSV

Desconectado ruiz

  • Sv Full Member
  • *
  • Mensajes: 729
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #36 : junio 16, 2008, 08:34:27 am »
es muy sencillo solo pon el nombre de la taba con todo y la path donde quieres que se cree como

asi:
create table 'c:\documentos\Proyectos de Visual Fox\Otra carpeta\tabla.dbf' (Campo1 tipo1,campo2 tipo 2, etc...)

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #37 : junio 18, 2008, 04:57:19 pm »
Tengo el siguiente pedazo de código, pero no entiendo por qué al ejecutarlo, la comparación del if me la hace sólo una vez. Ya lo intenté con un Do Case y también cuando hago eso sólo los ejecuta una vez y aplica ese mismo resultado para todos los demás registros de la tabla sin evaluar cada uno de ellos.

SELECT tblasist
   SCAN
      IF imp_cel="Sí" then
         UPDATE tblasist SET num_imp = 1
         MESSAGEBOX("a")
      ELSE
         IF imp_cel="sí" then
            UPDATE tblasist SET num_imp = 1
            MESSAGEBOX("b")
         ELSE
            IF imp_cel="No" then
               UPDATE tblasist SET num_noimp = 1
               MESSAGEBOX("c")
            ELSE
               IF imp_cel="no" then
                  UPDATE tblasist SET num_noimp = 1
                  MESSAGEBOX("d")
               ENDIF
            ENDIF
         ENDIF
      ENDIF
      MESSAGEBOX(imp_cel)
   ENDSCAN

Nota: imp_cel, num_imp y num_noimp son campos de la tabla tblasist

¡Muchas gracias por su ayuda!
« Última Modificación: junio 18, 2008, 04:59:29 pm por gilanrodas »

Desconectado ruiz

  • Sv Full Member
  • *
  • Mensajes: 729
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #38 : junio 18, 2008, 05:09:08 pm »

El problema es que cuando usas el UPDATE como no le has puedo ninguna condicien el el WHERE entonces el lo replaza todo y en la primera iteraccion del scan despues de haber realizado el UPDATE el cursor queda al final y se sale del scan por eso te pasa eso prueba con esto y veremos....

Select tblasist
Go Top
SCAN
   If imp_cel="Sí" Then
      *Update tblasist Set num_imp = 1
      REPLACE num_imp with 1
      Messagebox("a")
   Else
      If imp_cel="sí" Then
         *Update tblasist Set num_imp = 1
         REPLACE num_imp with 1
         Messagebox("b")
      Else
         If imp_cel="No" Then
            *Update tblasist Set num_noimp = 1
            REPLACE num_imp with 1
            Messagebox("c")
         Else
            If imp_cel="no" Then
               *Update tblasist Set num_noimp = 1
               REPLACE num_imp with 1
               Messagebox("d")
            Endif
         Endif
      Endif
   ENDIF   
   Messagebox(imp_cel)
Endscan

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #39 : julio 02, 2008, 04:56:35 pm »
Tengo la siguiente sintaxis:

SELECT COUNT(imp_cel) FROM asistencia WHERE UPPER(SUBSTR(imp_cel,1,1))='S' ;
      AND SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit

 y quiero almacenar el valor resultante en una variable. ¿Cómo hago eso?

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #40 : julio 02, 2008, 05:15:03 pm »
SELECT COUNT(imp_cel) as resultado FROM asistencia WHERE UPPER(SUBSTR(imp_cel,1,1))='S' ;
AND SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit;
INTO CURSOR mycursor

Select Mycursor
go top
myvariable = mycursor.resultado

-: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 #41 : julio 02, 2008, 05:16:00 pm »
Tengo la siguiente sintaxis:

SELECT COUNT(imp_cel) FROM asistencia WHERE UPPER(SUBSTR(imp_cel,1,1))='S' ;
      AND SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit

 y quiero almacenar el valor resultante en una variable. ¿Cómo hago eso?


sencillo

SELECT COUNT(imp_cel) as variable FROM asistencia WHERE UPPER(SUBSTR(imp_cel,1,1))='S' ;
      AND SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit;
      INTO CURSOR 'tmp_resultado'

if _tally > 0
     go top
     x_variable = tmp_resultado.variable
endif


y listo...

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #42 : julio 03, 2008, 12:05:10 pm »
Jeje, muchas gracias. Me funcionó a la perfección. Estaba bien fácil, no sé cómo no se me ocurrió  :embarassed:

¿Será que alguien me puede explicar lo siguiente?:

Al escribir la siguiente sintaxis no me devuelve registros y, si me muestra algo, me los devuelve nulos, pero cuando le quito el where me los muestra bien. Ahora, todos los campos a excepción de los campos por los que hago la comparación con el where (cod_cel y no_distrit), son INT o DOUBLE.
cod_cel y no_distrit son de tipo char

SELECT cod_cel, asist_adult, asist_niños, visitas, convertidos, ofrenda FROM asistencia WHERE SUBSTR(asistencia.cod_cel,1,2)=TblGeneral.no_distrit

Otra cosa, ¿puedo tener dos SCAN anidados? Por ejemplo:

Select Tabla1
SCAN
     select Tabla2
     SCAN
          <Operaciones>
     ENDSCAN
ENDSCAN
« Última Modificación: julio 03, 2008, 12:56:15 pm por gilanrodas »

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ¡AYÚDENME PORFAVOR! Problemas con código en Visual Fox
« Respuesta #43 : julio 03, 2008, 01:03:51 pm »
imagino q TblGeneral es una tabla
mejor ese valor asignaselo a una variable
Myvariable = TblGeneral.no_distrit

y el where te qeudaria asi :

where substr(asistencia.cod_cel,1,2) = Myvariable

Y con los scan aninados si se puede, pero procura no pasarte de 3, ya q si te pasas de 3 posiblemente haya otra forma de hacerlo (otra logica)
-: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 #44 : julio 07, 2008, 07:41:34 pm »
¡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?