Página 1 de 1
Crear un filtro de búsqueda en una base dBase
Publicado: 16 Nov 2011, 13:24
por Esgrimidor
Tengo una base dBase y quiero buscar los registros dentro de ellas que cumplan
RECTYPE = "L"
ADDRESS1 está vacío o no contiene dato alguno.
ambos son campos de texto sin más.
Existe alguna rutina de autoit que maneje campos de bases de datos ?
Gracias
Re: Crear un filtro de búsqueda en una base dBase
Publicado: 16 Nov 2011, 16:54
por Jonny
que base de datos quieres tratar?.
Mysql tiene montones de sentencias para filtrar la búsqueda...
Salu2!
Re: Crear un filtro de búsqueda en una base dBase
Publicado: 16 Nov 2011, 17:09
por arkcrew
Si la base de datos es MySQL, puedes mirar la libreria
MySQL.au3, si es así tu base de datos, aqui tienes un post con todo lo necesario para bajar la librería y las dlls
http://www.autoitscript.com/forum/topic ... ysql-udfs/
En caso que sea una base de datos hecha con autoit, puedes recurrir a la ayuda e informarte del funcionamiento del
SQLite que trae Autoit.
En caso que sea otro tipo de base de datos facilitanos más datos y veremos que se puede hacer..
Saludos!
Re: Crear un filtro de búsqueda en una base dBase
Publicado: 16 Nov 2011, 21:31
por Esgrimidor
Gracias a los dos.
Veo que tiene que estar a user defined function por medio, como con mySql, excel, etc.
Re: Crear un filtro de búsqueda en una base dBase
Publicado: 17 Nov 2011, 09:32
por Ximorro
Creo que os habéis despistado con el tipo de base de datos, ha dicho claramente que es
dBase
No me suena que haya una DLL específica para conectarse a esta base de datos, como hay para MySQL, pero en Windows siempre puedes conectar la BD por ODBC y acceder por ahí. No lo he hecho nunca pero se hace con el objeto
ADODB.
Aquí hay un ejemplo sencillo que se conecta a una BD Postgres, pero como la tiene por ODBC el mecanismo es igual con una dBase (excepto los parámetros de conexión, claro. Igual en dBase no hace falta usuario/contraseña si tienes tablas dbf sueltas, por ejemplo)
http://www.autoitscript.com/forum/topic ... -database/
Ahí hace una consulta SQL. Lo del RECTYPE no sé cómo se mirará, pero saber si ADDRESS1 no tiene datos sí se puede saber con SQL ¿no?
Para una librería completa de acceso a ODBC (o BD de MSAccess, que para algo ADODB es de Microsoft) está por ejemplo esto:
http://www.autoitscript.com/forum/topic ... onnection/
¡Ya nos dirás!
Re: Crear un filtro de búsqueda en una base dBase
Publicado: 17 Nov 2011, 10:16
por Esgrimidor
Voy para allá
Muchas gracias.
No dejaré de comentar tras dar el garbeo de rigor.
Re: Crear un filtro de búsqueda en una base dBase
Publicado: 17 Nov 2011, 10:31
por arkcrew
Jajaja, que fallo, yo entendí dbase como abreviación de DataBase, osea una base de datos que no se especifica en que está diseñada, culpa mía por no leer bien ;)
Saludos!
Re: Crear un filtro de búsqueda en una base dBase
Publicado: 21 Nov 2011, 18:39
por BasicOs
Hola, si buscas dbase en post antiguos hay unas cuantas rutinas. Habia una que a través de funciones generaba un fichero.prg de dbase y luego lo arrancaba, simulando un acceso a la base de dbase, y devolviendo los datos en un fichero ascii, que podía ser manipulado por autoit.
Es decir, piensas que es autoit, pero es un wrapper para dbase, no obstante también lo puedes hacer creando un prg, leyendolo en una variable, reemplazar el texto que buscas, y luego grabar el fichero.prg.
Con run() puedes arrancar dbase fichero.prg y tienes hecha la busqueda. (añadiendo en dbase "set alternate to fichero.txt" puedes hacer que las salidas de datos con el comando "?" y LIST (listar) se vuelquen a un fichero de texto)
Como ves es bien sencillo crear un form en autoit, y manejar detrás una base con dbase.exe,
Ejemplo, algo parecido a:
Código: Seleccionar todo
USE PEOPLE
; Ejecuta el SELECT:
LIST OFF NAME,AGE FOR RECTYPE = "L" .and. .not. ADDRESS1
Fuente:
http://www.emesn.com/autoitforum/viewto ... t=dbase#p4
y
http://www.emesn.com/autoitforum/search ... e&start=20
Salu22:)
AQUI:
Re: Crear un filtro de búsqueda en una base dBase
Publicado: 22 Nov 2011, 00:08
por Esgrimidor
Ejem.
Bueno, ya lo miraré.
Deja ver si me arranco por algún lado.