Consulta en un grid ¡¡¡URGENTE!!!

03/11/2004 - 02:22 por Dulce Delgado | Informe spam
Hola!!! soy novata en esto de programar en VFP, y necesito ayuda
urgente... tengo una tabla de la cual necesito seleccionar 3 campos:
serial, part_no y Supplier ID, los cuales tienen que coincidir con una
clave (v_serial). El usuario teclea el v_serial en un TextBox y quiero que
en un grid, me aparezcan todos los registros que coincidan con ese número.
¿Cómo le hago para que la consulta aparezca en el grid?
Espero haberme dado a entender... muchas gracias de antemano.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 jesus
03/11/2004 - 04:49 | Informe spam
Hola, yo como le he hecho en fox es de esta forma

primero en el evento init de tu form coloca este código:

PUBLIC MiCursor
CREATE CURSOR MiCursor ;
(serial C(20), part_no N(10), Supplier_ID C(10))

ThisForm.Grid1.RecorSourceType = 0
ThisForm.Grid1.RecorSource = MiCursor

Creamos una tabla temporal, es decir, se almacena solo en la memoria y
despues se la asignamos al grid en caso de que la tabla no exista no
tengamos problemas:

después en el evento init pero de tu objeto grid coloca esto

ThisForm.Grid1.RecorSource = ""

de esta forma dejamos de apuntar el objeto grid al CURSOR MiCursor

y por último en un objeto command coloca esto

ThisForm.Grid1.RecordSourceType = 4
MiCursor = "SELECT serial, part_no, Supplier ID FROM " + ;
<direccion y nombre de la tabla> + "WHERE serial = '"
+ ;
ThisForm.ComboBox1.Value + "'"

ThisForm.Grid1.RecordSource = MiCursor


y listo, con esto tienes para para obtener las clavez coincidentes con lo
que el usuario tecleo (todo esto lo hago suponiendo que conoces un poco de
SQL en caso de que algun campo que halla puesto como tipo caracter sea
numérico y viceversa lo arregles a tu conveniencia).

Bueno, saludos desde mexico y espero que te sirva. suerte.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#2 Esparta Palma
03/11/2004 - 05:52 | Informe spam
Utiliza la capacidad que tienen los grid para popularse con cursores
creados en el momento... A continuación un pequeño ejemplo...

oForm = CREATEOBJECT("MyForm")
oForm.Show()
DEFINE CLASS MyForm AS FORM
BindControls = .F.
Name = "Test1"
ADD OBJECT lblID AS LABEL ;
WITH Left = 10, AutoSize=.T., Caption="Clave Producto:",;
Top = 10,Value=""
ADD OBJECT txtClaveProducto AS TextBox ;
WITH Height , Width = 100, Left0, Top = 5
ADD OBJECT cmdBuscar AS CommandButton ;
WITH Height%, Caption = "\<Buscar",;
Left = 250, Top = 2
ADD OBJECT grdResults AS Grid ;
WITH Height = 180, Width= 350, Top = 50, Left,;
ColumnCount = 3, DeleteMark = .F.,;
RecordSourceType = 1


PROCEDURE LOAD
OPEN DATABASE (HOME(2)+"Data\testdata.dbc")
ENDPROC
PROCEDURE doQuery
LOCAL lcID
This.BindControls = .T.
WITH This
lcID = ALLTRIM(.txtClaveProducto.value)
.grdResults.RecordSource = ""
SELECT cust_id, Orders.order_id, Quantity FROM ordItems OI;
INNER JOIN Orders ON OI.Order_ID=Orders.Order_ID ;
WHERE lcID == ALLTRIM(Product_ID) ;
GROUP BY Cust_id, Orders.order_id, Quantity ;
INTO CURSOR cResults
IF _TALLY = 0
MESSAGEBOX("No hay detalles que cumplan con su condicion")
ENDIF
.grdResults.RecordSource = "cResults"
ENDWITH
ENDPROC
PROCEDURE cmdBuscar.Click
Thisform.doQuery()
ENDPROC
ENDDEFINE

Copia el código anterior, pégalo a tu command window, seleccionalo y
presiona ENTER, verás un ejemplo que hace uso de una busqueda creada con
un SELECT-SQL, y cuyo resultado será puesto en el grid.

Espero te sirva.

P.S. Si tienes un VFP anterior a la versi

Hola!!! soy novata en esto de programar en VFP, y necesito ayuda
urgente... tengo una tabla de la cual necesito seleccionar 3 campos:
serial, part_no y Supplier ID, los cuales tienen que coincidir con una
clave (v_serial). El usuario teclea el v_serial en un TextBox y quiero que
en un grid, me aparezcan todos los registros que coincidan con ese número.
¿Cómo le hago para que la consulta aparezca en el grid?
Espero haberme dado a entender... muchas gracias de antemano.



ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox.com
Acapulco, México
email:mexicoSINSPAM[Arroba]portalfox.com

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#3 Esparta Palma
03/11/2004 - 06:00 | Informe spam
Otro ejemplo usando la capacidad de ejecutar sentencias SQL...

oForm = CREATEOBJECT("MyForm")
oForm.Show(1)
DEFINE CLASS MyForm AS FORM
BindControls = .F.
Name = "Test1"
ADD OBJECT lblID AS LABEL ;
WITH Left = 10, AutoSize=.T., Caption="Clave Producto:",;
Top = 10,Value=""
ADD OBJECT txtClaveProducto AS TextBox ;
WITH Height , Width = 100, Left0, Top = 5
ADD OBJECT cmdBuscar AS CommandButton ;
WITH Height%, Caption = "\<Buscar",;
Left = 250, Top = 2
ADD OBJECT grdResults AS Grid ;
WITH Height = 180, Width= 350, Top = 50, Left,;
ColumnCount = 3, DeleteMark = .F.,;
RecordSourceType = 4


PROCEDURE LOAD
OPEN DATABASE (HOME(2)+"Data\testdata.dbc")
ENDPROC
PROCEDURE doQuery
LOCAL lcID
This.BindControls = .T.
WITH This
lcID = ALLTRIM(.txtClaveProducto.value)
TEXT TO lcRecordSource NOSHOW TEXTMERGE PRETEXT 9
SELECT cust_id, Orders.order_id, Quantity FROM ordItems OI
INNER JOIN Orders ON OI.Order_ID=Orders.Order_ID
WHERE "<<lcID>>"== ALLTRIM(Product_ID)
GROUP BY Cust_id, Orders.order_id, Quantity
INTO CURSOR cResults
ENDTEXT
.grdResults.RecordSource = lcRecordSource
IF _TALLY = 0
MESSAGEBOX("No hay detalles que cumplan con su condicion")
ENDIF
ENDWITH
ENDPROC
PROCEDURE cmdBuscar.Click
Thisform.doQuery()
ENDPROC
ENDDEFINE

Hola!!! soy novata en esto de programar en VFP, y necesito ayuda
urgente... tengo una tabla de la cual necesito seleccionar 3 campos:
serial, part_no y Supplier ID, los cuales tienen que coincidir con una
clave (v_serial). El usuario teclea el v_serial en un TextBox y quiero que
en un grid, me aparezcan todos los registros que coincidan con ese número.
¿Cómo le hago para que la consulta aparezca en el grid?
Espero haberme dado a entender... muchas gracias de antemano.




ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º
Espartaco Palma Martínez
SysOp PortalFox.com
Acapulco, México
email:mexicoSINSPAM[Arroba]portalfox.com

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida