Page 1 of 1

El identificador de fila se refirió a una fila (SOLUCIONADO)

Posted: Wed Dec 19, 2018 12:41 am
by Armando
Hola Amigos del foro:

Al traerme un respaldo de las tablas de un cliente y recuperarlo en mi PC de desarrollo,
en una tabla me tira el error "El identificador de fila se refirió a una fila eliminada o a una fila marcada para eliminar".

Me esta volviendo loco este error, no me deja abrir y mostrar la tabla en un xBrowse, estoy usando
un recordset con ADO puro.

Por cierto, en ningún momento se permite eliminar renglones del xBrowse, vamos no hay código
para eliminar renglones.

Muestro el código por si ahí esta mi horror.

Code: Select all

        REDEFINE XBROWSE oBrw ID 200 OF oDlg;
            DATASOURCE oRsVts ;
            COLUMNS "VEN_VEN", "PRO_DES", "VEN_CTD", "VEN_IMP", "VEN_PLA","VEN_CAN" ;
            HEADERS "Folio","Material", "Cantidad", "Importe","Placas","Can";
            COLSIZES 70,350,70,80,80,50;
            PICTURES "@Z 9999999",NIL,"@Z 99,999.999","@Z 999,999.99",NIL,NIL;
            JUSTIFY {AL_RIGHT,AL_LEFT,AL_RIGHT,AL_RIGHT,AL_LEFT,AL_CENTER};
            FOOTERS AUTOSORT BACKGROUND "Lineas"

            WITH OBJECT oBrw
                :l2007            := (.F.)
                :lHScroll         := (.F.)
                :lVScroll         := (.F.)
                :nMarqueeStyle    := MARQSTYLE_HIGHLROW
                :nColDividerStyle := LINESTYLE_LIGHTGRAY
                :nRowDividerStyle := LINESTYLE_LIGHTGRAY
                :nStretchCol      := STRETCHCOL_LAST
                :nHeaderHeight      := 25
                :nRowHeight         := 22
                :nFooterHeight      := 25
                :bClrHeader       := { || {CLR_WHITE,CLR_BLACK} }
                :bClrFooter       := { || {CLR_WHITE,CLR_BLACK} }
                :bClrSel          := { || IF( oBrw:KeyNo % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
                :bClrSelFocus     := { || {oApp:nFClrFocus,oApp:nBClrFocus} }
                :bClrStd          := { || IF( oBrw:KeyNo % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
                :nRecSelColor     := oApp:nRowParClr
                :lDisplayZeros    := (.F.)   // zero values are not displayed. Added by GNRao. No need to use @Z
                :blDblClick         := { | nRow, nCol, nKey | (Editar(oBrw,(.F.)),oBrw:SetFocus())}
                :bKeyDown           := { | nKey, nFlags | IIF(nKey == VK_RETURN,(Editar(oBrw,(.F.)),oBrw:SetFocus()),)}

                :aCols[02]:nFootStrAlign    := AL_RIGHT
            :aCols[02]:bFooter  := { || "Total de ventas del día (Sin vales cancelados) =>" }

            WITH OBJECT :aCols[04]
            :nFooterType         := AGGR_SUM
                :bSumCondition       := { || ! oRsVts:Fields("VEN_CAN"):Value }
            END

            :MakeTotals()

                // Por fuerza debe ir dentro del WITH OBJECT oBrw
                WITH OBJECT :aCols[01]
                    :cOrder := "A"
                END

                WITH OBJECT :aCols[06]
                    :SetCheck( { "SI16","NO16" } )
                END
            END
 
Saludos y gracias anticipadas

Re: El identificador de fila se refirió a una fila eliminada o a

Posted: Wed Dec 19, 2018 2:29 pm
by karinha

Re: El identificador de fila se refirió a una fila (SOLUCIONADO)

Posted: Wed Dec 19, 2018 3:27 pm
by Armando
Karinha y amigos del foro:

Problema solucionado, Karinha agradezco tu interés por ayudar.

Cómo dice el clásico, "parece una tontería pero es una estupidez", resulta que el
recordset tiene un JOIN y la segunda tabla estaba vacía y por tanto no había
registros para hacer el JOIN y deduzco que el puntero se iba más allá del EOF.

Dejo esta experiencia por si a alguien le sirve.

Saludos