Programación General > Power Builder

 Datawindows Seleccion

<< < (2/3) > >>

F_Tanori:
:P


Hola tengo una pregunta para ti, la tabla que estas actualizando tiene un campo autonumerico?


Saludos

Jhois:
:hola: Hola F-Tanori!!  :wub:

Bueno pues, no. Lo único que tengo son campos correspondientes a un libro diario..

Es decir, fecha(texto), detalle(texto), debe(decimal) y haber(decimal).

 :ayuda: Y no me deja ingresar!!! :ouch:

gracias

F_Tanori:
Hola ;) ( :P)

¿que version PB estas utilizando?

¿que base de datos estas utilizando?

¿que tipo de conexion estas utilizando?

¿Puedes colocar tu codigo, y la estructura de tu tabla?

Saludos

Jhois:
Hola :)


--- Citar ---¿que version PB estas utilizando?
--- Fin de la cita ---

Bueno, yo abri una discusión explicandole a ud, casi todo, incluso le envié un mail, no se me regreso, pero no sé si le llegaría. Bueno, utilizo PB 9.0 Build 5507


--- Citar ---¿que base de datos estas utilizando?
--- Fin de la cita ---

Bueno ahora sólo estoy utilizando Access, porque es un programa de prueba, pero luego utilizaré SQL


--- Citar ---¿que tipo de conexion estas utilizando?
--- Fin de la cita ---
La default para access, talvés te refieras a eso


--- Citar ---¿Puedes colocar tu codigo, y la estructura de tu tabla?
--- Fin de la cita ---

Bueno en un botón que se llama insertar estoy poniendo esto:

 
--- Código: Text --- Integer i //controlo que exista registrosif dw_libro.RowCount()=0 then return if dw_libro.enabled = true  then// confirmoif messagebox(&#34;Insertar&#34;,&#34;Desea insertar comentario sobre la fila &#34; + String(dw_libro.GetRow()) + &#34; del libro diario?&#34;,question!, YesNo!,1)=2 then return// inserto gb_comen.visible=truecb_3.visible=trueem_comen.visible=trueem_comen.setfocus( )else  returnend if  
entonces se me habilita un cuadro de texto para escribir un comentario, y al hacer clic en otro boton ingresar:


--- Código: Text --- long nrow,rowssdecimal valorvalor = 0 rowss = dw_libro.find(&#34;detalles=''&#34;,1,dw_libro.RowCount())    nRow=dw_libro.insertrow(dw_libro.GetRow())  dw_libro.setitem(nRow, &#34;Detalles&#34;, em_comen.text)  dw_libro.setitem(nRow, &#34;debe&#34;, valor)  dw_libro.setitem(nRow, &#34;haber&#34;, valor)  gb_comen.visible=false  cb_3.visible=false  em_comen.visible=false  
ahi se me inserta en donde quiero, pero al grabar:


--- Código: Text --- Integer i //controlo que exista registrosif dw_libro.RowCount()=0 then return if dw_libro.enabled = true  then// confirmoif messagebox(&#34;Grabar&#34;,&#34;Desea grabar con este comentario?&#34;,question!, YesNo!,1)=2 then  close(w_libro_diario)  open(w_libro_diario)  returnelse //actualizodw_libro.settransobject(sqlca)dw_libro.update() //actualizo listasclose(w_libro_diario)open(w_libro_diario)end ifend if  
se me ubica al final de la tabla, y no quiero eso, quiero que se me quede ahi...

como dije, la fecha y detalles es tipo texto, debe y haber como double...
no se, estoy aprendiendo aun, pero no puedo insertar...Ayudame

Saludos

F_Tanori:

--- Cita de: "Jhois" ---Hola :)


--- Citar ---¿que version PB estas utilizando?
--- Fin de la cita ---

Bueno, yo abri una discusión explicandole a ud, casi todo, incluso le envié un mail, no se me regreso, pero no sé si le llegaría. Bueno, utilizo PB 9.0 Build 5507

--- Fin de la cita ---

 :blink: , no se a que te refieres, yo no recibi ningun correo, estoy seguro que ese es el motivo del porque no recibiste respuesta :P

por lo del problema pues, resulta bastante logico, lo que hace el dw es insertar un nuevo registro visualmente esta en la posicion que tu lo indicas pero al ejecutar el metodo update() como es un nuevo registro pues no hace un UPDATE sino un INSERT y lo hace pues donde debe de ir al final de la tabla :P

tendrias que "mover" todos los registros que deban quedar debajo del nuevo  lo cual serian muchas transacciones pues yo nunca he visto una instruccion para Insertar en determinada posicion de la tabla  <_<


mi sugerencia seria lo siguiente crear un campo para dar el orden de las filas

ejemplo

en access creando el campo orden que servira para establecer la prioridad y posicion en el DW


--- Citar ---fecha, debe,haber,orden
--- Fin de la cita ---

y el dw lo ordenas asc por el campo orden para que el retrieve te los traiga ordenados

a la hora de insertar un nuevo registro reenumeras las filas para que te actualice el campo orden

espero haberme explicado


Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa