Hola a todos. Resulta que tengo una vista en una base de datos SQL 2000 la
cual utilizo para mostrar registros en un grid, TDBGrid específicamente, los
datos en el grid son editables, y para que este control pueda enlazarse a
los datos se requiere que el tipo de cursor del recordset sea KeySet. Esto
funciona perfectamente con muchos usuarios de la aplicación (cada quien con
diferente base de datos, pero con la misma estructura), excepto con
uno donde la ejecución de la vista regresa un recordset de tipo Dynamic con
lo que no se muestran los registros en el grid.
Este es el código de la vista:
SELECT
ElemFactExpUS.*,
Medidas.UMedida AS UMedida,
Paises.PaisCodigo AS PaisCodigo,
TiposMatExp.TipoMatExp AS TipoMatExp,
Empaques.Empaque AS Empaque,
Partes.PesoEmpaque AS PesoEmpaqueParte,
Empaques.Peso AS PesoPorEmpaque,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.MPNonDut AS TotMPNonDut,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.EmpNonDut AS TotEmpNonDut,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.VADutiable AS TotVADutiable,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.MPDutiable AS TotMPDutiable,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.EmpDutiable AS TotEmpDutiable,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.MPNonDut +
ElemFactExpUS.TotalPiezas * ElemFactExpUS.EmpNonDut AS TotNonDut,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.MPDutiable +
ElemFactExpUS.TotalPiezas * ElemFactExpUS.EmpDutiable +
ElemFactExpUS.TotalPiezas
* ElemFactExpUS.VADutiable + ElemFactExpUS.TotalPiezas *
ElemFactExpUS.MODutiable AS TotDutiable,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.MPNonDut +
ElemFactExpUS.TotalPiezas * ElemFactExpUS.EmpNonDut +
ElemFactExpUS.TotalPiezas
* ElemFactExpUS.MPDutiable + ElemFactExpUS.TotalPiezas *
ElemFactExpUS.EmpDutiable + ElemFactExpUS.TotalPiezas *
ElemFactExpUS.VADutiable
+ ElemFactExpUS.TotalPiezas * ElemFactExpUS.MODutiable AS TotCosto,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.MODutiable AS TotMODutiable,
Aranceles.Fraccion AS ArancelUS,
Aranceles_1.Fraccion AS ArancelMx,
Aranceles_2.Fraccion AS ArancelAlt,
Partes.ipEmpaque AS ipEmpaqueParte,
Subtipos.DescEsp AS Subtipo,
ElemFactExpUS.TotalPiezas * ElemFactExpUS.FactConv AS TotalPiezas2
FROM
Partes INNER JOIN
Subtipos ON Partes.idSubtipo = Subtipos.idSubtipo INNER JOIN
ElemFactExpUS LEFT OUTER JOIN
Empaques ON ElemFactExpUS.ipEmpaque = Empaques.idEmpaque LEFT OUTER
JOIN TiposMatExp ON ElemFactExpUS.ipTipoMatExp TiposMatExp.idTipoMatExp LEFT OUTER JOIN Aranceles ON
ElemFactExpUS.ipArancelUS = Aranceles.idArancel LEFT
OUTER JOIN Aranceles Aranceles_1 ON ElemFactExpUS.ipArancelMX Aranceles_1.idArancel INNER JOIN
Medidas ON ElemFactExpUS.idMedida = Medidas.idMedidas INNER JOIN
Paises ON ElemFactExpUS.idPais = Paises.idPais LEFT OUTER JOIN
Aranceles Aranceles_2 ON ElemFactExpUS.idArancelAlt Aranceles_2.idArancel ON Partes.idPartes = ElemFactExpUS.ipPartes
Alguien sabe porque razón el cursor del recordset se establece a Dynamic aún
cuando se solicite que sea Keyset?
Saludos y gracias anticipadas por las respuestas.
Leer las respuestas