Crear Cursor de Lectura y Escritura.

6,192 views
Skip to first unread message

stallman stallman

unread,
May 17, 2011, 7:12:53 PM5/17/11
to publice...@googlegroups.com
Saludos Estimados Señores.

1- Por favor quisiera que alguien me pueda ayudar a establecerle la propiedad de Lectura y Escritura al Siguiente Cursor, dado que agrego READWRITE después del Nombre y me da error.


1.1- Creo el cursor de la forma:


CREATE CURSOR crsPEDIDO (Chk N(1), N_Solic N(4), Fecha D(8), Ctro_Solic N(6), Ctro_Desp N(6), Cedula N(14), Nombre C(20), Apellido1 C(20), Apellido2 C(20),;
N_Receta N(7), N_Serie C(2), Clase C(1), SubClase C(2), Grupo C(2), Producto C(4), Desc_Prod C(200), Cant N(5), Lugar N(6), Indi N(4))


1.2- Utilizo el cursor de la forma:

SELECT crsPEDIDO
INSERT INTO crsPEDIDO (N_Solic, Fecha, Ctro_Solic, Ctro_Desp, Cedula, Nombre, Apellido1, Apellido2, N_Receta, N_Serie,;
Clase, SubClase, Grupo, Producto, Desc_Prod, Cant, Lugar, Indi,Chk);
VALUES ((VAL(ALLTRIM(THISFORM.Txt_Num_Pedido.Value))), THISFORM.TxtFecha.Value, THISFORM.Txt_Cod_Area.Value, THISFORM.Txt_Cod_Area2.Value,;
THISFORM.Txt_Identificacion.Value, THISFORM.Txt_Nombre.Value, THISFORM.Txt_Apellido1.Value, THISFORM.Txt_Apellido2.Value, ;
THISFORM.Txt_Num_Receta.Value, THISFORM.Txt_Serie.Value, THISFORM.Txt_Clase.Value, THISFORM.Txt_SubClase.Value, ;
THISFORM.Txt_Grupo.Value, THISFORM.Txt_Producto.Value, THISFORM.Txt_Desc_Prod.Value, THISFORM.tXT_Cant.Value, ;
THISFORM.Txt_Cod_Ebais.Value, THISFORM.Txt_Cod_Indi.Value,intCHK)



Les agradezco la ayuda.

Martín Inga

unread,
May 17, 2011, 7:24:07 PM5/17/11
to publice...@googlegroups.com
Utiliza variables de memoria de la forma:
 
m.n_solic
m.fecha
m.ctro_solic
 
...
después
 
insert into crsPEDIDO  from memvar
 
Saludos,

Mik

unread,
May 17, 2011, 7:28:22 PM5/17/11
to publice...@googlegroups.com
Hola, no necesitas poner READWRITE en el comando. CREATE CURSOR crea un cursor de lectura y escritura.

Saludos.
Miguel Herbias
Lima - Peru

stallman stallman

unread,
May 17, 2011, 8:01:43 PM5/17/11
to publice...@googlegroups.com
Éstos cursores se crean automáticamente con Lectura y Escritura?.

Y por qué será que no puedo modificarlos cuando los cargo a un grid?

lervys cuicas

unread,
May 17, 2011, 7:35:12 PM5/17/11
to publice...@googlegroups.com
Buenas noches...!!! Como asi..?? Que no puedes modificar que...?


Date: Tue, 17 May 2011 18:01:43 -0600
Subject: Re: [vfp] Re: Crear Cursor de Lectura y Escritura.
From: stall...@gmail.com
To: publice...@googlegroups.com

stallman stallman

unread,
May 17, 2011, 8:10:18 PM5/17/11
to publice...@googlegroups.com
Yo cargo el cursor a un Grid.

- Cómo hago para eliminar filas del grid?

Hugo C.

unread,
May 17, 2011, 8:14:02 PM5/17/11
to Comunidad de Visual Foxpro en Español
SELECT (THISFORM.Grid1.Recordsource)
DELETE NEXT1
THISFORM.Grid1.Refresh()

Saludos.

Walter R. Ojeda Valiente

unread,
May 17, 2011, 8:14:27 PM5/17/11
to publice...@googlegroups.com
Ya te respondimos a esa pregunta:

1. Con un DELETE FOR condición, eliminarás a todas las filas que cumplan la condición
2. Con un THISFORM.GRID1.REFRESH() mostrarás al grid actualizado (es decir: sin las filas eliminadas).

