Hola a todos. De nuevo solicito vuestra ayuda, las bases de datos no son mi fuerte, ya os habréis dado cuenta.
La cuestión es la siguiente:
Estoy usando D7 y bases Paradox en un sistema Master/Detail.
En la base Detalle, necesito instalar un índice específico para un campo ftDate. (Lo llamo "
FechCitaActo")
Tanto si dejo activado el índice ("
Fe"), asignando su nombre a la propiedad "
IndexName" en el
Object Inspector, como si lo activo por código, se produce el mismo error al abrir la base Detalle ("
Actos.DB") o al insertar un registro en la base Maestro ("
Clien.DB"), aunque no haya ningún registro en la base Detalle.
Copio el texto del error en inglés: "
Could not convert variant of type (String) into type (Date)"
No me deja crear la base, si está activado el índice "
Fe".
Aunque sea un poco pesado, transcribo parte del fichero
.dfm, por si alguno tenéis un ratito par echarle un vistazo y encontráis el error que yo soy incapaz. (LLEVO 4 DÍAS COMPLETOS, BUSCANDO EN EL CLUB Y HACIENDO PRUEBAS)
GRACIAS ANTICIPADAS.
Código Delphi
[-] object ClienDB: TTable
DatabaseName = '\'
SessionName = 'Default'
FieldDefs = <
item
Name = 'His'
Attributes = [faRequired]
DataType = ftString
Size = 7
end
item
Name = 'NIF'
Attributes = [faRequired]
DataType = ftString
Size = 12
end
item
Name = 'Nom'
Attributes = [faRequired]
DataType = ftString
Size = 50
end
item
Name = 'AutoNum'
Attributes = [faReadonly]
DataType = ftAutoInc
end
item
Name = 'Compa1'
DataType = ftString
Size = 15
end
item
Name = 'Compa2'
DataType = ftString
Size = 15
end
item
Name = 'Compa3'
DataType = ftString
Size = 15
end
item
Name = 'Compa4'
DataType = ftString
Size = 15
end
item
Name = 'Poliza1'
DataType = ftString
Size = 25
end
item
Name = 'Poliza2'
DataType = ftString
Size = 25
end
item
Name = 'Poliza3'
DataType = ftString
Size = 25
end
item
Name = 'Poliza4'
DataType = ftString
Size = 25
end
item
Name = 'Tel1'
DataType = ftString
Size = 12
end
item
Name = 'Tel2'
DataType = ftString
Size = 12
end
item
Name = 'Mail'
DataType = ftString
Size = 50
end
item
Name = 'Dir'
DataType = ftString
Size = 50
end
item
Name = 'CP'
DataType = ftString
Size = 5
end
item
Name = 'Pob'
DataType = ftString
Size = 40
end
item
Name = 'Prv'
DataType = ftString
Size = 30
end
item
Name = 'FNac'
DataType = ftString
Size = 10
end
item
Name = 'LoManda'
DataType = ftString
Size = 40
end
item
Name = 'TotSesio'
DataType = ftSmallint
end
item
Name = 'PendSesio'
DataType = ftSmallint
end
item
Name = 'FaltasSesio'
DataType = ftSmallint
end
item
Name = 'TotConsul'
DataType = ftSmallint
end
item
Name = 'PendConsul'
DataType = ftSmallint
end
item
Name = 'FaltasConsul'
DataType = ftSmallint
end
item
Name = 'TotPagado'
DataType = ftCurrency
end
item
Name = 'TotDeuda'
DataType = ftCurrency
end
item
Name = 'FaltaSeguidasCon'
DataType = ftSmallint
end
item
Name = 'FaltaSeguidasSes'
DataType = ftSmallint
end>
IndexDefs = <
item
Name = 'ClienDBIndex1'
Fields = 'His;NIF;Nom'
Options = [ixPrimary, ixUnique]
end
item
Name = 'Ni'
Fields = 'NIF'
Options = [ixCaseInsensitive]
end
item
Name = 'Hi'
Fields = 'His'
Options = [ixCaseInsensitive]
end
item
Name = 'No'
Fields = 'Nom'
Options = [ixCaseInsensitive]
end>
IndexName = 'No'
StoreDefs = True
TableName = 'Clien.DB'
Left = 108
Top = 30
object ClienDBHis: TStringField
FieldName = 'His'
Required = True
Size = 7
end
object ClienDBNIF: TStringField
FieldName = 'NIF'
Required = True
Size = 12
end
object ClienDBNom: TStringField
FieldName = 'Nom'
Required = True
Size = 50
end
object ClienDBAutoNum: TAutoIncField
FieldName = 'AutoNum'
ReadOnly = True
end
object ClienDBCompa1: TStringField
FieldName = 'Compa1'
Size = 15
end
object ClienDBCompa2: TStringField
FieldName = 'Compa2'
Size = 15
end
object ClienDBCompa3: TStringField
FieldName = 'Compa3'
Size = 15
end
object ClienDBCompa4: TStringField
FieldName = 'Compa4'
Size = 15
end
object ClienDBPoliza1: TStringField
FieldName = 'Poliza1'
Size = 25
end
object ClienDBPoliza2: TStringField
FieldName = 'Poliza2'
Size = 25
end
object ClienDBPoliza3: TStringField
FieldName = 'Poliza3'
Size = 25
end
object ClienDBPoliza4: TStringField
FieldName = 'Poliza4'
Size = 25
end
object ClienDBTel1: TStringField
FieldName = 'Tel1'
Size = 12
end
object ClienDBTel2: TStringField
FieldName = 'Tel2'
Size = 12
end
object ClienDBMail: TStringField
FieldName = 'Mail'
Size = 50
end
object ClienDBDir: TStringField
FieldName = 'Dir'
Size = 50
end
object ClienDBCP: TStringField
FieldName = 'CP'
Size = 5
end
object ClienDBPob: TStringField
FieldName = 'Pob'
Size = 40
end
object ClienDBPrv: TStringField
FieldName = 'Prv'
Size = 30
end
object ClienDBFNac: TStringField
FieldName = 'FNac'
Required = True
Size = 10
end
object ClienDBLoManda: TStringField
FieldName = 'LoManda'
Size = 40
end
object ClienDBTotSesio: TSmallintField
FieldName = 'TotSesio'
end
object ClienDBPendSesio: TSmallintField
FieldName = 'PendSesio'
end
object ClienDBFaltasSesio: TSmallintField
FieldName = 'FaltasSesio'
end
object ClienDBTotConsul: TSmallintField
FieldName = 'TotConsul'
end
object ClienDBPendConsul: TSmallintField
FieldName = 'PendConsul'
end
object ClienDBFaltasConsul: TSmallintField
FieldName = 'FaltasConsul'
end
object ClienDBTotPagado: TCurrencyField
FieldName = 'TotPagado'
end
object ClienDBTotDeuda: TCurrencyField
FieldName = 'TotDeuda'
end
object ClienDBFaltaSeguidasCon: TSmallintField
FieldName = 'FaltaSeguidasCon'
end
object ClienDBFaltaSeguidasSes: TSmallintField
FieldName = 'FaltaSeguidasSes'
end
end
object ActosSource: TDataSource
DataSet = ActosDB
Left = 200
Top = 30
end
object ActosDB: TTable
OnCalcFields = ActosDBCalcFields
AutoRefresh = True
DatabaseName = '\'
SessionName = 'Default'
FieldDefs = <
item
Name = 'His'
Attributes = [faRequired]
DataType = ftString
Size = 7
end
item
Name = 'FechCitaActo' DataType = ftDate
end
item
Name = 'Espe'
DataType = ftString
Size = 15
end
item
Name = 'Compa'
DataType = ftString
Size = 15
end
item
Name = 'Profe'
DataType = ftString
Size = 15
end
item
Name = 'NumOrden'
Attributes = [faReadonly]
DataType = ftAutoInc
end
item
Name = 'CitConSes'
DataType = ftString
Size = 3
end
item
Name = 'HoraCitaActo'
DataType = ftString
Size = 5
end
item
Name = 'SiPaga'
DataType = ftString
Size = 1
end
item
Name = 'SiAsiste'
DataType = ftString
Size = 1
end
item
Name = 'Obs'
DataType = ftString
Size = 70
end
item
Name = 'EurPaga'
DataType = ftCurrency
end
item
Name = 'EurProfe'
DataType = ftCurrency
end
item
Name = 'Poliza'
DataType = ftString
Size = 25
end>
IndexDefs = <
item
Name = 'ActosDBIndex1'
Fields = 'His;FechCitaActo;Espe;Compa;Profe;NumOrden'
Options = [ixPrimary]
end
item
Name = 'Fe'
Fields = 'FechCitaActo' Options = [ixCaseInsensitive]
end>
MasterFields = 'His'
MasterSource = ClienSource
StoreDefs = True
TableName = 'Actos.DB'
Left = 172
Top = 30
object ActosDBHis: TStringField
FieldName = 'His'
Required = True
Size = 7
end
object ActosDBFechCitaActo: TDateField FieldName = 'FechCitaActo'
Required = True
end
object ActosDBHoraCitaActo: TStringField
FieldName = 'HoraCitaActo'
Required = True
Size = 5
end
object ActosDBProfe: TStringField
FieldName = 'Profe'
Size = 15
end
object ActosDBCompa: TStringField
FieldName = 'Compa'
Size = 15
end
object ActosDBEspe: TStringField
FieldName = 'Espe'
Size = 15
end
object ActosDBCitConSes: TStringField
FieldName = 'CitConSes'
Size = 3
end
object ActosDBSiPaga: TStringField
FieldName = 'SiPaga'
Required = True
Size = 1
end
object ActosDBSiAsiste: TStringField
FieldName = 'SiAsiste'
Required = True
Size = 1
end
object ActosDBObs: TStringField
FieldName = 'Obs'
Required = True
Size = 85
end
object ActosDBEurPaga: TCurrencyField
FieldName = 'EurPaga'
end
object ActosDBEurProfe: TCurrencyField
FieldName = 'EurProfe'
end
object ActosDBCliente: TStringField
FieldKind = fkCalculated
FieldName = 'Cliente'
Size = 50
Calculated = True
end
object ActosDBPoliza: TStringField
FieldName = 'Poliza'
Size = 25
end
object ActosDBNumOrden: TAutoIncField
FieldName = 'NumOrden'
ReadOnly = True
end
end
object ClienSource: TDataSource
DataSet = ClienDB
Left = 138
Top = 30
end
object Database1: TDatabase
SessionName = 'Default'
Left = 276
Top = 42
end
end