Buenas estoy haciendo un sistema de facturación con mysql y fox pro para una clínica y necesito un ejemplo para guiarme porque no tengo mucho conocimiento sobre este tema... Gracias sera de gran ayuda.
1 Respuesta
Respuesta
1
1
Anónimo
Respecto a tu consulta, ¿necesitás un ejemplo específicamente de que? ¿De la conexión entre visual FoxPro y MySql o un ejemplo de un sistema completo? Porque dispongo de uno para clínicas pero es demasiado grande como para hacer un envío vía e-mail. Salu2 y exitos!
Bueno en el sistema que estoy realizando logre hacer la conexión con mysql pero necesito mostrar los datos de mi consulta en un grid en otro formulario y no se como... Este es el código de mi consulta y se encuentran en un botón... ¿el me muestra los datos por el brow pero quiero eliminar el brow y mostrarlos en un grid como puedo hacer?... lcStringCnxLocal = "DRIVER={MySQL ODBC 3.51 Driver};" + ; "SERVER=localhost;" + ; "UID=root;" + ; "PWD=;" + ; "DATABASE=premiumcli;" + ; "OPTIONS=131329;" SQLSETPROP(0,"DispLogin" , 3 ) xCONTROL = SQLSTRINGCONNECT(lcStringCnxLocal) if xCONTROL > 0 DO CASE CASE thisform.optiongroup1.option1.VALUE = 1 if sqlexec(xCONTROL,"select codigo, nombre from premiumcli.cliempre where tipo=1","clie")>0 sele clie brow normal Endif CASE thisform.optiongroup1.option2.VALUE = 1 if sqlexec(xCONTROL,"select nombre, codigo from premiumcli.cliempre where tipo=2","clie")>0 sele clie brow normal Endif CASE thisform.optiongroup1.option3.VALUE = 1 if sqlexec(xCONTROL,"select nombre, codigo from premiumcli.cliempre where tipo=3","clie")>0 sele clie brow normal Endif Endcase Endif
Ahora entiendo bien lo que necesitas, si ya tenés la consulta en un cursor o tabla lo que tenés que hacer es armar un form que tenga un objeto grid dentro. En las propiedades de la grilla tenés que setear lo siguiente ColumnCount = 2, Recordsource = "clie"... luego en cada controlsource de las columnas pones "clie.nombre" y "clie.código" respectivamente para asignar campos. Y entre otras tienes miles de propiedades para modificar la grilla y hacerla dinámica. Una vez que tienes el form armado que quedó como te guste lo que hacés es en el programa en vez de hacer un brow normal haces : loGrilla = CREATEOBJECT("nombre_form_grilla") loGrilla.show() eso es lo básico para mostrar los datos sin hacer un brow, si necesitas saber de alguna propiedad en particular del objeto grid consultame, y si no podés entender bien como hacer esto pasame un email que te envío un ejemplo. Salu2 y exitos!
Gracias amigo me funciono perfect pero quería pedirte otro favor si no es mucha molestia.. yo quiero seleccionar los datos de mi grid y mostrarlos en mi formulario donde hago la consulta, ¿cómo puedo hacer?... Yo utilice este código con el brow para mostrar el nombre y el código en unas casillas de texto dodefault() Thisform.txtCliente.ReadOnly = .F. thisform.txtNombre.ReadOnly = .F. Thisform.txtCliente.value = clie.codigo thisform.txtNombre.value = clie.nombre Thisform.txtCliente.controlsource = '' thisform.txtNombre.controlsource = '' Thisform.REfresh() Thisform.txtCliente.Setfocus() Yo hacia la consulta y seleccionaba una fila y se mostraban los datos en la casilla txtCliente y txtCodigo y una vez más gracias...
Tienes que usar solamente el controlsource... ejemplo: thisform.txtNombre.ControlSource = "clie.nombre" thisform.txtCliente.ControlSource = "clie.codigo" Y si querés el readonly para que sea solo lectura. Como sugerencia no hagas el set focus en los Txt, deja el foco en la grilla y lo que tenés que hacer es buscar dentro de los eventos AfterRowColChange() y escribir en el código el thisform. Refresh() Salu2 y exitos!
hola de nuevo que tal gracias por tu respuesta, sabes en mi boton de consulta copie el thisform.txtCliente.controlsource ="clie.codigo" y thisform.txtNombre.controlsource ="clie.nombre" y en mi grilla en el segundo formulario en la propiedad AfterRowColChange() copio el thisform.refresh, hago mi consulta pero no me permite seleccionar un registro cualquiera, solo se muestra en el primer formulario el primer registro que puedo hacer?....
Eso te sucede porque la grilla esta deshabilitada. Asegurate que tanto la grilla como todas sus columnas tengan la propiedad enabled = .t. y readonly = .t. Salu2 y Exitos!
Muchísimas gracias por su ayuda me sirvió de mucho ya logre mostrar los valores en mi formulario, realmente gracias estaba muy atascado sin saber que hacer, es que soy nuevo en esto de visual, y ahora es que me falta por hacer pero cada día se aprende algo nuevo y su conocimiento me ayudo bastante... gracias...