Saludos.

Walter.




Date: Tue, 17 May 2011 18:10:18 -0600

Subject: Re: [vfp] Re: Crear Cursor de Lectura y Escritura.
From: stall...@gmail.com
To: publice...@googlegroups.com

stallman stallman

unread,
May 17, 2011, 8:56:51 PM5/17/11
to publice...@googlegroups.com
Si Walter.

Si miras me indicaron crear un Cursor READWRITE

GeoSys Diseño de Software

unread,
May 17, 2011, 11:08:41 PM5/17/11
to publice...@googlegroups.com
A una consulta SELECT SQL si puedes agregar READWRITE para hacer el cursor escribible, pero no a un cursor creado con CREATE CURSOR.

Predeterminadamente el cursor creado es READWRITE

Haz la prueba, coloca esto en un botón de comando o un prg o lo copias y los pegas en la ventana de comandos luego lo seleccionas y le das enter:

CREATE CURSOR prueba (Fecha D(8), documento C(12), Monto N(13,2))
INDEX on DTOS(fecha) tag fecha
INDEX on documento tag documento
APPEND BLANK
REPLACE fecha with DATE()
REPLACE documento with "000000001234"
REPLACE monto with 12345
BROWSE

Como puedes ver se le pueden agregar índices y insertar datos.

Saludos

Anthony Contreras Peralta


Costa Rica

stallman stallman

unread,
May 17, 2011, 11:17:24 PM5/17/11
to publice...@googlegroups.com
Es correcto Anthony, tienes razón.

No sabía la diferencia entre las dos formas de crear los Cursores.

Muchas gracias por la aclaración.

Saludos.

 

ibania blanco

unread,
May 25, 2011, 1:25:23 PM5/25/11
to Comunidad de Visual Foxpro en Español
WITH THISFORM

INSERT INTO crsPEDIDO (N_Solic, Fecha, Ctro_Solic, Ctro_Desp, Cedula,
Nombre, Apellido1, Apellido2, N_Receta, N_Serie,;
Clase, SubClase, Grupo, Producto, Desc_Prod, Cant, Lugar, Indi,Chk);
VALUES ((VAL(ALLTRIM(.Txt_Num_Pedido.Value))),
THISFORM.TxtFecha.Value, .Txt_Cod_Area.Value,
THISFORM.Txt_Cod_Area2.Value,;
.Txt_Identificacion.Value,
THISFORM.Txt_Nombre.Value, .Txt_Apellido1.Value, .Txt_Apellido2.Value, ;
.Txt_Num_Receta.Value,
THISFORM.Txt_Serie.Value, .Txt_Clase.Value, .Txt_SubClase.Value, ;
.Txt_Grupo.Value,
THISFORM.Txt_Producto.Value, .Txt_Desc_Prod.Value, .tXT_Cant.Value, ;
.Txt_Cod_Ebais.Value, Txt_Cod_Indi.Value,intCHK

ENDWITH

EN EL DOBLE CLICK DEL GRID COLOCA ESTO

IF MessageBox ('¿Esta seguro Eliminar este registro ? ',4+32,'Tenga
Cuidado')=6
SELECT temporal
DELETE NEXT 1
ENDIF



sele tmp
GO top
SCAN

scatter memvar memo
INSERT INTO temporal FROM MEMVAR

sele tmp
endscan


CREATE CURSOR temp (idField Int, amount Num(15,2))
INSERT INTO temp VALUES (1, 11.3)
INSERT INTO temp VALUES (2, 8.7)
INSERT INTO temp VALUES (3, 10)


LOCAL ARRAY aCliente (2,4)
aCliente(1,1)= 12344
aCliente(1,2)= "Ericka"
aCliente(1,3)= "Carvajal"
aCliente(1,4)= 222222.11
aCliente(2,1)= 12344
aCliente(2,2)= "Jenny"
aCliente(2,3)= "Porras"
aCliente(2,4)= 222222.11
INSERT INTO CLIENTES FROM ARRAY aCliente &&Inserta dos clientes


m.IdCliente = 12344
m.Nombre = "Ericka"
m.Apellido = "Carvajal"
m.Saldo = 0
INSERT INTO CLIENTES (IdCliente, Nombre, Apellido, Saldo) FROM MEMVAR


insert into Cabecera (id_operacion,fecha,id_cliente) ;
values (mid_operac,mfecha,mid_cliente)
Reply all
Reply to author
Forward
0 new messages