¿Qué código tengo que utilizar para hacer una búsqueda alfanumérica en Visual FoxPro?

Cual es el código para hacer una búsqueda alfanumérica por ejemplo:
MU1 como busco eso o como busco AG6 cual es el código para hacer una búsqueda de esos caracteres poniendo el código en un texbox
Otra pregunta de que manera puedo hacer una comparación. Tengo una tabla de calificaciones donde tengo los campos id_carrera, semestre, cal1, cal2, cal3 hasta cal7 y en otra tabla tengo las materias mat1, mat2 hasta mat7 y también tengo los campos id_carrera y semestre de que manera relaciono la mat1 con cal1 o bien si no se puede que a través del id_carrera y semestre me diga que materias tiene ok gracias de antemano.

1 respuesta

Respuesta
1
Para hacer una búsqueda puedes hacer lo siguiente, dependiendo de cómo esté configurado tu código:
Puedes usar el SET de filtrado: SET FILTER TO; como te muestro a continuación:
SELECT 1 && Seleccionas un área de trabajo
calif.dbf && Abres una tabla dentro de esa área
* Activas un filtro; que en este caso permitirá mostrar únicamente los registros en los cuales la cadena ?MU1? se halle dentro del campo id_carrera. Esto se puede mostrar con un BROWSE, por ejemplo. Para mostrar nuevamente todos los registros se deberá usar SET FILTER TO (Así, sin parámetros).
SET FILTER TO ?MU1? $ id_carrera && Esto es suponiendo que id_carrera sea el campo donde se desea buscar la cadena: ?MU1?
Otra forma de selección de registros puede hacerse así:
*Almacenamos el total de registros de la tabla en una variable
STORE RECCOUNT() TO totreg
*Revisamos que haya al menos un registro en nuestra tabla
IF totreg > 0
*Hacemos una revisión del o los campos requeridos, registro por registro
FOR i = 1 TO totreg
GO RECORD i && Movemos el puntero de registros
IF ?MU1? $ id_carrera && Preguntamos si la cadena buscada está en el campo del registro activo
Mi código...
Endif
Endfor
Endif
Por tu otra cuestión; no se puede hacer una comparación de datos que no son del mismo tipo: materias y calificaciones; ¿Pero si puedes hacer una unión o una consulta para crear una? ¿Vista de los datos?(Browse o Report Form).
SELECT 1
Calif.dbf
SELECT 2
Materias.dbf
Debes intentar con el comando Select SQL, más o menos como sigue:
SELECT * ;
FROM calif.dbf, materia.dbf ;
WHERE calif.id_cvealu = material.id_cvealu ;
ORDER BY calif.appaterno, calif.apmaterno, calif.nombre ;
INTO CURSOR temporal
Lo anterior significa:
Selecciona todos los registros ;
De las tablas calif.dbf y materia.dbf ;
Donde calif.id_cvealu sea igual a materia.cvealu ;
Ordenálos por apellido paterno, ap maternos y el nombre ;
Coloca el resultado en una tabla virtual que llamarás Temporal.dbf. Puedes mostrar los datos con Browse o activando la consulta hacer un Reporte: Los campos disponibles para el reporte serán los de la tabla virtual; que son los de las dos tablas juntas (Ojo la tabla es virtual; pero la puedes usar como una tabla normal; sin embargo, al cerrar la ventana donde esté, desaparecerá). Al presentar tu reporte en la pantalla o enviarlo a la impresora; primero deberás activar la consulta por medio de tu código para que el reporte muestre los datos correctos y más actuales.
En lo anterior observarás que imaginé un campo para identificación del alumno en ambas tablas (carrera y materia no lo identifican como es debido, ya que puede haber alumnos que coincidan en ambas; pero si lo tienes usa el tuyo)
Como mi bebé ha estado un poco enfermito, trataré de responder a la brevedad posible. Hasta pronto y no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas