Página 1 de 1

Se puede

Publicado: Mié May 24, 2006 12:04 pm
por Paco V
Quisiera hacer esto para que me sirva la misma funcion.
Como lo podria hacer?
Paco
if ::oFolder1:nindex = 1
miALIAS := "::oDbfDataSet1"
elseif ::oFolder1:nIndex = 2
miaLIAS := "::oDbfDataSet2"
elseif ::oFolder1:nIndex = 3
miALIAS := "::oDbfDataSet3"
endif
WITH OBJECT mialias
IF :RecLock()
FOR nFor := nCurField + 1 TO auxVALOR
FieldPut( nFor,VALUE )
NEXT
:RecUnLock()
ENDIF
END WITH

Se puede

Publicado: Mié May 24, 2006 12:45 pm
por Francisco Sanchez
Podrias hacer esto, aunque seguro que te van a mostrar alguna solucion mas
elegante :
LOCAL nFolderIndex := ::oFolder1:nIndex
miALIAS := "::oDbfDataSet" + Str( nFolderIndex, 1 )
y luego todo lo demas
Un saludo

Se puede

Publicado: Mié May 24, 2006 12:48 pm
por Francisco Sanchez
disculpa lei mal tu mensaje, claro el problema lo tienes en que oDbfDataset
es un objeto no una cadena de texto yo para casos parecidos utilizo &( lo
que sea ) aunque creo que esta mas o menos en desuso por todo el mundo, y no
se si funcionaria aqui.
Un saludo

Se puede

Publicado: Mié May 24, 2006 1:19 pm
por jfgimenez
Paco,
> Quisiera hacer esto para que me sirva la misma funcion.
>
> Como lo podria hacer?
>
> Paco
>
> if ::oFolder1:nindex = 1
> miALIAS := "::oDbfDataSet1"
> elseif ::oFolder1:nIndex = 2
> miaLIAS := "::oDbfDataSet2"
> elseif ::oFolder1:nIndex = 3
> miALIAS := "::oDbfDataSet3"
> endif
> WITH OBJECT mialias
> IF :RecLock()
> FOR nFor := nCurField + 1 TO auxVALOR
> FieldPut( nFor,VALUE )
> NEXT
> :RecUnLock()
> ENDIF
> END WITH
Simplemente quitas las comillas de las tres líneas de los if:
if ::oFolder1:nindex = 1
miALIAS := ::oDbfDataSet1
elseif ::oFolder1:nIndex = 2
miaLIAS := ::oDbfDataSet2
elseif ::oFolder1:nIndex = 3
miALIAS := ::oDbfDataSet3
endif
....
--
Un saludo,
José F. Giménez

Se puede

Publicado: Mié May 24, 2006 1:21 pm
por ignacio
Paco,
El primer paso sería quitar las comillas a ::oDbfDataSet?. Luego veo unos
cuantos errores de bulto de fácil solución que tu mismo supongo encontrarás
rápido, como por ejemplo: A Fieldput le falta un ':' delante.
Saludos,
"Paco V" <ssi@ono.com> escribió en el mensaje
news:44742fc7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Quisiera hacer esto para que me sirva la misma funcion.
>
> Como lo podria hacer?
>
> Paco
>
> if ::oFolder1:nindex = 1
> miALIAS := "::oDbfDataSet1"
> elseif ::oFolder1:nIndex = 2
> miaLIAS := "::oDbfDataSet2"
> elseif ::oFolder1:nIndex = 3
> miALIAS := "::oDbfDataSet3"
> endif
> WITH OBJECT mialias
> IF :RecLock()
> FOR nFor := nCurField + 1 TO auxVALOR
> FieldPut( nFor,VALUE )
> NEXT
> :RecUnLock()
> ENDIF
> END WITH

Se puede

Publicado: Mié May 24, 2006 1:32 pm
por Christian
Prueba con esto:
local miAlias
if ::oFolder1:nindex = 1
miALIAS := ::oDbfDataSet1
elseif ::oFolder1:nIndex = 2
miaLIAS := ::oDbfDataSet2
elseif ::oFolder1:nIndex = 3
miALIAS := ::oDbfDataSet3
endif
En miALIAS tendras una referencia al objeto ::oDbfDataSet? en otras palabras
sera un "acceso directo" a los datos del objeto seleccionado
"FRANCISCO SANCHEZ" <francisco@softwaretotal.biz> escribió en el mensaje
news:447439ef$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> disculpa lei mal tu mensaje, claro el problema lo tienes en que
> oDbfDataset es un objeto no una cadena de texto yo para casos parecidos
> utilizo &( lo que sea ) aunque creo que esta mas o menos en desuso por
> todo el mundo, y no se si funcionaria aqui.
>
> Un saludo
>

Se puede

Publicado: Mié May 24, 2006 4:50 pm
por Paco V
Os aseguro que habia probado todo. Se ve que cada vez cometia algún error
distinto y no funcionaba.
Gracias una vez mas.
Paco V
"Paco V" <ssi@ono.com> wrote:
>
>Quisiera hacer esto para que me sirva la misma funcion.
>
>Como lo podria hacer?
>
>Paco
>
>if ::oFolder1:nindex = 1
> miALIAS := "::oDbfDataSet1"
> elseif ::oFolder1:nIndex = 2
> miaLIAS := "::oDbfDataSet2"
> elseif ::oFolder1:nIndex = 3
> miALIAS := "::oDbfDataSet3"
>endif
>WITH OBJECT mialias
> IF :RecLock()
> FOR nFor := nCurField + 1 TO auxVALOR
> FieldPut( nFor,VALUE )
> NEXT
> :RecUnLock()
> ENDIF
>END WITH