In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

MemDataset

Foro de Xailer profesional en español
Responder
Fredy
Mensajes: 199
Registrado: Mié Mar 29, 2006 1:28 am

MemDataset

Mensaje por Fredy »

Hola,
Tengo un MemDataset que está vací­o y al intentar hacer un Append me salta
un error tal que así­.
Subsistema: BASE
Código de error: 1004
Estado: .F.
Descripción: Message not found
Operación: TMemDataSet:FFINAL
Argumentos: [ 1] = Tipo: N Valor: 0
Fichero:
En cambio, si el memdataset tiene algún dato funciona bien.
Un saludico,
Fredy
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

MemDataset

Mensaje por jose.luis »

Hola Fredy,
¿Como has creado el MemDataSet?
Saludos,
José Luis Capel
"Fredy" <fredy@aglsl.com> escribió en el mensaje
news:[email=a20b86f336708c929aeb7353552@news.xailer.com...]a20b86f336708c929aeb7353552@news.xailer.com...[/email]
> Hola,
>
> Tengo un MemDataset que está vacío y al intentar hacer un Append me salta
> un error tal que así.
> Subsistema: BASE
> Código de error: 1004
> Estado: .F.
> Descripción: Message not found
> Operación: TMemDataSet:FFINAL
> Argumentos: [ 1] = Tipo: N Valor: 0
> Fichero:
> En cambio, si el memdataset tiene algún dato funciona bien.
>
> Un saludico,
> Fredy
>
>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

MemDataset

Mensaje por ignacio »

Fredy,
Un dataset vacio es sencillamente una matriz en blanco. Es necesario
indicarle exactamente los campos al MemDataset. Mandanos un pequeño ejemplo
de lo que estás haciendo para echarle un vistazo.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Fredy" <fredy@aglsl.com> escribió en el mensaje
news:[email=a20b86f336708c929aeb7353552@news.xailer.com...]a20b86f336708c929aeb7353552@news.xailer.com...[/email]
> Hola,
>
> Tengo un MemDataset que está vacío y al intentar hacer un Append me salta
> un error tal que así.
> Subsistema: BASE
> Código de error: 1004
> Estado: .F.
> Descripción: Message not found
> Operación: TMemDataSet:FFINAL
> Argumentos: [ 1] = Tipo: N Valor: 0
> Fichero:
> En cambio, si el memdataset tiene algún dato funciona bien.
>
> Un saludico,
> Fredy
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Fredy
Mensajes: 199
Registrado: Mié Mar 29, 2006 1:28 am

MemDataset

Mensaje por Fredy »

Hola,
La cosa es más o menos así­:
--------------------
:oSqlQuery1:lOpen := .f.
:oSqlQuery1:cSelect :="SELECT *, Importe1+Importe2+Importe3 AS Total FROM
Desglose WHERE Prevision = 1"
:oSqlQuery1:lOpen := .t.
aDatos := :oAdoDataSource1:QueryArray( :oSqlQuery1:cSelect )
:oMemDataSet1:Open( aDatos, {"Desglose", "Prevision", "Finicial", "fFinal" ,;
"Descripcion","Importe1","Importe2","Importe3",;
"Total" } )
-----------------
Cuando el select me devuelve datos, funciona todo bien, pero.. Si sel select
no devuelve ningún dato (porque no existe nada con la prevision=1) es cuando
falla.
Un saludico,
Fredy
Fredy
Mensajes: 199
Registrado: Mié Mar 29, 2006 1:28 am

MemDataset

Mensaje por Fredy »

Hola,
Es como si al estar en blanco y no tener ninguna lí­nea, no "entendiera" los
nombres de los campos.
De momento lo he solucionado así­:
--------
IF Len( ::oMemdataset1:aData ) = 0 // Está vacio
aDatos :={{0,0,otro dato..., otro }}
::oMemDataSet1:Open( aDatos, {"Desglose", "Prevision", "Finicial", "fFinal"
,;
"Descripcion","Importe1","Importe2","Importe3",;
"Total" } )
ELSE
::oMendataset1:Append()

.....
ENDIF
-------
Un saludico,
Fredy
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

MemDataset

Mensaje por ignacio »

Fredy,
Intente pasarle la estructura interna de los datos con el método
GetStructFrom()
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Fredy" <fredy@aglsl.com> escribió en el mensaje
news:[email=a20b86f3368c8c92a17f5529ef1@news.xailer.com...]a20b86f3368c8c92a17f5529ef1@news.xailer.com...[/email]
> Hola,
>
> La cosa es más o menos así:
>
>
> --------------------
> :oSqlQuery1:lOpen := .f.
> :oSqlQuery1:cSelect :="SELECT *, Importe1+Importe2+Importe3 AS Total FROM
> Desglose WHERE Prevision = 1"
> :oSqlQuery1:lOpen := .t.
> aDatos := :oAdoDataSource1:QueryArray( :oSqlQuery1:cSelect )
> :oMemDataSet1:Open( aDatos, {"Desglose", "Prevision", "Finicial", "fFinal"
> ,;
>
> "Descripcion","Importe1","Importe2","Importe3",;
> "Total" } )
>
> -----------------
>
> Cuando el select me devuelve datos, funciona todo bien, pero.. Si sel
> select no devuelve ningún dato (porque no existe nada con la prevision=1)
> es cuando falla.
>
>
> Un saludico,
> Fredy
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder