Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

'#supprimé' apparait dans mes tables, impossible de modifier les enregistrements ....

7 réponses
Avatar
Denis
Bonsoir à tous !
Je suis face à un problème qui me fait tourner en rond !!!! :-(
Contexte:
-Un serveur Windows 2000 SP4 qui héberge SQL serveur 2000,
-une "appli" sous Access qui possède des tables, toutes liées à partir de
SQL server et exécuté à partir d'un XP SP2.

Dans l'appli, à un moment donné, je crée une table avec la requête suivante:
-----------------8<----------------------------8<---------
CREATE TABLE T_Log_" & str_ID_serveur & " (
[ID_Log] [bigint] IDENTITY (1, 1) NOT NULL ,
[ID_Admin] [int] NULL ,
[WMI_Event_Type] [nvarchar] (1) COLLATE French_CI_AS NULL ,
[WMI_Time_Written] [nvarchar] (14) COLLATE French_CI_AS NULL ,
[WMI_Source_Name] [nvarchar] (50) COLLATE French_CI_AS NULL ,
[WMI_event_log] [nvarchar] (3) COLLATE French_CI_AS NULL ,
[WMI_Categorie] [nvarchar] (50) COLLATE French_CI_AS NULL ,
[WMI_Event_Code] [int] NULL ,[WMI_RecordNumber] [int] NULL ,
[WMI_User_Context] [nvarchar] (50) COLLATE French_CI_AS NULL ,
[WMI_Message] [nvarchar] (1500) COLLATE French_CI_AS NULL ,
[Solution_proposee] [nvarchar] (1500) COLLATE French_CI_AS NULL ,
[Mise_en_pratique] [nvarchar] (1500) COLLATE French_CI_AS NULL ,
[Conclusion] [nvarchar] (1500) COLLATE French_CI_AS NULL ,
CONSTRAINT [PK_T_Log_" & str_ID_serveur & "]
PRIMARY KEY CLUSTERED([ID_Log]) ON [PRIMARY])
ON [PRIMARY]
-----------------8<----------------------------8<---------

La requette fonctionne sans aucuns soucis.

Ensuite, je crée dynamiquement la liaison de cette table vers Access avec ce
code, qui fonctionne également sans aucuns soucis:
-----------------8<----------------------------8<---------
'créer la liaison dans Access vers la nouvelle table créée
DoCmd.TransferDatabase acLink, "Base de données ODBC", "ODBC;DRIVER={SQL
Server};SERVER=APP\TP;DATABASE=LOGs_DCs_WINNG;", acTable, "T_Log_" &
str_ID_serveur, "dbo.T_Log_" & str_ID_serveur, 0, True

-----------------8<----------------------------8<---------


Pour continuer, naturellement, j'en viens à insérer des données dans cette
table .... là, déjà, un truc louche apparaît:
si je consulte le contenu de la table sur le serveur SQL, je vois tous les
enregistrements correctement. Par contre, si j'ouvre la table sous Access,
je vois systématiquement "#Supprimé" dans tous les champs ...

Soit, à première vue ce n'est pas contraignant, même si ça me parait
anormal...

Là où ça me pose réellement soucis, c'est lorsque je veux supprimer un
enregistrement à partir d'une requête exécutée à partir d'acces: rien ne se
passe !!!
Si je l'exécute sur le serveur, tout se passe correctement ....

En fouinant sur le Net, je n'ais trouvé que cette page
:http://mysql.ifrance.com/showthread.php?t=229
Mais bon, après avoir vérifié que Microsoft MDAC, Microsoft Jet 4.0 étaient
à jour, testé l'histoire des INT, du champ en plus TIMESTAMP, je ne sais
plus quoi faire !!!!

Si vous auriez une idée ....

Merci d'avance !

Denis

7 réponses

Avatar
Gafish
"Denis" a écrit dans le message de news:

Bonsoir à tous !


Bonsoir

si je consulte le contenu de la table sur le serveur SQL, je vois tous les
enregistrements correctement. Par contre, si j'ouvre la table sous Access,
je vois systématiquement "#Supprimé" dans tous les champs ...

Soit, à première vue ce n'est pas contraignant, même si ça me parait
anormal...

Là où ça me pose réellement soucis, c'est lorsque je veux supprimer un
enregistrement à partir d'une requête exécutée à partir d'acces: rien ne
se

passe !!!
Si je l'exécute sur le serveur, tout se passe correctement ....


Cela vient de ta liaison odbc. Si tu fais tout "à la main" pour voir, ca
marche ?
Sinon crée toi un dns en modifiant les différents paramètres, notamment le
timeout.

Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Denis
Ben en fait, j'ai quasiment tout essayé !!!! y compris créer sur le serveur
SQL puis lier ...
Ca ne fonctionne toujours pas!
J'ai cependant constaté que le problème venait peut être du fait que la clef
primaire de ces tables n'est pas vue depuis ACCESS... c'est étrange, puisque
je travaille depuis longtemps avec une 40 aine de tables liées sur ce
serveur SQl, et c'est la première fois que j'ais ce problème !!!
Sinon, je n'ais pas trouvé où modifier le time out .... si tu veux bien
m'éclairer ...

En attendant, la solution palliative consiste à effectuer mes suppressions
en créant une connexion ... un peu comme si la table n'était pas liée :-(

-----------------8<----------------------------8<---------
Set obj_connection = CreateObject("ADODB.connection")
Set obj_commande = CreateObject("ADODB.Command")
obj_connection.ConnectionString = "Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Infoúlse;Initial
Catalog=LOGs_DCs_WINNG;Data Source=APPTP"
obj_connection.Open
obj_commande.ActiveConnection = obj_connection
obj_commande.CommandText = "DELETE FROM dbo.T_Log_37 WHERE blablabla"
-----------------8<----------------------------8<---------

Merci pour ton intervention ;-)

DNI





"Gafish" a écrit dans le message de news:
%

"Denis" a écrit dans le message de news:

Bonsoir à tous !


Bonsoir

si je consulte le contenu de la table sur le serveur SQL, je vois tous
les
enregistrements correctement. Par contre, si j'ouvre la table sous
Access,
je vois systématiquement "#Supprimé" dans tous les champs ...

Soit, à première vue ce n'est pas contraignant, même si ça me parait
anormal...

Là où ça me pose réellement soucis, c'est lorsque je veux supprimer un
enregistrement à partir d'une requête exécutée à partir d'acces: rien ne
se

passe !!!
Si je l'exécute sur le serveur, tout se passe correctement ....


Cela vient de ta liaison odbc. Si tu fais tout "à la main" pour voir, ca
marche ?
Sinon crée toi un dns en modifiant les différents paramètres, notamment le
timeout.

Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





Avatar
Gafish
Denis wrote:
Ben en fait, j'ai quasiment tout essayé !!!! y compris créer sur le
serveur SQL puis lier ...
Ca ne fonctionne toujours pas!
J'ai cependant constaté que le problème venait peut être du fait que
la clef primaire de ces tables n'est pas vue depuis ACCESS... c'est
étrange, puisque je travaille depuis longtemps avec une 40 aine de
tables liées sur ce serveur SQl, et c'est la première fois que j'ais
ce problème !!! Sinon, je n'ais pas trouvé où modifier le time out .... si
tu veux
bien m'éclairer ...

En attendant, la solution palliative consiste à effectuer mes
suppressions en créant une connexion ... un peu comme si la table
n'était pas liée :-(


Essaie de jour avec les options avancées d'Access (outils...options, onglet
avancé) voir si ca améliore quelque chose.

Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Denis
Ben comme tu me l'as proposé, j'ais regardé ces options, mais sans aucuns
changement .... :-(

Sinon, en regardant de plus près, j'ais constaté que le champs désigné en
clef primaire n'est pas identifié en tant que tel sous acces ...
Naturellement, si il ne voit pas la clef primaire, comment pourrait il faire
pour identifier les champs ....

Bref, j'en reste au même point :-(

DNI.

"Gafish" a écrit dans le message de news:

Denis wrote:
Ben en fait, j'ai quasiment tout essayé !!!! y compris créer sur le
serveur SQL puis lier ...
Ca ne fonctionne toujours pas!
J'ai cependant constaté que le problème venait peut être du fait que
la clef primaire de ces tables n'est pas vue depuis ACCESS... c'est
étrange, puisque je travaille depuis longtemps avec une 40 aine de
tables liées sur ce serveur SQl, et c'est la première fois que j'ais
ce problème !!! Sinon, je n'ais pas trouvé où modifier le time out ....
si tu veux
bien m'éclairer ...

En attendant, la solution palliative consiste à effectuer mes
suppressions en créant une connexion ... un peu comme si la table
n'était pas liée :-(


Essaie de jour avec les options avancées d'Access (outils...options,
onglet avancé) voir si ca améliore quelque chose.

Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Gafish
Denis wrote:
Ben comme tu me l'as proposé, j'ais regardé ces options, mais sans
aucuns changement .... :-(

Sinon, en regardant de plus près, j'ais constaté que le champs
désigné en clef primaire n'est pas identifié en tant que tel sous
acces ... Naturellement, si il ne voit pas la clef primaire, comment
pourrait il faire pour identifier les champs ....

Bref, j'en reste au même point :-(


Quand tu fais le lien de tes tables odbc, il te demande justement de
selectionner les champs qui permettront de définir l'unicité d'un
enregistrement, as-tu choisi les bons champs à ce moment là ? Essaie peut
être de refaire le lien de tes tables odbc ?

Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Denis
Trop content de voir une réponse supplémentaire ... mais sans changement à
l'arrivé:
Donc, j'ais essayé de faire le lien manuellement -> à aucun moment il me
demande de sélectionner un champ pour définir l'unicité :-(
Par contre, j'ai essayé d'importer la table par curiosité:
- là je voie bien les enregistrements,
- pas de clef primaire de définit contrairement à la table originale ...

Toujours est il que je stagne encore et encore !!!

Merci tout de même pour ton idée ;-)

DNI.


"Gafish" a écrit dans le message de news:

Quand tu fais le lien de tes tables odbc, il te demande justement de
selectionner les champs qui permettront de définir l'unicité d'un
enregistrement, as-tu choisi les bons champs à ce moment là ? Essaie peut
être de refaire le lien de tes tables odbc ?

Arnaud


Avatar
acroac
Le jeudi 09 Février 2006 à 18:45 par Denis :
Bonsoir à tous !
Je suis face à un problème qui me fait tourner en rond !!!! :-(
Contexte:
-Un serveur Windows 2000 SP4 qui héberge SQL serveur 2000,
-une "appli" sous Access qui possède des tables, toutes
liées à partir de
SQL server et exécuté à partir d'un XP SP2.
Dans l'appli, à un moment donné, je crée une table avec la
requête suivante:
-----------------8<----------------------------8<---------
CREATE TABLE T_Log_" & str_ID_serveur & " (
[ID_Log] [bigint] IDENTITY (1, 1) NOT NULL ,
[ID_Admin] [int] NULL ,
[WMI_Event_Type] [nvarchar] (1) COLLATE French_CI_AS NULL ,
[WMI_Time_Written] [nvarchar] (14) COLLATE French_CI_AS NULL ,
[WMI_Source_Name] [nvarchar] (50) COLLATE French_CI_AS NULL ,
[WMI_event_log] [nvarchar] (3) COLLATE French_CI_AS NULL ,
[WMI_Categorie] [nvarchar] (50) COLLATE French_CI_AS NULL ,
[WMI_Event_Code] [int] NULL ,[WMI_RecordNumber] [int] NULL ,
[WMI_User_Context] [nvarchar] (50) COLLATE French_CI_AS NULL ,
[WMI_Message] [nvarchar] (1500) COLLATE French_CI_AS NULL ,
[Solution_proposee] [nvarchar] (1500) COLLATE French_CI_AS NULL ,
[Mise_en_pratique] [nvarchar] (1500) COLLATE French_CI_AS NULL ,
[Conclusion] [nvarchar] (1500) COLLATE French_CI_AS NULL ,
CONSTRAINT [PK_T_Log_" & str_ID_serveur & "]
PRIMARY KEY CLUSTERED([ID_Log]) ON [PRIMARY])
ON [PRIMARY]
-----------------8<----------------------------8<---------
La requette fonctionne sans aucuns soucis.
Ensuite, je crée dynamiquement la liaison de cette table vers Access
avec ce
code, qui fonctionne également sans aucuns soucis:
-----------------8<----------------------------8<---------
'créer la liaison dans Access vers la nouvelle table
créée
DoCmd.TransferDatabase acLink, "Base de données ODBC",
"ODBC;DRIVER={SQL
Server};SERVER=APPTP;DATABASE=LOGs_DCs_WINNG;", acTable,
"T_Log_" &
str_ID_serveur, "dbo.T_Log_" & str_ID_serveur, 0, True
-----------------8<----------------------------8<---------
Pour continuer, naturellement, j'en viens à insérer des
données dans cette
table .... là, déjà, un truc louche apparaît:
si je consulte le contenu de la table sur le serveur SQL, je vois tous les
enregistrements correctement. Par contre, si j'ouvre la table sous Access,
je vois systématiquement "#Supprimé" dans tous les
champs ...
Soit, à première vue ce n'est pas contraignant, même si
ça me parait
anormal...
Là où ça me pose réellement soucis, c'est lorsque
je veux supprimer un
enregistrement à partir d'une requête exécutée
à partir d'acces: rien ne se
passe !!!
Si je l'exécute sur le serveur, tout se passe correctement ....
En fouinant sur le Net, je n'ais trouvé que cette page
:http://mysql.ifrance.com/showthread.php?t"9
Mais bon, après avoir vérifié que Microsoft MDAC,
Microsoft Jet 4.0 étaient
à jour, testé l'histoire des INT, du champ en plus TIMESTAMP, je
ne sais
plus quoi faire !!!!
Si vous auriez une idée ....
Merci d'avance !
Denis
Bonjour Denis .
enfait le probléme vient du fait que la clé ( type ou format sur la table Sql ) est Insupporté sur Access
s'il s'agit d'un ID (Numéro auto )
il faut redéfinir la clé sur la table Sql en mentionant que c'est un clé unique
bon courage