Un Problema Con Tablas En Fox.. Les Doy El Codigo

    • lcosta75
      Invitado
    23/04/2002
    #1 Un Problema Con Tablas En Fox.. Les Doy El Codigo

    ES UN PROGRAMA PARA MANEJAR LOS TIEMPOS DE LOS CLIENTES EN UN CYBER, Y QUIERO ALMACENAR AL CLIENTE Y SU CONSUMO CADA VEZ QUE HAGO CLICK EN EL BOTON TERMINAR. EL PROBLEMA ES QUE CUANDO HAGO EL PRIMER CLICK EN EL BOTON TERMINAR ME LO GUARDA PERFECTO, Y EN LOS PROXIMOS ME DICE QUE LA TABLA YA ESTA ABIERTA. COMO SOLUCIONO EL PROBLEMA AQUI LES VA EL CODIGO PARA QUE ENTIENDAN UN POCO MEJOR EL PROBLEMA

    COMMAND2(TERMINAR) EVENTO CLICK

    DO case
    case thisform.command22.enabled=.f.
    thisform.timer1.enabled=.f.
    cobrar1=total1*0.0250
    thisform.text2.value=cobrar1
    thisform.text1.enabled=.t.
    thisform.text1.value=""
    cortediario=cortediario+cobrar1
    thisform.command1.enabled=.t.
    thisform.command2.enabled=.f.
    USE "c:\archivos de programa\microsoft visual studio\vfp98\cyber.dbf"
    append blank
    clientegral=thisform.text1.value
    consumogral=thisform.text2.value
    ddia=thisform.text21.value
    mmes=thisform.text22.value
    replace cliente with clientegral
    replace consumo with consumogral
    replace dia with ddia
    replace mes with mmes
    case thisform.command21.enabled=.f.
    thisform.timer1.enabled=.f.
    cobrar1=total1*0.0166
    thisform.text2.value=cobrar1
    thisform.text1.enabled=.t.
    thisform.text1.value=""
    thisform.command1.enabled=.t.
    thisform.command2.enabled=.f.
    USE "c:\archivos de programa\microsoft visual studio\vfp98\cyber.dbf"
    append blank
    clientegral=thisform.text1.value
    consumogral=thisform.text2.value
    ddia=thisform.text21.value
    mmes=thisform.text22.value
    replace cliente with clientegral
    replace consumo with consumogral
    replace dia with ddia
    replace mes with mmes
    otherwise
    messagebox("Boludo/a teolvidaste DE apretar el boton del valor de la hora!!")
    endcase

  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    8 comentarios / 3924 Visitas

      • 271
      • mensajes
      • miembro desde
      • 21/11/01
    • Me tomé un porrón
    23/04/2002
    #2

    hace esto
    antes del
    USE "c:\archivos de programa\microsoft visual studio\vfp98\cyber.dbf"

    pone:
    * Si no esta abierta la tabla
    IF !USED('cyber')
    USE "c:\archivos de programa\microsoft visual studio\vfp98 \cyber.dbf"

    ENDIF

    • lcosta75
      Invitado
    24/04/2002
    #3

    gracias emito,encontre otra forma, si no funciona intentare con la que me das vos.
    La alternativa es abrir la tabla solamente cuando cardo el formulario y listo, hasta ahora no tiro ningun error, igualmente si se te ocurre una contra avisame.
    saludos

      • 334
      • mensajes
      • miembro desde
      • 13/02/02
    • Vino tinto y asado gordo.
    24/04/2002
    #4

    Yo siempre pongo un .prg al inicio del programa que tiene una rutina de apertura:

    select 1
    use mitabla

    select 2
    use mitabla2

    etc, entonces desde adentro del form solamente pones:

    Select 1
    comandos

    ya te selecciona la tabla porque esta abierta en un area de memoria, tenes que decirle que area es la que vas a utilizar y ya esta.
    Si lo vas a utilizar asi de la forma que pusiste, tenes que cerrar la tabla antes de abrirla denuevo, o directamente agregas otro registro.
    Estas trabajando con Fox o Visual Fox ?

    • lcosta75
      Invitado
    24/04/2002
    #5

    CON VISUAL FOX Y ES VERDAD LO QUE ME DECIS ASI QUE LO VOY A HACER CON SELECT DESDE EL PRG.
    HICE UN EJECUTABLE DESDE PROYECTO, EN LA PESTAÑA GENERAR APLICACION Y SALIO EL EJECUTABLE, PERO HAY UN PROBLEMA, ME GENERO AUTOMATICAMENTE UN PAR DE MENUES. SABES COMO SACARLOS?
    GRACIAS

      • 334
      • mensajes
      • miembro desde
      • 13/02/02
    • Vino tinto y asado gordo.
    24/04/2002
    #6

    a ver, no me acuerdo muy bien ahora como es el codigo pero en el principio tenes que poner el .prg como te comentaba, y desde alli configuras tu ventana principal de ejecucion, desde el color del fondo, el titulo de tu ventana, si la vas a abrir maximizada o no, si queres poner un grafico de fondo hasta donde estan las bases de datos y como abrirlas.
    Desde alli tenes que lamar al menu que creaste desde el editor de menus.
    si me das un rato te paso el codigo de inicio de un programa que hice alguna vez.

      • 334
      • mensajes
      • miembro desde
      • 13/02/02
    • Vino tinto y asado gordo.
    24/04/2002
    #7

    ----- inicio.prg

    DEACTIVATE WINDOW "Project Manager"
    _SCREEN.ControlBox=.f.
    _SCREEN.Closable=.f.
    _SCREEN.Maxbutton=.f.
    _SCREEN.WindowState=2

    _SCREEN.ScaleMode=0
    _SCREEN.AutoCenter=.t.
    _SCREEN.BACKCOLOR = RGB(0,0,60)
    _SCREEN.caption = "Proyecto Fulano - Programa tal y tal"
    MODIFY WINDOW SCREEN NOGROW
    CLEAR DLLS
    CLEAR ALL
    *SET TALK OFF
    SET DELETED ON
    set century on
    SET DATE TO FRENCH
    SET EXACT ON
    SET ANSI ON
    ****para multiusuario
    *SET EXCLUSIVE OFF
    *SET REPROCESS TO automatic
    *Set lock on
    *set multilocks on

    *donde estan tus fuentes y bases
    set default to C:\carpeta
    _SCREEN.icon = "pepe.ico"
    @ 0,0 SAY "dibujo.bmp" BITMAP CENTER

    *definir variables si queres

    *abrir base de datos y despues las tablas

    OPEN DATABASES base_PRINCiPAL

    SELECT 1
    use mitabla1

    select 2
    use use mitabla2

    select 3
    USE use mitabla3
    ...
    ...

    *ejecutar el menu que creaste

    do menu1.mpr

    read events
    RETURN

    ------ fin

    cuando pruebes el programa , el menu del vfox se va a reemplazar por el que vos creaste y esto no te permite ver su menu por defecto, para volver al menu por defecto tenes que poner en la ventana comandos: set sysmenu to default.
    Eso te coloca nuevamente el menu como estaba antes de probar tu programa.
    Espero que te sirva.
    Saludos

      • 271
      • mensajes
      • miembro desde
      • 21/11/01
    • Me tomé un porrón
    25/04/2002
    #8

    para sacar los menus, sacado del help

    SET SYSMENU (Comando)
    Vea también

    Activa o desactiva la barra de menús del sistema de Visual FoxPro durante la ejecución del programa, y le permite reconfigurarla.

    Sintaxis

    SET SYSMENU ON | OFF | AUTOMATIC
    | TO [ListaMenús]
    | TO [ListaTítulosMenú]
    | TO [DEFAULT] | SAVE | NOSAVE

    • lcosta75
      Invitado
    26/04/2002
    #9

    CREO QUE HAY OTRA FORMA MAS SENCILLA QUE ACABO DE ENCONTRAR Y NADIE LA DIJO. DESDE LAS PROPIEDADES DEL FORMULARIO, HAY UNA QUE SE LLAMA SHOWWINDOWS, LO PUSE EN 2.COMO FORMULARIO DE NIVEL SUPERIOR.
    LISTO SAQUE EL FORMULARIO QUE ME APARECIA POR DEFECTO CON EL NOMBRE DE VISUAL FOX PRO. ESAS COSAS RARAS QUE HACE FOX Y NO LAS TIENE QUE EL VISUAL BASIC.