|
Página 1 de 1
|
Error En Combobox Gambas3
Autor |
Mensaje |
homny
Usuario
Registrado: Enero 2011
Mensajes: 18
Edad: 40 Ubicación: Cumaná, edo. Sucre
|
Error En Combobox Gambas3
al migrar de gamndo bas 2 a 3, un combobox me está ejecutando el form_activate cada vez que escojo una opción, tengo el componente gb.gui he probado con gb.gtk y gb.qt4 y el mismo error, en gambas2 bien pero en el 3 está ese error a menos que sea una propiedad inactiva o activa que me afecte el activate del formulario. De esa manera me cambia mucha lógica de mi proyecto de gambas2...bueno saludos y ayuda.
|
#1 Jueves, 10 May 2012, 04:10 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Error En Combobox Gambas3
Confirmado que ocurre lo mismo en mi instalación de Gambas3. Tiene pinta de ser un bug, así que voy a reportarlo al autor. Avisaré cuando esté corregido.
Gracias.
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#2 Jueves, 10 May 2012, 09:11 |
|
|
homny
Usuario
Registrado: Enero 2011
Mensajes: 18
Edad: 40 Ubicación: Cumaná, edo. Sucre
|
Re: Error En Combobox Gambas3
Buenas. Aún nada de la corrección del combobox en gambas 3. gracias y saludos...
|
#3 Martes, 15 May 2012, 15:01 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Error En Combobox Gambas3
No, el bug está reportado desde ese día, pero Benoit aún no se ha ocupado de él. La verdad es que están más centrados ahora en otras cosas, nuevos componentes y librerías.
http://code.google.com/p/gambas/issues/detail?id=248
No te preocupes, cuando sepa algo te lo digo por aquí. Puedes suscribirte al tema y recibir notificaciones en tu correo.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#4 Martes, 15 May 2012, 20:27 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Error En Combobox Gambas3
Hola
Hoy ha respondido Benoit y lamento decirte que no es un bug, sino que es el comportamiento natural en Gambas3. Según Benoit, cuando se despliega un combobox, en realidad se está creando un elemento popup que obtiene el foco, al mismo tiempo que lo pierde el formulario padre. En ese momento el formulario se desactiva para volverse a activar al perder el foco el combobox y recuperarlo el formulario:
Citar: The combo opens a popup that takes the focus and deactivate the form, so when you close the popup, the form is activated again.
Dice que ese comportamiento no lo dicta él, sino que es un evento de bajo nivel que controla el toolkit subyacente e incluso el propio gestor de ventanas:
Citar: I have the same problem, but this "Activate" event is a low-level event managed by the toolkit (and the window manager actually), and so it's difficult for me not to raise it for popups triggered by a native widget like ComboBox.
Puede que en Gambas2 no sucediera lo mismo, pero han cambiado muchas cosas desde entonces.
Así que me temo que tendrás que cambiar la lógica de tu programa para conseguir lo que quieres. Por cierto, tengo curiosidad por saber qué es exactamente lo que haces al dispararse ese evento Form_Activate...
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#5 Jueves, 17 May 2012, 22:43 |
|
|
fabianfv
Analista Programador
Registrado: Octobre 2009
Mensajes: 495
Edad: 50 Ubicación:
|
Re: Error En Combobox Gambas3
El problema de homny tiene toda la pinta de ser un problema derivado de confundir el significado de los eventos. En muchas situaciones puede dar igual usar un evento u otro, o al menos eso es lo que parece a 1era vista.
Las situaciones en las que un formulario puede "activarse" pueden llegar a ser impredecibles, incluso dependiendo del gestor de ventanas y de la particular configuración que cada usuario puede establecer.
Me parece que el comportamiento que homny dispara a partir del evento activate debió haberlo hecho a partir de un evento menos repetitivo e impredecible, tal vez "open".
Saludos.
=================== Cómo programar con Gambas
Speed Books: informática libre.
|
#6 Sabado, 19 May 2012, 15:26 |
|
|
homny
Usuario
Registrado: Enero 2011
Mensajes: 18
Edad: 40 Ubicación: Cumaná, edo. Sucre
|
Re: Error En Combobox Gambas3
Hola saludos..
Bueno estoy muy decepcionado con la nueva versión de gambas 3, me da muchos errores cosas que ya estaban listas y funcionaban muy bien en gambas 2 ahora me dan errores si fuese una ok, pero no, son muchas, me imagino que todavía esa versión no está estable. migraré nuevamente a la 2 y esperaré que la 3 ya este bien...Gracias...
|
#7 Martes, 22 May 2012, 14:38 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Error En Combobox Gambas3
Como dice Fabian, seguramente sean errores de concepto tuyos a la hora de programar. A gambas3 no le pasa nada y ahora mismo es suficientemente estable como para que cualquier programa funcione perfectamente. Que tu programa funcione en Gambas2 y no lo haga en Gambas3 no significa que G3 esté mal, sino que Gambas2 ha evolucionado hacia algo mejor y un poco diferente, precisamente porque se han corregido los errores de diseño del antiguo Gambas2.
Volver atrás es un error. El objetivo es progresar y corregir nuestros errores.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#8 Martes, 22 May 2012, 19:55 |
|
|
homny
Usuario
Registrado: Enero 2011
Mensajes: 18
Edad: 40 Ubicación: Cumaná, edo. Sucre
|
Re: Error En Combobox Gambas3
Hola. Bueno yo no soy cerrado para aprender y me gustaría recibir ayuda para adaptarme a esta nueva forma de programar en gambas 3 o entender estos conceptos. Porque como usted dice la idea es crecer y adecuarse a los nuevos tiempos. Aquí envío el form planteles, para que lo estudien y vean que tengo mal... allí. En el g2 fino. en g3 empieza a dar error...
gambas class file
PUBLIC hconn AS Connection
PUBLIC hresult AS Result
PUBLIC hresultparro AS Result
PUBLIC hresultcontar AS Result
PUBLIC buscaregis AS Result
PUBLIC regisfiltrado AS Result
PUBLIC buscaregisparroquia AS Result
PRIVATE clave AS String
PUBLIC plantel AS String
PUBLIC ubicacion AS String
PUBLIC ner AS String
PUBLIC telefono AS String
PUBLIC correo AS String
PUBLIC observacion AS String
PUBLIC s AS Integer
PUBLIC valor1 AS String
PUBLIC sw AS Integer
PRIVATE sumando AS Integer
PRIVATE sumando2 AS Integer
PUBLIC textoparroquia AS String
PRIVATE suiche AS Integer
PUBLIC SUB abriendo()
tablaplanteles.Clear()
IF conectarbase() THEN RETURN
tablaplanteles.Columns.Count = 4
'---------definir los campos---------------
tablaplanteles.Columns[0].Text = "Escuela"
'tablaplanteles.Columns[0].Alignment = 2
tablaplanteles.Columns[1].Text = "Ner"
tablaplanteles.Columns[2].Text = "Ubicación"
tablaplanteles.Columns[3].Text = "Observación"
IF combomuni.Text = "TODOS" THEN
hresult = hconn.Exec("select * from escuelas order by escuela asc")
sw = 0
ELSE
IF variablesglobales.sw2 = 0 THEN
hresultparro = hconn.Exec("select * from parroquia where codigomunicipio = '" & txtmuni.Text & "' and parroquia = '" & comboparroquia.Text & "'")
ELSE
hresultparro = hconn.Exec("select * from parroquia where codigomunicipio = '" & txtmuni.Text & "' and parroquia = '" & nuevo.txtparroquia.Text & "'")
ENDIF
IF hresultparro.Count <> 0 THEN
hresult = hconn.Exec("select * from escuelas where codigomunicipio = '" & txtmuni.Text & "' and codigoparroquia = '" & hresultparro!codigoparroquia & "' order by escuela asc")
IF variablesglobales.sw2 = 1 THEN
comboparroquia.Text = nuevo.txtparroquia.Text
ENDIF
ELSE
sw = 1
ENDIF
ENDIF
IF sw = 0 THEN
DO WHILE hresult.Available
clave = hresult["codigoescuelagenerado"]
tablaplanteles.Add(clave, clave)
tablaplanteles[clave][0] = hresult["escuela"]
tablaplanteles[clave][1] = hresult["plner"]
tablaplanteles[clave][2] = hresult["ubicacion"]
tablaplanteles[clave][3] = hresult["observacion"]
hresult.MoveNext
LOOP
tablaplanteles.SetFocus()
ELSE
sw = 0
ENDIF
END
PUBLIC SUB abriendo2()
tablaplanteles.Clear()
IF conectarbase() THEN RETURN
tablaplanteles.Columns.Count = 4
'---------definir los campos---------------
tablaplanteles.Columns[0].Text = "Escuela"
'tablaplanteles.Columns[0].Alignment = 2
tablaplanteles.Columns[1].Text = "PlNer"
tablaplanteles.Columns[2].Text = "Ubicación"
tablaplanteles.Columns[3].Text = "Observación"
IF combomuni.Text = "TODOS" THEN
hresult = hconn.Exec("select * from escuelas order by escuela asc")
ELSE
hresultparro = hconn.Exec("select * from parroquia where codigomunicipio = '" & txtmuni.Text & "' and parroquia = '" & comboparroquia.Text & "' ")
IF hresultparro.Count <> 0 THEN
hresult = hconn.Exec("select * from escuelas where codigomunicipio = '" & txtmuni.Text & "' and codigoparroquia = '" & hresultparro!codigoparroquia & "' order by escuela asc")
ELSE
sw = 1
ENDIF
ENDIF
IF sw = 0 THEN
DO WHILE hresult.Available
clave = hresult["codigoescuelagenerado"]
tablaplanteles.Add(clave, clave)
tablaplanteles[clave][0] = hresult["escuela"]
tablaplanteles[clave][1] = hresult["plner"]
tablaplanteles[clave][2] = hresult["ubicacion"]
tablaplanteles[clave][3] = hresult["observacion"]
hresult.MoveNext
LOOP
ELSE
sw = 0
ENDIF
END
PUBLIC SUB abriendofiltrar()
tablaplanteles.Clear()
IF conectarbase() THEN RETURN
tablaplanteles.Columns.Count = 4
'---------definir los campos---------------
tablaplanteles.Columns[0].Text = "Escuela"
'tablaplanteles.Columns[0].Alignment = 2
tablaplanteles.Columns[1].Text = "PlNer"
tablaplanteles.Columns[2].Text = "Ubicación"
tablaplanteles.Columns[3].Text = "Observación"
IF combofiltro.Text = "Escuela" THEN
hresult = hconn.Exec("select * from escuelas where escuela like '" & txtfiltro.Text & "%" "' and codigomunicipio = '" & txtmuni.Text & "' order by escuela asc")
ELSE IF combofiltro.Text = "Ner" THEN
hresult = hconn.Exec("select * from escuelas where ner like '" & (txtfiltro.Text) & "%" "' and codigomunicipio = '" & txtmuni.Text & "' order by ner asc")
ELSE IF combofiltro.Text = "Ubicación" THEN
hresult = hconn.Exec("select * from escuelas where ubicacion like '" & txtfiltro.Text & "%" "' and codigomunicipio = '" & txtmuni.Text & "' order by ubicacion asc")
ELSE IF combofiltro.Text = "Observación" THEN
hresult = hconn.Exec("select * from escuelas where observacion like '" & txtfiltro.Text & "%" "' and codigomunicipio = '" & txtmuni.Text & "' order by observacion asc")
ENDIF
DO WHILE hresult.Available
clave = hresult["codigoescuelagenerado"]
tablaplanteles.Add(clave, clave)
tablaplanteles[clave][0] = hresult["escuela"]
tablaplanteles[clave][1] = hresult["plner"]
tablaplanteles[clave][2] = hresult["ubicacion"]
tablaplanteles[clave][3] = hresult["observacion"]
hresult.MoveNext
LOOP
END
PUBLIC SUB totales()
IF combomuni.Text = "TODOS" THEN
hresultcontar = hconn.Exec("select count(*) as total from escuelas")
lblescuelas.Text = "Total Escuelas Mcpio.:" & " " & hresultcontar!total
lblescuelas2.Text = "Total Escuelas Parroq.:" & " " & hresultcontar!total
ELSE
hresultcontar = hconn.Exec("select count(*) as total from escuelas where codigomunicipio = '" & txtmuni.Text & "' ")
IF hresultcontar.Count <> 0 THEN
lblescuelas.Text = "Total Escuelas Mcpio.:" & " " & hresultcontar!total
ELSE
lblescuelas.Text = "Total Escuelas Mcpio.:" & " " & "0"
ENDIF
buscaregisparroquia = hconn.Exec("select * from parroquia where parroquia = '" & comboparroquia.Text & "' and codigomunicipio = '" & txtmuni.Text & "'")
IF buscaregisparroquia.Count <> 0 THEN
hresultparro = hconn.Exec("select count(*) as total from escuelas where codigomunicipio = '" & txtmuni.Text & "' and codigoparroquia = '" & buscaregisparroquia!codigoparroquia & "' ")
IF hresultparro.Count <> 0 THEN
lblescuelas2.Text = "Total Escuelas Parroq.:" & " " & hresultparro!total
ENDIF
ELSE
lblescuelas2.Text = "Total Escuelas Parroq.:" & " " & "0"
ENDIF
ENDIF
'cuenta matrículas--------------------------------------------------------------
hresultcontar = hconn.Exec("select sum(matriculainihembras) AS suma1, sum(matriculafinihembras) AS suma2, sum(matriculainivarones) AS suma3, sum(matriculafinivarones) as suma4 from matriculas where codigoescuelagenerado = '" & txtcodigoescugene.Text & "' ")
IF hresultcontar.Count <> 0 THEN
sumando = 0
sumando2 = 0
suiche = 0
IF NOT IsNull(hresultcontar!suma1) OR hresultcontar!suma1 <> "" THEN
sumando = hresultcontar!suma1
ENDIF
IF NOT IsNull(hresultcontar!suma2) OR hresultcontar!suma2 <> "" THEN
sumando2 = sumando2 + hresultcontar!suma2
suiche = 1
ENDIF
IF NOT IsNull(hresultcontar!suma3) OR hresultcontar!suma3 <> "" THEN
sumando = sumando + hresultcontar!suma3
ENDIF
IF NOT IsNull(hresultcontar!suma4) OR hresultcontar!suma4 <> "" THEN
sumando2 = sumando2 + hresultcontar!suma4
suiche = 1
ENDIF
'IF (NOT IsNull(hresultcontar!suma2) OR (hresultcontar!suma2)) <> "" OR (NOT IsNull(hresultcontar!suma4) OR (hresultcontar!suma4) <> "") THEN
IF suiche = 1 THEN
lblmatricula.Text = "Total Matrícula:" & " " & sumando2
ELSE
lblmatricula.Text = "Total Matrícula:" & " " & sumando
ENDIF
ELSE
lblmatricula.Text = "Total Matrícula:" & " " & "0"
ENDIF
hresultcontar = hconn.Exec("select count(*) as total from personal where codigoescuelagenerado = '" & txtcodigoescugene.Text & "' ")
IF hresultcontar.Count <> 0 THEN
lbldocente.Text = "Total Docentes:" & " " & hresultcontar!total
ELSE
lbldocente.Text = "Total Docentes:" & " " & "0"
ENDIF
END
'cuenta personal--------------------------------
PUBLIC SUB totalesfiltro()
IF combomuni.Text = "TODOS" THEN
hresultcontar = hconn.Exec("select count(*) as total from escuelas where escuela like '" & txtfiltro.Text & "%" "'")
lblescuelas.Text = "Total Escuelas:" & " " & hresultcontar!total
ELSE
IF combofiltro.Text = "Escuela" THEN
hresultcontar = hconn.Exec("select count(*) as total from escuelas where escuela like '" & txtfiltro.Text & "%" "' and codigomunicipio = '" & txtmuni.Text & "' order by escuela asc")
ELSE IF combofiltro.Text = "Ner" THEN
hresultcontar = hconn.Exec("select count(*) as total from escuelas where ner like '" & (txtfiltro.Text) & "%" "' and codigomunicipio = '" & txtmuni.Text & "' order by ner asc")
ELSE IF combofiltro.Text = "Ubicación" THEN
hresultcontar = hconn.Exec("select count(*) as total from escuelas where ubicacion like '" & txtfiltro.Text & "%" "' and codigomunicipio = '" & txtmuni.Text & "' order by ubicacion asc")
ELSE IF combofiltro.Text = "Observación" THEN
hresultcontar = hconn.Exec("select count(*) as total from escuelas where observacion like '" & txtfiltro.Text & "%" "' and codigomunicipio = '" & txtmuni.Text & "' order by observacion asc")
ENDIF
IF hresultcontar.Count <> 0 THEN
lblescuelas.Text = "Total Escuelas:" & " " & hresultcontar!total
ELSE
lblescuelas.Text = "Total Escuelas:" & " " & "0"
ENDIF
ENDIF
END
PUBLIC SUB LIMPIAR()
txtcodigomuni.Text = ""
txtcodigoescu.Text = ""
txtcodigoescugene.Text = ""
txtplanteles.Text = ""
txtubicacion.Text = ""
'txtner.Text = ""
txttelefono.Text = ""
txtcorreo.Text = ""
txtobservacion.Text = ""
txtcodigoparroquia.Text = ""
txtplner.Text = ""
END
PRIVATE FUNCTION conectarbase() AS Boolean
IF hconn <> NULL THEN RETURN FALSE
hconn = NEW Connection
'hconn.Host = "/home/homny/programgambas/menuprobar/basedatos"
'hconn.Host = "/home/homny/programacióngambas/menuprobar/basedatos"
hconn.Host = Application.Path &/ "basedatos"
hconn.Type = "sqlite3"
hconn.Name = "matricula"
'arch = OPEN Application.Path &/ "Data/partidos.fwc" FOR OUTPUT
TRY hconn.Open()
IF ERROR THEN
hconn = NULL
Message.Error("Error al conectar con la base de datos")
ME.Close
RETURN TRUE
ENDIF
RETURN FALSE
END
PRIVATE SUB cerrarconexion()
IF hconn = NULL THEN RETURN
hconn.Close()
hconn = NULL
END
PUBLIC SUB bloquear()
txtcodigomuni.ReadOnly = TRUE
txtcodigoescu.ReadOnly = TRUE
txtcodigoescugene.ReadOnly = TRUE
txtplanteles.ReadOnly = TRUE
txtubicacion.ReadOnly = TRUE
'txtner.ReadOnly = TRUE
txttelefono.ReadOnly = TRUE
txtcorreo.ReadOnly = TRUE
txtobservacion.ReadOnly = TRUE
END
PUBLIC SUB mostrardatosparroquia()
hresultparro = hconn.Exec("select * from parroquia where codigomunicipio = '" & txtmuni.Text & "' and parroquia = '" & comboparroquia.Text & "'")
IF hresultparro.Count <> 0 THEN
hresult = hconn.Exec("select * from escuelas where codigomunicipio = '" & txtmuni.Text & "' and codigoparroquia = '" & hresultparro!codigoparroquia & "' order by escuela asc")
ELSE
ENDIF
IF hresult.Count = 0 THEN
Message.Info("Debes registrar escuela en el botón nuevo")
ELSE
hresult.MoveFirst
txtcodigomuni.Text = hresult!codigomunicipio
txtcodigoescu.Text = hresult!codigoescuela
txtcodigoescugene.Text = hresult!codigoescuelagenerado
txtplanteles.Text = hresult!escuela
txtubicacion.Text = hresult!ubicacion
txtcodigoparroquia.Text = hresult!codigoparroquia
txtplner.Text = hresult!plner
txttelefono.Text = buscaregis!telefono
txtcorreo.Text = buscaregis!correo
txtobservacion.Text = hresult!observacion
ENDIF
END
PUBLIC SUB mostrardatos2()
IF tablaplanteles.Current = NULL THEN
IF variablesglobales.activaformu = FALSE THEN
Message.Info("No hay escuelas en la base de datos, Verifique Administrador")
'QUIT
variablesglobales.var_muni = txtmuni.Text
variablesglobales.activaformu = TRUE
nuevo.Show
ENDIF
btnuevo.SetFocus
ELSE
hresult.MoveFirst
txtcodigomuni.Text = hresult!codigomunicipio
txtcodigoescu.Text = hresult!codigoescuela
txtcodigoescugene.Text = hresult!codigoescuelagenerado
txtplanteles.Text = hresult!escuela
txtubicacion.Text = hresult!ubicacion
txtcodigoparroquia.Text = hresult!codigoparroquia
txtplner.Text = hresult!plner
txttelefono.Text = buscaregis!telefono
txtcorreo.Text = buscaregis!correo
txtobservacion.Text = hresult!observacion
'tablaplanteles.Current.Selected
ENDIF
variablesglobales.activaformu = TRUE
END
PUBLIC SUB mostrardatos3()
buscaregis = hconn.Exec("select * from escuelas where codigoescuelagenerado = &1", tablaplanteles.Current.Key)
txtcodigomuni.Text = buscaregis!codigomunicipio
txtcodigoescu.Text = buscaregis!codigoescuela
txtcodigoescugene.Text = buscaregis!codigoescuelagenerado
txtplanteles.Text = buscaregis!escuela
txtubicacion.Text = buscaregis!ubicacion
txtcodigoparroquia.Text = buscaregis!codigoparroquia
txtplner.Text = buscaregis!plner
txttelefono.Text = buscaregis!telefono
txtcorreo.Text = buscaregis!correo
txtobservacion.Text = buscaregis!observacion
END
PUBLIC SUB mostrardatosfiltro()
IF hresult.Count = 0 THEN
'combofiltro.Text = valor1
LIMPIAR
ELSE
hresult.MoveFirst
txtcodigomuni.Text = hresult!codigomunicipio
txtcodigoescu.Text = hresult!codigoescuela
txtcodigoescugene.Text = hresult!codigoescuelagenerado
txtplanteles.Text = hresult!escuela
txtubicacion.Text = hresult!ubicacion
txtcodigoparroquia.Text = buscaregis!codigoparroquia
txtplner.Text = buscaregis!plner
txttelefono.Text = buscaregis!telefono
txtcorreo.Text = buscaregis!correo
txtobservacion.Text = hresult!observacion
ENDIF
END
PUBLIC SUB mostrardatos()
DIM s AS Integer
IF tablaplanteles.Current = NULL THEN RETURN
IF tablaplanteles.Current.Selected = FALSE THEN
Message.Info("Para eliminar, debe seleccionar un registro")
RETURN
ENDIF
s = Message.Question("¿Esta seguro desea borrar registro?", "Si", "No")
IF s = 1 THEN
IF conectarbase() THEN RETURN
buscaregis = hconn.Exec("select * from escuelas where codigoescuelasgenerado = &1", tablaplanteles.Current.Key)
IF ERROR THEN
Message.Error("Imposible borrar el registro")
ELSE
IF tablaplanteles.Current.Selected = FALSE THEN
Message.Info("Para eliminar seleccione un registro")
ELSE
'tablaplanteles.Current.Delete()
ENDIF
ENDIF
'cerrarconexion()
ENDIF
'tabla.Refresh()
'tabla.SetFocus()
'tabla.Current.MoveFirst
txtcodigomuni.Text = buscaregis!codigomunicipio
txtcodigoescu.Text = buscaregis!codigoescu
END
PUBLIC SUB cargaparroquia()
'comboparroquia.Enabled = TRUE
comboparroquia.Clear()
IF conectarbase() THEN RETURN
buscaregisparroquia = hconn.Exec("select * from parroquia")
IF buscaregisparroquia.Count = 0 THEN
ELSE
'hresultparro = hconn.Exec("select codigomunicipio, parroquia from parroquia group by parroquia having count(parroquia) > 0 and codigomunicipio = '" & txtmuni.text & "' ")
hresultparro = hconn.Exec("select codigomunicipio, parroquia from parroquia group by parroquia having count(parroquia) > 0 ")
WHILE hresultparro.Available
comboparroquia.Add(hresultparro!parroquia)
hresultparro.MoveNext
WEND
'comboparroquia.ReadOnly = FALSE
'comboparroquia.Text = comboparroquia.List(0)
ENDIF
END
PUBLIC SUB cargaparroquia2()
comboparroquia.Clear()
IF conectarbase() THEN RETURN
buscaregisparroquia = hconn.Exec("select * from parroquia where codigomunicipio = '" & txtmuni.Text & "' ")
IF buscaregisparroquia.Count = 0 THEN
Message.Info("Municipio sin parroquia, registre en botón nuevo")
desactivabotonestotal
btnuevo.Enabled = TRUE
ELSE
activabotones
hresultparro = hconn.Exec("select codigomunicipio, parroquia from parroquia group by parroquia having count(parroquia) > 0 and codigomunicipio = '" & txtmuni.Text & "' ")
WHILE hresultparro.Available
comboparroquia.Add(hresultparro!parroquia)
hresultparro.MoveNext
WEND
'comboparroquia.ReadOnly = FALSE
'comboparroquia.Text = comboparroquia.List(0)
ENDIF
END
PUBLIC SUB Form_Open()
ME.Center
sw = 0
variablesglobales.sw2 = 0
vercodimuni
cargaparroquia2
abriendo
'totales
bloquear
variablesglobales.activaformu = FALSE
variablesglobales.var_matriparro = FALSE
END
PUBLIC SUB Form_Activate()
mostrardatos2
totales
bloquear
vercodiparroquia
'IF variablesglobales.sw3 = 0 AND variablesglobales.sw2 = 0 THEN
IF nuevo.Enabled = FALSE
cargaparroquia2
ELSE
'variablesglobales.sw3 = 1
ENDIF
IF variablesglobales.var_matriparro = TRUE THEN
comboparroquia.Text = textoparroquia
variablesglobales.var_matriparro = FALSE
ENDIF
END
PUBLIC SUB vercodimuni()
IF combomuni.Text = "ANDRÉS ELOY BLANCO" THEN
txtmuni.Text = "01"
ELSE IF combomuni.Text = "ANDRÉS MATA" THEN
txtmuni.Text = "02"
ELSE IF combomuni.Text = "ARISMENDI" THEN
txtmuni.Text = "03"
ELSE IF combomuni.Text = "BENÍTEZ" THEN
txtmuni.Text = "04"
ELSE IF combomuni.Text = "BERMÚDEZ" THEN
txtmuni.Text = "05"
ELSE IF combomuni.Text = "BOLÍVAR" THEN
txtmuni.Text = "06"
ELSE IF combomuni.Text = "CAJIGAL" THEN
txtmuni.Text = "07"
ELSE IF combomuni.Text = "CRUZ SALMERÓN ACOSTA" THEN
txtmuni.Text = "08"
ELSE IF combomuni.Text = "LIBERTADOR" THEN
txtmuni.Text = "09"
ELSE IF combomuni.Text = "MARIÑO" THEN
txtmuni.Text = "10"
ELSE IF combomuni.Text = "MEJIA" THEN
txtmuni.Text = "11"
ELSE IF combomuni.Text = "MONTES" THEN
txtmuni.Text = "12"
ELSE IF combomuni.Text = "RIBERO" THEN
txtmuni.Text = "13"
ELSE IF combomuni.Text = "SUCRE" THEN
txtmuni.Text = "14"
ELSE IF combomuni.Text = "VALDEZ" THEN
txtmuni.Text = "15"
ENDIF
END
PUBLIC SUB vercodiparroquia()
buscaregisparroquia = hconn.Exec("select * from parroquia")
IF buscaregisparroquia.Count = 0 THEN
'Message.Question("Debes Registrar Parroquia en botón nuevo")
desactivabotonestotal
btnuevo.Enabled = TRUE
tablaplanteles.Clear()
LIMPIAR
combomuni.Enabled = TRUE
comboparroquia.Enabled = FALSE
ELSE
btmodificar.Enabled = TRUE
btelimina.Enabled = TRUE
btmatricula.Enabled = TRUE
btpersonal.Enabled = TRUE
ENDIF
END
PUBLIC SUB combomuni_Click()
vercodimuni
cargaparroquia2
LIMPIAR
abriendo
totales
combofiltro.Visible = FALSE
txtfiltro.Visible = FALSE
txtfiltro.Text = ""
tablaplanteles.Refresh
bloquear
END
PUBLIC SUB tablaplanteles_Click()
mostrardatos3
totales
END
PUBLIC SUB btsalida_Click()
cerrarconexion
Planteles.Close
END
PUBLIC SUB desbloquea()
txtplanteles.ReadOnly = FALSE
txtubicacion.ReadOnly = FALSE
txttelefono.ReadOnly = FALSE
txtcorreo.ReadOnly = FALSE
txtobservacion.ReadOnly = FALSE
END
PUBLIC SUB btmodificar_Click()
desactivabotones
plantel = txtplanteles.Text
ubicacion = txtubicacion.Text
telefono = txttelefono.Text
correo = txtcorreo.Text
observacion = txtobservacion.Text
desbloquea
txtplanteles.SetFocus
END
PUBLIC SUB desactivafiltro()
IF combofiltro.Visible = TRUE THEN
combofiltro.Enabled = FALSE
txtfiltro.Enabled = FALSE
ELSE
ENDIF
END
PUBLIC SUB desactivabotonestotal()
btaceptar.Enabled = FALSE
btcancelar.Enabled = FALSE
btmodificar.Enabled = FALSE
btelimina.Enabled = FALSE
btnuevo.Enabled = FALSE
btmatricula.Enabled = FALSE
btpersonal.Enabled = FALSE
btimprimir.Enabled = FALSE
btfiltrar.Enabled = FALSE
desactivafiltro
END
PUBLIC SUB desactivabotones()
btaceptar.Enabled = TRUE
btcancelar.Enabled = TRUE
btmodificar.Enabled = FALSE
btelimina.Enabled = FALSE
btnuevo.Enabled = FALSE
btmatricula.Enabled = FALSE
btpersonal.Enabled = FALSE
btimprimir.Enabled = FALSE
btfiltrar.Enabled = FALSE
desactivafiltro
END
PUBLIC SUB activabotones()
btaceptar.Enabled = FALSE
btcancelar.Enabled = FALSE
btmodificar.Enabled = TRUE
btelimina.Enabled = TRUE
btnuevo.Enabled = TRUE
btmatricula.Enabled = TRUE
btpersonal.Enabled = TRUE
btimprimir.Enabled = TRUE
btfiltrar.Enabled = TRUE
IF combofiltro.Enabled = FALSE THEN
combofiltro.Enabled = TRUE
txtfiltro.Enabled = TRUE
ENDIF
END
PUBLIC SUB cancelando()
activabotones
txtplanteles.Text = plantel
txtubicacion.Text = ubicacion
txttelefono.Text = telefono
txtcorreo.Text = correo
txtobservacion.Text = observacion
bloquear
btmodificar.SetFocus
END
PUBLIC SUB cancelando2()
activabotones
bloquear
btmodificar.SetFocus
END
PUBLIC SUB btcancelar_Click()
cancelando
END
PUBLIC SUB txtplanteles_Change()
txtplanteles.Text = UCase(txtplanteles.Text)
END
PUBLIC SUB txtplanteles_KeyPress()
IF Key.Code = Key.Enter THEN
IF txtplanteles.Text = "" THEN
txtplanteles.SetFocus
ELSE
txtubicacion.SetFocus
ENDIF
ENDIF
END
PUBLIC SUB txtubicacion_Change()
txtubicacion.Text = UCase(txtubicacion.Text)
END
PUBLIC SUB txtubicacion_KeyPress()
IF Key.Code = Key.Enter THEN
' txtner.SetFocus
ENDIF
END
PUBLIC SUB txtner_KeyPress()
IF Key.Code = Key.Enter OR Key.Code = 65293 THEN
txttelefono.SetFocus
ELSE
Solo_Numeros(Key.Code)
ENDIF
END
PUBLIC SUB txtobservacion_Change()
txtobservacion.Text = UCase(txtobservacion.Text)
END
PUBLIC SUB txtobservacion_KeyPress()
IF Key.Code = Key.Enter OR Key.Code = 65293 THEN
btaceptar.SetFocus
ENDIF
END
PUBLIC SUB btaceptar_Click()
IF txtplanteles.Text = "" THEN
Message.Info("Debe registrar nombre escuela")
txtplanteles.Text = plantel
txtplanteles.SetFocus
ELSE
s = Message.Question("¿Realmente desea modificar datos ?", "Si", "No")
IF s = 1 THEN
IF txtplanteles.Text = "" THEN
Message.Info("Debe llenar la casilla planteles")
txtplanteles.SetFocus
ELSE
buscaregis = hconn.Edit("escuelas", "codigoescuelagenerado = '" & txtcodigoescugene.Text & "' ")
buscaregis["codigomunicipio"] = txtcodigomuni.Text
buscaregis["codigoescuela"] = txtcodigoescu.Text
buscaregis["codigoescuelagenerado"] = txtcodigoescugene.Text
buscaregis["escuela"] = txtplanteles.Text
buscaregis["ubicacion"] = txtubicacion.Text
buscaregis["plner"] = txtplner.Text
buscaregis["telefono"] = txttelefono.Text
buscaregis["correo"] = txtcorreo.Text
buscaregis["observacion"] = txtobservacion.Text
buscaregis.Update
abriendo2
cancelando2
ENDIF
ELSE
ENDIF
ENDIF
END
PUBLIC SUB btelimina_Click()
DIM s AS Integer
IF tablaplanteles.Current = NULL THEN RETURN
IF tablaplanteles.Current.Selected = FALSE THEN
Message.Info("Para eliminar, debe seleccionar un registro")
RETURN
ENDIF
s = Message.Question("¿Esta seguro desea borrar registro?", "Si", "No")
IF s = 1 THEN
TRY hconn.Exec("delete from escuelas where codigoescuelagenerado =&1", tablaplanteles.Current.Key)
IF ERROR THEN
Message.Error("Imposible borrar el registro")
ELSE
IF tablaplanteles.Current.Selected = FALSE THEN
Message.Info("Para eliminar seleccione un registro")
ELSE
tablaplanteles.Current.Delete()
abriendo
ENDIF
ENDIF
ENDIF
END
PUBLIC SUB btnuevo_Click()
IF combomuni.Text = "TODOS" THEN
Message.Warning("Debe seleccionar un Municipio")
combomuni.SetFocus
ELSE
variablesglobales.var_muni = txtmuni.Text
variablesglobales.activaformu = TRUE
variablesglobales.sw2 = 1
nuevo.Show()
ENDIF
END
PUBLIC SUB btfiltrar_Click()
IF combofiltro.Visible = FALSE THEN
abriendo
combofiltro.Visible = TRUE
txtfiltro.Visible = TRUE
combofiltro.Text = "Escuela"
txtfiltro.SetFocus
ELSE
abriendo
combofiltro.Visible = FALSE
txtfiltro.Visible = FALSE
ENDIF
END
PUBLIC SUB txtfiltro_Change()
totalesfiltro
IF combofiltro.Text = "Escuela" THEN
txtfiltro.Text = UCase(txtfiltro.Text)
abriendofiltrar
mostrardatosfiltro
ELSE IF combofiltro.Text = "plNer" THEN
abriendofiltrar
mostrardatosfiltro
ELSE IF combofiltro.Text = "Ubicación" THEN
txtfiltro.Text = UCase(txtfiltro.Text)
abriendofiltrar
mostrardatosfiltro
ELSE IF combofiltro.Text = "Observación" THEN
txtfiltro.Text = UCase(txtfiltro.Text)
abriendofiltrar
mostrardatosfiltro
ENDIF
END
PUBLIC SUB combofiltro_Click()
abriendo
valor1 = combofiltro.Text
txtfiltro.Text = ""
txtfiltro.SetFocus
END
PUBLIC SUB txttelefono_Change()
'CInt(txttelefono.Text) 'Convierte el numero en entero
'CATCH
'txttelefono.Text = Mid$(txttelefono.Text, 1, -1) 'Si no es un numero borra el caracter
'STOP EVENT
END
PUBLIC SUB txttelefono_KeyPress()
IF Key.Code = Key.Enter OR Key.Code = 65293 THEN
txtcorreo.SetFocus
ELSE
Solo_Numerostelefono(Key.Code)
ENDIF
END
PUBLIC SUB txtcorreo_KeyPress()
IF Key.Code = Key.Enter THEN
txtobservacion.SetFocus
ENDIF
END
PUBLIC SUB txtcorreo_Change()
txtcorreo.Text = LCase(txtcorreo.Text)
END
PUBLIC SUB txtfiltro_KeyPress()
IF combofiltro.Text = "PlNer" THEN
IF Key.Code = Key.Enter OR Key.Code = 65293 THEN
ELSE
Solo_Numeros(Key.Code)
ENDIF
ENDIF
END
PUBLIC SUB btmatricula_Click()
variablesglobales.activaformu = TRUE
variablesglobales.var_matriparro = TRUE
textoparroquia = comboparroquia.Text
matricula.Show()
END
PRIVATE FUNCTION Solo_Numeros(KeyTecla AS Integer)
IF KeyTecla >= 48 AND KeyTecla <= 57 OR KeyTecla >= 65456 AND KeyTecla <= 65465 OR KeyTecla = 65288 OR KeyTecla = 65293 OR KeyTecla = 65421 THEN
ELSE
STOP EVENT
END IF
END
PRIVATE FUNCTION Solo_Numerostelefono(KeyTecla AS Integer)
IF KeyTecla >= 48 AND KeyTecla <= 57 OR KeyTecla >= 65456 AND KeyTecla <= 65465 OR KeyTecla = 65288 OR KeyTecla = 65293 OR KeyTecla = 65421 OR KeyTecla = 45 OR KeyTecla = 65453 OR KeyTecla = 65455 OR KeyTecla = 32 THEN
ELSE
STOP EVENT
END IF
END
PUBLIC SUB btpersonal_Click()
personal.Show()
END
PUBLIC SUB comboparroquia_Click()
IF variablesglobales.sw2 = 0 THEN
abriendo2
mostrardatosparroquia
totales
ENDIF
END
PUBLIC SUB btimprimir_Click()
DIM campo AS ResultField
DIM formulario AS File
DIM nominforme AS String
DIM ho AS Result
DIM i, h AS Integer
IF conectarbase() THEN RETURN
OPEN Application.Path & "/Reportes/reporteescuela.html" FOR WRITE CREATE AS #formulario
nominforme = "DATOS DE ESCUELA"
PRINT #formulario, "<html><head><title> " & nominforme & " </title>"
PRINT #formulario, "<meta content='text/html;' http-equiv='content-type' charset='utf-8'></head>"
PRINT #formulario, "<body>"
PRINT #formulario, "<script type='text/javascript'>"
PRINT #formulario, "var i=1;"
PRINT #formulario, "var titulooriginal = document.title;"
PRINT #formulario, "function cambiarTitulo()"
PRINT #formulario, "{"
PRINT #formulario, "document.title = titulooriginal.substring(0,i);"
PRINT #formulario, "i++;"
PRINT #formulario, "if (i>titulooriginal.length) i=0;"
PRINT #formulario, "setTimeout('cambiarTitulo()',250);"
PRINT #formulario, "}"
PRINT #formulario, "cambiarTitulo();"
PRINT #formulario, "</script>"
PRINT #formulario, "<table><tr><td><img src=logodireccion.png></td><td><h2><center>" & nominforme & "</h2></td></center></tr></table>"
PRINT #formulario, "<p>Municipio: " & combomuni.Text & " " & " " & lblescuelas.Text
PRINT #formulario, "<p> Parroquia: " & comboparroquia.Text & " " & " " & lblescuelas2.Text
PRINT #formulario, "<p> Escuela: " & txtplanteles.Text
PRINT #formulario, "<p> Código Municipio: " & txtcodigomuni.Text & " " & "Código escuela: " & txtcodigoescu.Text
PRINT #formulario, "<p> Código Parroquia: " & txtcodigoparroquia.Text & " " & "PlNer: " & txtplner.Text
PRINT #formulario, "<p> Ubicación: " & txtubicacion.Text
PRINT #formulario, "<p> Teléfono: " & txttelefono.Text
PRINT #formulario, "<p> Correo Electrónico: " & txtcorreo.Text
PRINT #formulario, "<p> Observación: " & txtobservacion.Text
PRINT #formulario, "<p>"
PRINT #formulario, "<p>" & lblmatricula.Text & " " & lbldocente.Text
PRINT #formulario, "<hr>"
PRINT #formulario, "<p> Reporte Impreso el Dia: " & Format(Date, "dd/mm/yyyy") & "</p>"
PRINT #formulario, "<input type='button' name='Imprimir Informe' value='Imprimir' onclick='window.print();'>"
PRINT #formulario, "</body></html>"
CLOSE #formulario
SHELL ("firefox " & Application.Path & "/Reportes/reporteescuela.html")
END
|
#9 Miercoles, 23 May 2012, 16:14 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Error En Combobox Gambas3
Sin entrar demasiado en tu código, no entiendo por qué utilizas el evento form_activate. Pareciera que lo que quieres es que se ejecute lo que hay en él cuando se abre el formulario (no vuelves a llamarlo en ningún momento), con lo que deberías pasar todo ese código a form_open. Si en algún momento quieres ejecutar ese código fuera del open, pásalo a una procedure con otro nombre y llámalo en el form_open y cuando quieras que se ejecute otra vez...
Suerte
=================== No podemos regresar
|
#10 Jueves, 24 May 2012, 10:38 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|