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 -
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 ? -
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 -
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. -
----- 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 -
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 -
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.
