Hola ojala puedas ayudarme. Tengo esta consulta en sql: Select materia from materias where codmat=thisform.cbocodmat1.value INTO CURSOR.mat1 thisform.txtmateria1.value=cursor.mat1 thisform.refresh() al probar salta el error de sintaxis marcando la linea: Select materia from materias where codmat=thisform.cbocodmat1.value INTO CURSOR.mat1 no entiendo q estoy haciendo mal. Desde ya gracias
1 respuesta
Respuesta de czuluaga0210
1
1
czuluaga0210, Soy Analista y Programador de PC's, tengo experiencia con el...
Si la Sentencia es la que colocas allí, Es el punto que se encuentra después del INTO CURSOR, allí debe ir un espacio y no un punto.
Gracias lo probé y funciona pero ahora el problema esta en que no muestra los datos en textbox Me explico: Desde un combo1 taigo el dato (codmateria de la tabla dicta) a un combo2 con una consulta sql similar a la de la pregunta, claro con las propiedades que corresponden al control combo1: select codmat from dicta where this.value=legdoc; order by codmat into cursor mat1 ; thisform.cbocodmat1.rewsource='mat' Tomo este dato (codmateria) que se muestra en combo2 y en principio quiero mostrar el nombre de la materia asociada al codmateria de la tabla materia con un filtro y mostrarlo en textbox1 pero no funciona en su lugar lo que hace es mostrar el nombre dl materia asociada a los registro de la tabla materia de manera ordenada (ascendente )en todos los casos. Por ej. la primer consulta muestra l codmat 6 en primer termino y l segundo consulta muestra la primer materia de la tabla materias y así sucesivamente. ¿No entiendo si estoy haciendo mal algo o me esta faltando algo en la segunda consulta? Otra pregunta abusando de la amabilidad. Avanzando con mi proyecto, en otro formulario hago una consulta sql en el change de un textbox donde quiero que m muestre los datos de dos tablas en un listbox. De la tabla planilla_analitica los campos codmat, condición y de la tabla materias los compos codmat, materia para esto hago una consulta anidada: SELECT codmat,condicion as cregular ; FROM planilla_analitica ; WHERE leg=this.value ; INTO CURSOR regular SELECT codmat,materia as cnombre ; FROM materias ; (*)WHERE materias.codmat=planilla_analitica.codmat ; INTO CURSOR nombre SELECT * FROM regular ; UNION ; select * FROM nombre ; INTO CURSOR crendir thisform.lstrendir.rowsource='crendir' (En teoría esta consulta tendría que mostrar 3 columnas codmat, condición, materia solo muestra 2 codmat y condición, materia en la 2da columna) Funciona a medias el problema esta en que no muestra ls nombres de las meterías que correspond a todos los registros extraídos solo l nombre dl primer materia del primer registro dl tabla materias y luego los registros de la otra tabla en todas las consultas. Intuyo que l error esta en linea (*) Seria de gran ayuda tu aporte. Garcías
No logre entender el primer punto. Para el segundo, te cuento que las uniones son por campos más no por columnas y lógicamente el Cursor está haciendo lo correcto, pues en las 2 consultas estas escogiendo 2 campos y esto es lo que muestra el cursor (2 Columnas) y al momento de organizar la union tomas los datos de la primera tabla y luego los de la segunda y en ambas existen 2 columnas, Que no se llamen de la misma manera, eso el cursor no lo tiene en cuenta, el lo que realiza es una UNION. El te los ordena según la union sin tener en cuenta el nombre de la columna, pues esto no lo valida.