FoxPro/Visual FoxPro - Ayuda Sentencia SQL Busqueda

 
Vista:
sin imagen de perfil

Ayuda Sentencia SQL Busqueda

Publicado por Rafa (21 intervenciones) el 04/12/2010 18:30:11
Hola que tal, disculpen amigos lo que pasa es que tengo una duda con un par de consultas SQL, miren yo tengo un sistema de inventarios que controlo con los compandos de busqueda SEEK y SCAN, entre otros, pero quiero usar consulta SQL para sustutuir estos comandos, ya que SQL es mas rapido y confiable, ademas de que SQL utiliza las tablas solo cuando se va a ejecutar la instruccion.

El tema es que quiero que el resultado de una sentencia se vea reflejada en los Textos, es decir:

Select * From Productos Where Productos.Cve = Thisform.text1.value;

Bueno con esta sentencia yo selecciono los datos, ahora como le hago para poner:

Nombre = Text1
Descripcion = Text2
Precio = Text3
Proveedor = Combo1
.
.
.
Etc.

Bueno espero y me explique bien jejeje, espero y me puedan hechar la mano amigos, se que es algo bien facil porque lo he hecho en Visual Basic y en C#.net, pero en fox nomas no me sale jejej ayuda plis.

Gracias
Rafa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda Sentencia SQL Busqueda

Publicado por xx (378 intervenciones) el 05/12/2010 01:55:06
bueno una vez ejecutada la consulta podrias seleccionar la tabla o cursor creado y enviarlo registro por registro a los controles de visualización ejemplo:

SELECT ... FROM PRODUCTOS INTO CURSOR XCURSORX
*suponiendo que el cursor o tabla tiene estos campos nombre,descripcion,precio,proveedor y trae un solo registro
WITH THISFORM
.TEXT1.VALUE=XCURSOR.NOMBRE
.TEXT1.REFRESH()
.TEXT2.VALUE=XCURSOR.DESCRIPCION
.TEXT2.REFRESH()
.TEXT3.VALUE=XCURSOR.PRECIO
.TEXT3.REFRESH()
...
ENDWITH
Suponiendo que estos controles estan formateados y seteados para alojar los tipos de campos respectivos

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda Sentencia SQL Busqueda

Publicado por Rafa (21 intervenciones) el 06/12/2010 20:10:52
Orales, fijate que si tenia esa idea de nada mas vaciarlos a un cursor, asi como cuando mandas un reporte para imprimirlo, gracias por su respuesta.

Rafa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda Sentencia SQL Busqueda

Publicado por victor perez (278 intervenciones) el 07/12/2010 00:56:11
HOla,

Por Default, al hacer una consulta con SQL command, envia los resultados a un cursor con lo cual puedes manipular la información de la manera que quieras...

Puedes alimentar un LIstbox, hacer calculos, hacer reportes, etc.

Victor - panama -
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda Sentencia SQL Busqueda

Publicado por victor perez (278 intervenciones) el 07/12/2010 01:29:40
Hola nuevamente,

Olvide comentarte que la formula por XX funciona si la consulta solo arroja un solo registro.

Lo que se hace es usualmente enviar todo a un listbox y de alli al hacer Doble Click en cualquier registro se extra la informacion que se pasa un formulario.

En mi caso siempre uso PAGEFRAME con dos Paginas donde al hacer doble click en cualquier registro del listbox en la pagina2 se pasa la info al formulario que está en la pagina1.

cuando se hace el dblClick se le indica al sistema que descargue el cursor donde estan los datos hacia la memoria y entonces los campos del formulario sean reemplazados por la informacion del registro en memoria.

Algo asi

Select _cursor
Scatter memvar ** Algunos no gustan usar esto pero para mi aun es practico **

Thisform.pageframe.page1.campo1.value=m.campo1
Thisform.pageframe.page2.campo2.value=m.campo2...etc

tambien puedes hacerlo sin usar el scatter memvar...pero tendrias que tener en cuenta que debes asignar los campos del cursor a cada objeto. Esto lo evito asignando controlsource a cada objeto que sea "m." + nombre del campo.

Algunos no le gusta este sistema pero a mi me ha resultado siempre y no tengo que estar pendiente si asigne o No un campo del cursor a determinado objeto.

saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar