Problemas con cursores temporales y grid

Hola Don Alonso haber si me puede ayudar que me encuentro un poco bloqueado:
E creado un cursor temporal para cargar un grid en el init del formulario:
CREATE CURSOR cservicios (tipo C(60),descripcio C(240),precio F,horas F,minutos F,dto F,iv F,iva F,total F,codpresu I)
Luego al pinchar en un botón traigo los datos para insertar en el grid y lo hago de la siguiente manera:
ld1=VMANOOBRA.NOMBRE
ld2=VMANOOBRA.DESCRIPCIO
ld3=(VMANOOBRA.PHORA)
ld4=(1)
ld5=(0)
ld6=(thisform.txtdescuento.Value)
ld7=(VMANOOBRA.IV)
ld8=((((VMANOOBRA.PHORA-((VMANOOBRA.PHORA*thisform.txtdescuento.Value)/100))*VMANOOBRA.IV)/100))
ld9=(((VMANOOBRA.PHORA-((VMANOOBRA.PHORA*thisform.txtdescuento.Value)/100)))+(((VMANOOBRA.PHORA-((VMANOOBRA.PHORA*thisform.txtdescuento.Value)/100))*VMANOOBRA.IV)/100))
ld11=(thisform.paginas.principal.txtnum_orden.Value)
INSERT INTO CSERVICIOS (tipo,descripcio,precio,horas,minutos,dto,iv,iva,total,codpresu) VALUES(ld1,ld2,ld3,ld4,ld5,ld6,ld7,ld8,ld9,ld11)
thisform.paginas.manoobra.grdVmanoobrap.RecordSource=''
thisform.paginas.manoobra.grdVmanoobrap.RecordSource='CSERVICIOS'
thisform.paginas.manoobra.grdVmanoobrap.Refresh
El problema está en que si introduce el registro en el cursor y en el grid, pero al repetir la operación para que me siga insertando en el cursor/grid, no me lo hace simplemente me cambia los datos del registro del grid es decir no va aumentando los registros.
¿Por qué? Que es lo que me falta, no lo entiendo. Haber si me puedes ayudar que estoy totalmente bloqueado.
Saludos
Respuesta
1
A ver prueba lo siguiente
A) Crea un formulario con estos objetos
3 Textbox (Text1, Text2, Text3)
1 Grid con tres columnas
1 CommandButton
B) En el init del formulario coloca
CREATE CURSOR cServis (codigo C(10), descri C(60), Precio N(10,2))
WITH This.grid1
.RecordSource="cServis"
.column1.ControlSource="Codigo"
.column2.ControlSource="Descri"
.column3.ControlSource="Precio"
ENDWITH
C) En el Click del commandButton coloca
SELECT("cServis")
SCATTER MEMVAR MEMO BLANK
m.codigo=This.Parent.text1.Value
m.descri=This.Parent.text2.Value
m.precio=This.Parent.text3.Value
INSERT INTO cServis FROM MEMVAR
STORE SPACE(10) TO This.Parent.text1.Value, This.Parent.text2.Value
STORE 0 TO This.Parent.text3.Value
This.Parent.text1.SetFocus
This.Parent.Refresh
Me avisas como te va
He hecho un browse y los registro se añaden perfectamente en el cursor temporal es decir el problema debe de estar en el grid. ¿Me faltara alguna propiedad?
No entiendo que es lo que pasa, saludos
Si has ejecutado el ejemplo que te envíe, comparalo con tu programa, si el problema es el grid lo que te faltaría es un refresh al grid después de ingresar el registro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas