|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Invité de passage
![]() Inscription : mai 2011 Messages : 2 ![]() |
Bonjour,
Je travail sur la ré écriture complète de bases Access 2000 vers un Project access (.ADP) / sql server. Etant donnés qu'il s'agit d'une ré écriture complète, je me sert d'une base de données Access (.MDB) pour faire la migration des données, donc dans ce cas les tables des différentes base Access sont liée a ce projet ainsi que mes futures Tables Sql Server. voila pour l'environnement. J'effectue mon transfert de données, via des requetes INSERT INTO relativement simple tel que : Requête 1: Code :
Code :
Code :
Mon problème est le suivant : La table dbo_AgenceDodNiv1 se met à jour correctement et conserve les ancien numéro. dbo_AgenceDodNiv2 ne se met pas à jour. si je rajoute l'argument dbFailOnError à dbSeeChanges, j'ai une erreur "ODBC __CallFailed" si après avoir executé mon bout de code j'execute à la main la requête correpondant a la table dbo_AgenceDodNiv2, il m'indique une erreur de "Key violation". MAIS, si j'execute à la main cette requête après avoir fermé puis ré-ouvert mon.mdb, CELA FONCTIONNE !!! j'ai essayé d'intercaller entre les 2 INSERT le bout de code suivant : Sans succès Code :
et bien sur si je met la propriété Identify = No, cela fonctionne mais pourquoi cela fonctionnerais avec la Propriété Identify = Yes pour la première table et pas pour la 2ème ? [EDIT]Je précise qu'il ny pas encore de relation de définie sous SQL SERVER[FIN EDIT] J'avoue que je suis un peu a bout de souffle, en espérant vous avoir fournit un maximum d'information et que vous puissiez m'aider. Codialement, Jayjazz |
||||||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
Les champs ID sont de type numero auto ? Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Inscription : mai 2006 Messages : 928 ![]() |
Bonjour,
dans SQL server il faut affecter un incrément que l'on doit définir. ce qui doit etre ton problème. Bonne soirée |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 2 ![]() |
Bonjour,
d'abord, merci de vous interesser a mon cas ![]() Oui les champs ID sont des numéros auto sous SQL Server, c'est cette fameuse proprété Identify qui fait que c'est un numéro auto, et l'incrément est de 1 avec un départ a 1 Lorsque je retire cette propriété, tout fonctionne correctement, mais des que je la remet cela fonctionne aléatoirement sur la première table importée, et jamais sur les tables suivantes, sauf si je ferme mon mdb et que j'exécute ma requête à la main après ré ouverture de la base, et ceci est a faire pour chaque table. |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
Il n'est pas conseillé de faire de l'insertion sur ce type de champs à moins de shunter le système d'autoincrément le temps de la requete. Regarde la commande Set Identity_insert dans l'aide Sql Server. http://msdn.microsoft.com/fr-fr/library/ms188059.aspx Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
Copyright © 2000-2012 - www.developpez.com