Otros temas que te pueden interesar
|
||||
| Tema | Autor | Foro | Respuestas | Último post |
| [Duda] No se imprime la base de datos | DestinedBroken | Visual COBOL y DEV-HUB | 17 | 18 de febrero de 2022 16:38 |
| [Duda] I/O Error al ejecutar una base de datos | DestinedBroken | Visual COBOL y DEV-HUB | 11 | 2 de febrero de 2022 11:13 |
| [Sintaxis] URGENTE: Base de Datos en MySql en Red | Hrmcobol | PowerCOBOL (ActiveX, v4 - v11) | 10 | 21 de agosto de 2021 15:30 |
| Base de datos .mdb | Lobosauseda | Bases de datos | 4 | 26 de agosto de 2019 09:36 |
| [Duda] Trabajar con Base de Datos (y no con indexados) | Anthony | AcuCobol | 3 | 19 de noviembre de 2016 21:20 |
![]() |
|
Patrocinador del Foro
|
Mi intencion es iniciar una busqueda por fechas . Lo interpreto como si fuera un fichero cobol indexado, es decir Siguiendo el ejemplo de Hrmcobol Código COBOL:
Aqui , funciona correctamente y cuando leo un registro , la fecha me aparece con formato yyyy/MM/dd Código COBOL:
El problema es que si quiero buscar fechas aunque el cmtext CmFecha-2 tenga un render yyyy/MM/dd me aparece un error en tiempo de ejecucion SQL error State 22005 native error code Controlador ODBC dBase No coinciden los tipos de datos en la expresion de criterios. Interpreto que es porque en la base el formato solo especifica D , y no puede comparar la busqueda por que yo lo intento con yyyy/MM/dd. Tambien lo he probado de varias maneras , pero sigue dandome error. En resumen lo que quiero hacer es poder interrogar la base de datos y quedarme o pasar una tabla cobol ( o fichero , o lo que sea ) los datos que cumpran la condicion para procesarlos. En este caso por fechas. Saludos Añadido despues de 5 minutos
Je, je, je , siempre sirven vuestras enseñanzas. Inicialmente lo que habia pensado hacer es leer toda la base dB y grabarla a un fichero cobol indexado. Proceso y supongo que todo me podria salir mas o menos correctamente. Pero pienso que realmente no se haria asi, Lo suyo seria actuar directamente sobre la base ( creo ) por esto os comentaba que no se como plantearme este reto, mi pensamiento sigue trabajando en el Rmcobol Dos, quisiera cambiar un poco el chip y aprender a trabajar de otra manera. Saludos Última edición por Breew fecha: 7 de junio de 2015 a las 21:42. Razón: Post añadido |
||||||||||
|
|
|
|
Administrador
![]()
|
Breew, la propiedad "Text" en un CmText obtiene valor sobre 8 en numérico, no coge los guiones/barras. Si en la tabla, el campo de la fecha lo tienes definido como DATE, no va a funcionar. Porque, que yo sepa, el tipo DATE en una tabla siempre lleva separadores, cual exactamente depende del formato. Por ejemplo el formato ISO es AAAA-MM-DD. Si le pones barras "/", va a dar error de formato.
Dicho esto, revisa el formato definido en la tabla. Y sea como sea que muestres las fechas en CmText, con STRING construye el formato de fecha esperado por la BBDD. Así no te dará error. ![]() NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
Patrocinador del Foro
|
Hola.
He seguido tus instrucciones y he salvado el error, pero no me funciona, no encuentro el fallo. Quizas no sepa bien como actua. Mi intencion es que haga la seleccion por fechas , le indico una fecha minima y quisiera que se situara en ella. A partir de ella , me hiciera un avance al siguiente registro que cumpliera el mismo requisito. Código COBOL:
Se posiciona en una fecha erronea :-¿? Y el avance de registro no funciona. Código COBOL:
|
|||||||||
|
|
|
|
Administrador
![]()
|
Breew, lo que yo te decía, que mirases cómo tienes definido el campo FECHA en la tabla de la base de datos, no en tu código COBOL. Además:
Prueba con: Código COBOL:
Por cierto, te compila con la Ñ ¿?!!! Nunca lo había probado.Ya me contarás ![]() NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
|||||||||
|
|
|
|
Patrocinador del Foro
|
Hola Kuk.
En la definicion del CmDb1 en FIELDS, el campo fecha lo detecta con formato yyyy/mm/dd. y en ejecucion , tanto con formato separado con guion o barra, no me da error de formato, simplemente se posiciona en el primer registro fisico de la base. Pero lo hace sin cumplir la condicion de que sea mayor que la fecha que le indico. No tengo ni idea del motivo porque no se posiciona segun la posicion. Quisiera adjuntaros la base, pero es excesivamente grande, y no tengo ninguna herramienta para editarla y poderos enviar algun registro grabado.
Por cierto la base dbf esta hecha bajo programacion del FoxPro 6.0 |
||||||||||
|
|
|
|
Patrocinador del Foro
|
Hola.
He limpiado la base de datos personales y la he subido a un dropbox. Si alguien quiere echarle un vistazo a ver porque no proceso las fechas por favor que me envie un privado y le doy las señas. Muchas gracias . |
||||||||
|
|
|
|
Gran amigo del Foro
Guru de COBOL ![]()
|
Breew,
Tenta o seguinte SQL Código SQL:
Atenção que o formato da data é MM/DD/AAAA Espero que resolva Saludos, Rui Pinto |
||||||||
|
|
|
|
Patrocinador del Foro
|
Muchas gracias. |
|||||||||
|
|
|
|
Forero Senior
![]()
|
Al mover los valores, utilizar mascara PIC 9999/99/99.
Yo tengo desarrollado unas rutinas para "descomponer" la mascara que recibe de la base de datos y volcarla a una variable PIC 9(8) en el orden que quiero que se muestre. Empresa de desarrollo de aplicaciones en COBOL. DASIJE INFORMATICA, S.L. C/ TOMAS BRETON 20 11406 JEREZ DE LA FRONTERA CADIZ Teléfono : 956 11 21 11 Web: http://www.dasije.es / DASIJE INFORMATICA E-m@il: clientes(@)dasije.es |
||||||||
|
|
|
![]() |
|
|
| Archivo - Cobol Foro | Contactar con Nosotros - Cobol Foro | |||||||