Portada
Banner
Portada Foros Manuales Enlaces Email
clear1x1.gif clear1x1.gif clear1x1.gif
clear1x1.gif
clear1x1.gif

Portada
Foros
Manuales
Enlaces
Distribuidores
Precios
Sugerencias

Contacto

 

clear1x1.gif clear1x1.gif
 Guía rápida de inicio al GUI de Visual Pro/5 (Parte 61/68)
Primero Previo Próximo Último

El que sigue nos muestra los datos provenientes desde dBASE.

0010 REM "Listar Registros de archivo.dbf Banco Popular"
0020 BEGIN
0030 SQLOPEN (1)"dBASE Files"
0040 SQLPREP (1)"select * from 109362"
0050 DIM r$:SQLTMPL(1); SQLEXEC (1)
0060 LET r$=SQLFETCH(1,ERR=final)
0070 PRINT r.cedula$,"  ",PAD(r.nombre$,32),r.ahotot
0080 GOTO 0060
0090 final:
0100 END

Con los ejemplos mostrados se muestra como se pueden efectuar las operaciones básicas de acceso a una determinada Base de Datos, utilizando instrucciones básicas y estándar de SQL. Procesos más sofisticados pueden ser realizados siempre y cuando el manejador de la Base de Datos en uso externo lo permita.

Para aquellos que aún no usan SQL recuerden que una de las ventajas principales de usar SQL en sus aplicaciones es la independencia de Base de Datos que se obtiene. Es decir, si se usa SQL para el manejo de archivos su aplicación es portátil y potencialmente se puede instalar con una Base de Datos externa como Oracle, Sybase, Fox, etc. Esto puede hacer su aplicación más mercadeable entre usuarios que tengan aplicaciones en otras bases de datos. Por ejemplo, puede vender un sistema de Nómina que actualice un Mayor General residente en Oracle.

El uso de SQL requiere cambios en la aplicación ya que los comandos y manejo de archivos es diferente. Por lo general deben asumir un tiempo de aprendizaje si no han usado SQL anteriormente. También SQL es menos eficiente que el acceso normal que siempre ha ofrecido el BBx (READ RECORD, WRITE RECORD, etc.) por su estilo de manejo de conjuntos de registros (record sets) en lugar de registros individuales. Por otro lado, al manejar conjuntos puede ser más eficiente en modo cliente/servidor ya que se minimiza la actividad entre el servidor y el cliente al procesar grupos de registros. Con la tendencia hacia procesadores más veloces la menor eficiencia en acceso navegacional es en algunos casos un factor de menor peso que lograr portabilidad en el sistema de archivos.

El ODBC de Basis emite una documentación que muestra la sintaxis de SQL que permite el Visual PRO/5, para trabajar con la Base de Datos nativa o propia del Visual PRO/5.

Dynamic Data Exchange

Dynamic Data Exchange es una facilidad que también nos brinda el Visual Pro/5, ya que con esta opción podemos accesar documentos que estén cargados en la memoria de la estación de trabajo, como lo son documentos de Word, Excel, Lotus y otros. Por ejemplo, desde Excel podemos abrir una hoja electrónica cargada de datos que perfectamente podemos leer o modificar desde Visual Pro/5. El requerimiento para este tipo de programa es que por aparte se necesita conocer los parámetros necesarios para interactuar con el documento en memoria, ya que estos parámetros no son algo propio del Visual Pro/5.

El programa que a continuación se muestra permite cargar las celdas de una hoja que tengamos abierta con Excel. Está bastante documentado con REMs que van explicando el proceso. Note que en la línea 0130 se hace la advertencia de que el programa debe condicionarse para cuando se usa Excel en español o en inglés.

0010 REM "Muestra como CARGAR datos en una hoja de Excel en memoria
0020 REM "Se requiere que el archivo Excel exista y que Excel este abierto
0030 BEGIN
0040 REM "La siguiente linea comprueba que Excel este abierto
0050 LET xls=UNT; OPEN (xls,MODE="DDECLIENT",ERR=xls_no_abierto)"EXCEL:SYSTEM"
0060 INPUT "Dar nombre del archivo de Excel (ENTER=Ninguno): ",arch$:(""=final
0060:,LEN=1,18); IF POS(".xls"=CVS(arch$,8))=0 THEN LET arch$=arch$+".xls"
0070 LET cmd$="[OPEN(""C:\temp\"+arch$+""")]"+$00$
0080 REM "La siguiente linea carga el archivo indicado en memoria
0090 WRITE RECORD(xls,KEY="DDE_EXECUTE",ERR=xls_no_abierto)cmd$
0100 CLOSE (1); REM "Despues de ponerlo en memoria hay que cerrar el canal
0110 REM "La siguiente linea abre el acceso hacia el Excel en memoria
0120 OPEN (1,MODE="DDECLIENT")"EXCEL:c:\temp\"+arch$
0130 REM "Abajo, para Excel en Ingles debe usar RxCx y para Espanol FxCx
0140 REM
0150 LET cli=UNT; OPEN (cli)"CLIENTE.tpl"; FIND (cli)tpl$; CLOSE (cli); OPEN (
0150:cli)"CLIENTE.dat"; DIM cli$:tpl$
0160 REM
...

Primero Previo Próximo Último

Portada -- Foros -- Manuales -- Enlaces-- Sugerencias
Para comentarios: webmaster@essnet.com

clear1x1.gif
clear1x1.gif
clear1x1.gif
Portada Email Foros