PDA

Ver la Versión Completa : Problemas con Datamodule y maestro detalle


Carlex
31-05-2005, 17:02:32
Muy buenas aqui con un problema q me tiene trancado...Estoy con 2 tablas maestro-detalle

tabla maestro

Cod_Caso->Key
Nombres
Descripcion

La tabla detalle
Cod_Caso->Key
Cod_Detalle->Key
Fecha
Detalle

Hechas en SQL Server 2000 y relacionadas, hasta alli todo bien, ahora bie en delphi 7, tengo un datamodule donde mediante ADO tengo las 2 tablas pero a la hora de querer relacionarlas la tabla detalle con el "master source" y el "master fields" sale el siguiente error: 'El proveedor actual no admite las interfaces necesarias para ordenar y filtrar'. Q es lo q esta mal? el problema esta en SQL? en delphi....mil gracias d antemano por alguna idea o correccion.

Carlex

scotex
31-05-2005, 18:20:39
Hola amigo, entiendo por Key que ese campo es clave principal, entonces en la segunda tabla la clave esta formada por 2 campos? creo k no deberia ser asi.
Deberias tener un campo calve en la primera tabla Cod_Caso, y en la segunda tabla tiene k estar ese campo que es por el cual se relacionan, Cod_Caso y no tiene que ser clave principal de la tabla, y luego tendras el campo clave que sera Cod_Detalle.
Un saludo

Carlex
01-06-2005, 02:42:50
Gracias scotex por tu respuesta pero tambien con lo q tu mencionas

tabla maestro
Cod_Caso->Key
Nombres
Descripcion

La tabla detalle
Cod_Caso
Cod_Detalle->Key
Fecha
Detalle

sale el error:

'El proveedor actual no admite las interfaces necesarias para ordenar y filtrar' al querer enlazarlos con el mastersource y el masterfields de las propiedades d las tablas...:( en SQL Server...q esta mal???

zerelho
24-04-2006, 14:23:44
Aunque pasaran unos cuantos meses desde que hicistes la pregunta como acabo de tener ese mismo problema "El proveedor actual no admite las interfaces necesarias para ordenar y filtrar". Te cuento como lo solucione por si a alguien le pasa lo mismo.

Para insertar mas rapido registros en una tabla tenia una funcion que cambiaba el tipo de cursores de la tabla

With TbFamilias Do
Begin
Close;
CursorType:=ctOpenForwardOnly;
CursorLocation:=clUseServer;
Open;
End;



TbFamilias es una TADOTable y esta dentro de una base de datos en Access.
Al llegar a OPEN me daba el mismo error "El proveedor actual no admite las interfaces necesarias para ordenar y filtrar" y no me insertaba nada, supongo que porque con ese tipo de cursor no se puede ordenar una tabla. El problema es que tenia definido un indice para la tabla con IndexFieldNames, se lo quité con IndexFieldNames:='' y solucionado


With TbFamilias Do
Begin
Close;
CursorType:=ctOpenForwardOnly;
CursorLocation:=clUseServer;
IndexFieldNames:='';
Open;
End;



Despues de realizar las inserciones vuelvo a recuperar el tipo de cursor anterior y los campos indices.

Espero que te sirva de algo si aun no solucionaste el problema.