2015-12-30 2 views
1

J'ai dû migrer un projet Access vers Microsoft SQL Server (2008). J'ai résolu plusieurs problèmes mais je suis resté bloqué avec une requête qui permet d'ajouter de nouveaux enregistrements dans la version Access, mais je ne peux pas ajouter de nouveaux enregistrements via cette requête lorsque j'utilise un backend MS SQL .L'accès à la requête MSSQL rejoint le même nom de champ

Le code de requête SQL est:

SELECT t_Ku.*, t_An.*, t_Ad.* 
FROM (t_Ku 
INNER JOIN t_An ON t_Ku.KUID = t_An.fk_KundeId) 
INNER JOIN t_Ad ON t_Ku.KUID = t_Ad.fk_KundeID; 

En faisant varier cette requête, je trouve que cela a à voir avec les champs qui sont utiliser pour joindre les tables (fk_KundeID). Le problème semble être que deux tables (t_Ad et t_An) ont le même nom de champ qui est utilisé pour la jointure (Fieldname: fk_KundeId).

Est-ce que quelqu'un a une idée de comment ce problème peut être résolu sans avoir à changer le nom du champ dans les tables jointes.

Merci.

Michael

+0

*** Peut-être *** (lu non testé/non vérifié) Épeler chaque champ dans le select et alias les doublons nommés au lieu d'utiliser nomtable. * – xQbert

Répondre

0

changer votre requête de sélection pour nommer explicitement les colonnes avec alias

SELECT t_Ku.KUID as TKUKUID, t_An.KUID AS TANKUID, ............. 
liste

tous les autres champs; ne jamais utiliser. * dans la requête SELECT