FoxPro/Visual FoxPro - Error de VFP9 CON MYSQL

   
Vista:

Error de VFP9 CON MYSQL

Publicado por many (84 intervenciones) el 16/01/2016 05:19:36
Saludo a todos amigos de este foro.

Tengo un error que es posible que le sea familiar a muchos de ustedes.

Un programa de facturación estaba funcionando muy bien y después de un par de meses ha comenzado a dar este error, al momento de buscar el código de articulo este error sale mas de 10 veces sacando el sistema y cuando le parece deja de salir y el sistema funciona normal todo el día,

Debo aclarar que cuando estaba haciendo el sistema este error por momentos me deba dolor de cabeza pero me soltaba y continuaba programado con la duda de que cuando el sistema se instalara podría dar problemas y así ha pasado.

Este es el primer error:

Microsoft visual foxpro ha detectado un problema y de be cerrarse.
Informe a Microsoft de este problema.
Se ha creado un informe de errores que puede enviar para mejorar Microsoft Visual Foxpro
Datos que contiene el informe de errores

Errores de informe de Micrososft no puede conectar con los servidores de informes en estos
momentos si desea que se le pregunte para notificar mas tarde haga clic en enviar informe mas tarde

Luego sale este:

Fatal error: Excepcion code = C0000005@12012016 09:14:09am. error log file:c:\archivo de programa
Visual Foxpro 9\vfp9err.log
Called from - form1.codgio.losfocus line 49
Called from - principal line 90

y sale del sistema.

Espero que todo el que pueda aportar algo lo haga ya que este es el primer programa que hago con VISUAL FOXPRO9 Y MYSQL y no quiero que un error me acabe todo este esfuerzo.


Aquí les dejo el procedimiento donde se produce el error:

nbuscar=UPPER(ALLTRIM(thisform.codigo.Value))

IF !EMPTY(thisform.codigo.value)

SQLEXEC(rc,"Select * from articulos where articulos.codigo =?nbuscar ","mc")

IF RECCOUNT() = 0
MESSAGEBOX("Este codigo no fue encontrado", "Aviso")
thisform.codigo.Value = ""
thisform.descrip.Value = ""
NODEFAULT
RETURN
ENDIF

thisform.descrip.Value = mc.descrip
thisform.venta.Value = mc.venta1
thisform.e1.Value = mc.e1
thisform.contenido.Value = mc.c1
thisform.tipoit.value = mc.itbis

thisform.venta1.value = mc.venta1
thisform.venta2.Value = mc.venta11
thisform.venta3.Value = mc.venta12

thisform.costo.value = mc.costo
thisform.quedan.Value = mc.exist
thisform.formav.Value = 2

thisform.cantidad.SetFocus

RETURN
ENDIF

RETURN


Gracias a todos por las ayudas que puedan ofrecer sobre este tema.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error de VFP9 CON MYSQL

Publicado por Many (84 intervenciones) el 18/01/2016 16:14:14
Saludo nuevamente a todos:

Relacionado con este tema de error es posible que a alquien le sea familiar ya que yo me encontre varias veces con este error durante el desarro de varios porgramas en el proceso de practicas.
Si alguien ve este tema por favor digame si conoce el error o no para saber si es un caso especial mio o si se trata de un error normal.

Gracias a todos y sigo a la espera de ustedes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error de VFP9 CON MYSQL

Publicado por Fidel José (319 intervenciones) el 19/01/2016 16:50:44
Tu error puede surgir de otro problema de la interfaz.
Del código que adjuntas, lo único que cambiaría es lo siguiente:

1) Calificar la función reccount()
IF RECCOUNT("MC") = 0

2) Quitar ese NODEFAULT de allí, porque realmente no sé cual es la idea. Supuestamente ese es un método de un formulario.

3) Quitar el RETURN que sigue a "thisform.cantidad.SetFocus " porque es ocioso. Se ejecutará el último de todos modos, y si no lo pones, también se ejectuará (RETURN .T. es la respuesta por default de cualquier método o procedure).

Podría quedar algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
LOCAL nBuscar,;
	lDoit
 
nbuscar=UPPER(ALLTRIM(thisform.codigo.Value))
lDoit = !EMPTY(thisform.codigo.value)
IF m.lDoit
	SQLEXEC(rc,"Select * from articulos where articulos.codigo =?nbuscar ","mc")
 
	lDoit = RECCOUNT("MC") > 0
 
	IF m.lDoit
		WITH thisform
			.descrip.Value = mc.descrip
			.venta.Value = mc.venta1
			.e1.Value = mc.e1
			.contenido.Value = mc.c1
			.tipoit.value = mc.itbis
 
			.venta1.value = mc.venta1
			.venta2.Value = mc.venta11
			.venta3.Value = mc.venta12
 
			.costo.value = mc.costo
			.quedan.Value = mc.exist
			.formav.Value = 2
			.cantidad.SetFocus
		ENDWITH
	ELSE
		MESSAGEBOX("Este codigo no fue encontrado", "Aviso")
		thisform.codigo.Value = ""
		thisform.descrip.Value = ""
	ENDIF
ENDIF
RETURN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error de VFP9 CON MYSQL

Publicado por many (84 intervenciones) el 22/01/2016 01:07:16
Saludo y gracias por estar atento

Tratare de tener el cambio listo para cuando el error se presente sustituir el formulario por el otro modificado.

Mil gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar