Registro a registro MySQL
Manuel Enrique González Ramírez
maengora en gmail.com
Vie Nov 9 03:33:49 CET 2007
Hola a todos.
Nuevamente con inquietudes.
Sigo aprendiendo con una pequena aplicacion que quier armar y ahora se me
presenta el siguiente inconveniente:
1. ANTECEDENTES Y DATOS:
- Tengo un form con varios campos (txt_id, txt_codigo, txt_fecha,
cmb_tipomovimiento)
- Igualmente una base de datos con una tabla llamada control y que posee los
campos: id (autonumerico), codigo, fecha y tipomovimiento
- La tabla control la he llenado desde el form con 3 registros donde id
(1,2,3), codigo para los tres registros(2212) y los demas datos son
diferentes.
2. ACCIONES
- En el form he creado dos botones denominados bt_adelante y bt_atras que
al pulsarlos deben con el resultado de una consulta MySQL
leer el id y si es del caso ir a adelante o atras. Ejemplo:
Si el id = 1 y pulso el boton bt_adelante, debe ir a id=2 y mostrar los
datos asociados a dicho id y viceversa.
Hasta ahi todo muy bien.
3. DIFICULTAD/PROBLEMA
- Si yo elimino por ejemplo el registro del id=2 y vuelvo a hacer clic en
alguno de los botones ya no avanza ya que no hay un consecutivo para mostrar
los id.
Ejm: Si estoy en el id=1 y hago clic en el bt_siguiente NO ENCUENTRA el
id=2 de igual forma NO HACE NADA, no avanza al id=3 que si existe. Lo mismo
me sucede si estoy en id=3 y voy hacia atras; no muestra el id=1, ya que
busca el id=2.
- Inserto otro registro desde el form pero este me queda con id=4 y pues si
estoy ubicado en id=3 y doy hacia adelante, muestra en nuevo registro y
viceversa, pero al estar en el 3 y querer devolverme ya no me da.
4. SOLICITUD
Necesito hacer, no se algun bucle o algo que me liste los codigos con sus id
(en un segundo plano por ejemplo) y que al pulsar los botones pueda ir de
registro en registro indendiente del id pero que sean del mismo codio.
....Eso, algo parecido a lo que tiene access los famosos FILTROS que te
listan por ejemplo varios productos de la misma familia pero con id
diferentes pero que al hacer clic en el boton next y previous te van
mostrando los registros.
Les aclaro, apenas estoy aprendiendo, estoy muy entusiasmado con esto de
python y visualwx, pero me entusiasma mas la idea de consultar en esta lista
y saber que uno, varios o muchos estan dispuestos a colaborar. De antemano
muchas gracias.
Les dejo el fragmento de codigo del boton evento atras, del boton bt_atras.
def atras(self,event): #init function
#[253]Code event VwX...
if(not self.VwXEvOnButtonClickAll(event)):return;
#Don't modify[253]#
#add your code here
codigo = self.txt_codigo.GetValue()
id = self.txt_id.GetValue()
busca = cursor.execute('SELECT COUNT(codigo) FROM control where
codigo=%s',(codigo))
res = cursor.fetchone()
id = int(id) - 1
#print id
busca2 = cursor.execute('SELECT * FROM control where codigo=%s and
id=%s',(codigo,id))
res2 = cursor.fetchall()
for i in res2:
self.txt_id.SetLabel(str(i[0]))
self.cmb_clasemov.SetLabel(str(i[3]))
self.cmb_origen.SetLabel(str(i[4]))
self.cmb_destino.SetLabel(str(i[5]))
self.cmb_detalle.SetLabel(str(i[6]))
self.cmb_articulo.SetLabel(str(i[7]))
self.txt_cantidad.SetLabel(str(i[8]))
return #end function
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es