Se puede hacer ésto desde Five?

Se puede hacer ésto desde Five?

Postby JoseLuis » Thu Jun 12, 2008 11:53 am

Hola amigos:

Vengo utilizando ADRDD con MDB y con MySQL, para importar datos a DBF, y para Browses, pero ahora necesito lo siguiente:
Tengo una MDB "Registro", con una tabla "Paquetes", que contiene campos de pesadas de paquetes, Fecha y hora, volumen, peso, etc.

Necesito hacer una serie de agrupaciones por última pesada + codigo de error, para que me de de un paquete la última pesada cuyo codigo de error sea menor de 5 (p.e.), y luego agruparlos por expedición, y generarme un fichero txt que yo trataría en una dbf temporal.

Como yo no se hacer ésto directamente, me han creado unas consultas dentro de la MDB que lo hace.

De que manera puedo llamar yo a ésa consulta que está dentro de la MDB para importarla a mis dbf's?, o tendría que hacerlo mediante ADORDD utilizando filtros?.

Por si alguien quiere molestarse, adjunto el link para bajarse la MDB.


http://rapidshare.com/files/121906762/Registro.mdb.html


Saludos

Jose Luis
JoseLuis
 
Posts: 427
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Postby Biel EA6DD » Thu Jun 12, 2008 2:20 pm

Las consultas de los MDB, no son mas que sentencias SQL, puedes abrir el MDB con accesss, abrir la consulta en modo diseño, y seleccionar Vista SQL. Aqui tendras la cadena SQL, con esta sentencia y usando ADO, podras acceder directamente a los datos.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Postby JoseLuis » Fri Jun 13, 2008 8:59 am

Una de las sentencias SQL que necesito es:
Code: Select all  Expand view  RUN
SELECT Paquetes.Expedicion, Paquetes.Bulto, Last(Paquetes.Fecha) AS UFecha, Last(Paquetes.Peso) AS UPeso, Last(Paquetes.Volumen) AS UVolumen ;
FROM Paquetes ;
WHERE Paquetes.CErr<=5 :
GROUP BY Paquetes.Expedicion, Paquetes.Bulto



Pero me da el siguiente error al compilar en la última línea GROUP BY ....
    C:\fuentes\xharbour\GESPAQ08\PRG\access1.prg(12) Error E0061 Illegal character '.'.


Sin embargo si ejecuto esta consulta desde access, no me da ningun error, y funciona correctamente.

Saludos

Jose Luis
JoseLuis
 
Posts: 427
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Postby Carlos Mora » Fri Jun 13, 2008 9:13 am

Hola Jose Luis,

prueba poniendo alias a las columnas que referencias en el GROUP BY , es decir

SELECT Paquetes.Expedicion AS UExped, Paquetes.Bulto AS UBulto ....
GROUP BY UExped, UBulto

SAludos,

Carlos.
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Postby leandro » Fri Jun 13, 2008 9:43 am

Amigo estas colocando entre comillas la sintaxis de la consulta?
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1682
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Postby JoseLuis » Fri Jun 13, 2008 4:18 pm

Ya está,

Tenía un fallo de lo más tonto, tenía una coma donde debía haber un punto.

Otra pregunta sobre ésto.

Ahora lo que quiero es copiar todos los registros a un fichero txt con un ancho de campos determinado.

Si hago copy to Fichero sdf, me copia los registros guardando el ancho que tiene cada campo.

Esto se puede delimitar a la hora de hacer el select?.

He probado POR EJEMPLO con SELECT SUBSTR(UltimoRegistro.Expedicion,1,12), para que me seleccione éste campo con un ancho de 12, y me da un error de FIVEODBC que me dice que la función no está definida en la expresión.

Alguna idea?

Saludos

Jose Luis
JoseLuis
 
Posts: 427
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Postby JoseLuis » Fri Jun 13, 2008 4:38 pm

Me respondo

Format(campo,'0000')


Un Saludo

Jose Luis
JoseLuis
 
Posts: 427
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 48 guests