Tengo un pequeño problema con los DataSets.
En la pantalla tengo 3 DataSets (oDataset, oDataSetP y oDatasetT), e intento
que cuando se seleccione un registro en oDataset se filtren los otros dos
por el campo C_Codigo, que existe en los tres, y así lo hace pero me da un
error nada más hacerlo por el segundo filtro.
Consideraciones:
El campo C_CODIGO es tipo caracter en oDataset y oDatasetT, y numérico
en oDataSetP y curiosamente el error lo da al tratar con el numérico, no así
con el caracter.

Ramón Torreblanca, Murcia
METHOD BrwChange( oSender, lBookMarkChanged ) CLASS FrmFicha
PRIVATE cCODIGO, cFiltros
cCODIGO := alltrim(::oDataset:C_Codigo) //valor del campo seleccionado
::oDatasetP:Clearfilter()
::oDatasetP:Filter( "C_CODIGO == " + cCODIGO, .T.)
::oDatasetP:Refresh()
cFiltros := "C_CODIGO == " + val(::oDataset:C_Codigo) // Linea 414
::oDatasetT:Clearfilter()
::oDatasetT:Filter( cFiltros, .T.)
::oDatasetT:Refresh()
RETURN Nil
***************************** Registro de errores
*****************************
Fecha: 09-05-05
Hora: 09:37:50
Memoria libre: 246424
Area actual: 3
------------------------- Información del
compilador --------------------------
Versión Xailer: Xailer 0.99.9 Pre-release 3 (April 2005)
Compilador: xHarbour build 0.99.3 Intl. (SimpLex) PCode Version: 5
Compilador C/C++: Borland C++ 5.5.1
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del
error -----------------------
Subsistema: BASE
Código de error: 1081
Estado: .F.
Descripción: Argument error
Operación: +
Argumentos: [ 1] = Tipo: C Valor: C_CODIGO == [ 2] = Tipo: N Valor:
1002
Fichero:
Código error SO: 0
Pila de llamadas:
FRMFICHA:BRWCHANGE (414)
TDBBROWSE:ONCHANGE (0)
TDBBROWSE:DSNAVIGATE (556)
TDBFDATASET:UPDATECONTROLS (308)
TDBFDATASET:NSKIP (422)
(b)TDBBROWSE:_ODATASET (148)
TDBBROWSE:ONSKIP (0)
TBROWSE:WMLBUTTONDOWN (1808)
(b)XDBBROWSE (67)
TDBBROWSE:WMLBUTTONDOWN (0)
RUNFORM (0)
TAPPLICATION:RUN (156)
MAIN (22)
------------------ Información detallada de áreas de
trabajo ------------------
Area: 1
Alias: CLIENTES
Registro: 74
Filtro:
Relación:
Orden del índice: 1
Clave activa: 1
Area: 2
Alias: TECNICOS
Registro: 156
Filtro:
Relación:
Orden del índice: 0
Clave activa: 0
Area: 3
Alias: PAGOS
Registro: 45
Filtro: C_CODIGO == 1002
Relación:
Orden del índice: 0
Clave activa: 0