Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" a écrit dans le message de
news:
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers][Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" <jvuillermet@no-spam.fr> a écrit dans le message de
news: OQOpD4nsDHA.560@TK2MSFTNGP11.phx.gbl...
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" a écrit dans le message de
news:
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers][Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
"PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
J'explique rapidos, je suis à la bourre, si ça ne suffit pas, tu le dis.
Tu crées une base access.MDB. avec des tables et des relations. Avec
l'assistantAccess, tu la convertis à un projet ADP, avec une
nouvelle base SQL. L'assistant ne crée pas de relations dans SQL, mais
crées des triggfers pour gérer tes relations.
J-Pierre
PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes.
"VUILLERMET Jacques" a écrit dans le message de
news:%
Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" a écrit dans le message de
news:
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table
(qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers][Annuler]".
Le trigger fonctionne bien avec un autre client que Access
(l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
"PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
J'explique rapidos, je suis à la bourre, si ça ne suffit pas, tu le dis.
Tu crées une base access.MDB. avec des tables et des relations. Avec
l'assistantAccess, tu la convertis à un projet ADP, avec une
nouvelle base SQL. L'assistant ne crée pas de relations dans SQL, mais
crées des triggfers pour gérer tes relations.
J-Pierre
PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes.
"VUILLERMET Jacques" <jvuillermet@no-spam.fr> a écrit dans le message de
news:%23248JWpsDHA.424@TK2MSFTNGP11.phx.gbl...
Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" <jvuillermet@no-spam.fr> a écrit dans le message de
news: OQOpD4nsDHA.560@TK2MSFTNGP11.phx.gbl...
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table
(qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access
(l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
"PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
J'explique rapidos, je suis à la bourre, si ça ne suffit pas, tu le dis.
Tu crées une base access.MDB. avec des tables et des relations. Avec
l'assistantAccess, tu la convertis à un projet ADP, avec une
nouvelle base SQL. L'assistant ne crée pas de relations dans SQL, mais
crées des triggfers pour gérer tes relations.
J-Pierre
PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes.
"VUILLERMET Jacques" a écrit dans le message de
news:%
Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" a écrit dans le message de
news:
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table
(qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers][Annuler]".
Le trigger fonctionne bien avec un autre client que Access
(l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
It works with one UPDATE as you've shown !
THANKS A LOT !!!
Jacques. :-)))
"Uwe Ricken" a écrit dans le message de news:
#Hi Jacques,
Vadiim has told you the mistake you've made in your trigger.
On the other hand it is useful als Vadim has written, to
use DEFAULT-Values.
If you don't want to use DEFAULTS you do not have to use
multiple UPDATE-Statements within the trigger but you can
handle it within only one UPDATE-Statement
CREATE TRIGGER dbo.trg_AvoidNullInNb
ON dbo.MvtColis
FOR INSERT, UPDATE
AS
SET NOCOUNT ON
UPDATE m
SET m.nbPal = ISNULL(i..NbPal, 0),
m.nbColIs = ISNULL(i.nbColIs, 0),
m.nbPlis = ISNULL(i.nbPlis, 0),
m.NBPiece = ISNULL(i.NBPiece, 0)
FROM dbo.Mvtcolis m INNER JOIN inserted i
ON (m.<PKField> = i.<PKField>)
SET NOCOUNT OFF
GO
HTH ;-)
--
Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation
GNS GmbH, Frankfurt am Main
http://www.gns-online.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
APP: http://www.AccessProfiPool.de
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm
"VUILLERMET Jacques" a écrit dans le message de
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
It works with one UPDATE as you've shown !
THANKS A LOT !!!
Jacques. :-)))
"Uwe Ricken" <uricken@antispam.de> a écrit dans le message de news:
#jA91cpsDHA.628@tk2msftngp13.phx.gbl...
Hi Jacques,
Vadiim has told you the mistake you've made in your trigger.
On the other hand it is useful als Vadim has written, to
use DEFAULT-Values.
If you don't want to use DEFAULTS you do not have to use
multiple UPDATE-Statements within the trigger but you can
handle it within only one UPDATE-Statement
CREATE TRIGGER dbo.trg_AvoidNullInNb
ON dbo.MvtColis
FOR INSERT, UPDATE
AS
SET NOCOUNT ON
UPDATE m
SET m.nbPal = ISNULL(i..NbPal, 0),
m.nbColIs = ISNULL(i.nbColIs, 0),
m.nbPlis = ISNULL(i.nbPlis, 0),
m.NBPiece = ISNULL(i.NBPiece, 0)
FROM dbo.Mvtcolis m INNER JOIN inserted i
ON (m.<PKField> = i.<PKField>)
SET NOCOUNT OFF
GO
HTH ;-)
--
Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation
GNS GmbH, Frankfurt am Main
http://www.gns-online.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
APP: http://www.AccessProfiPool.de
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm
"VUILLERMET Jacques" <jvuillermet@no-spam.fr> a écrit dans le message de
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
It works with one UPDATE as you've shown !
THANKS A LOT !!!
Jacques. :-)))
"Uwe Ricken" a écrit dans le message de news:
#Hi Jacques,
Vadiim has told you the mistake you've made in your trigger.
On the other hand it is useful als Vadim has written, to
use DEFAULT-Values.
If you don't want to use DEFAULTS you do not have to use
multiple UPDATE-Statements within the trigger but you can
handle it within only one UPDATE-Statement
CREATE TRIGGER dbo.trg_AvoidNullInNb
ON dbo.MvtColis
FOR INSERT, UPDATE
AS
SET NOCOUNT ON
UPDATE m
SET m.nbPal = ISNULL(i..NbPal, 0),
m.nbColIs = ISNULL(i.nbColIs, 0),
m.nbPlis = ISNULL(i.nbPlis, 0),
m.NBPiece = ISNULL(i.NBPiece, 0)
FROM dbo.Mvtcolis m INNER JOIN inserted i
ON (m.<PKField> = i.<PKField>)
SET NOCOUNT OFF
GO
HTH ;-)
--
Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation
GNS GmbH, Frankfurt am Main
http://www.gns-online.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
APP: http://www.AccessProfiPool.de
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm
"VUILLERMET Jacques" a écrit dans le message de
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table (qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access (l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
"PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
Ce genre de phrase me fait peur : cela signifie que je suis tombé sur un cas
particulier !
Je vais essayer."PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
Ce genre de phrase me fait peur : cela signifie que je suis tombé sur un cas
particulier !
Merci Jean-Pierre !
Jacques.
"J-Pierre" a écrit dans le message de
news:J'explique rapidos, je suis à la bourre, si ça ne suffit pas, tu le dis.
Tu crées une base access.MDB. avec des tables et des relations. Avec
l'assistantAccess, tu la convertis à un projet ADP, avec unenouvelle base SQL. L'assistant ne crée pas de relations dans SQL, mais
crées des triggfers pour gérer tes relations.
J-Pierre
PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes.
"VUILLERMET Jacques" a écrit dans le message de
news:%Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" a écrit dans le message de
news:
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table
(qui lamodifie, code après la signature) alors Access est perdu : message
d'erreur"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers][Annuler]".
Le trigger fonctionne bien avec un autre client que Access
(l'Analyseur derequêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
"PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
Ce genre de phrase me fait peur : cela signifie que je suis tombé sur un cas
particulier !
Je vais essayer.
"PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
Ce genre de phrase me fait peur : cela signifie que je suis tombé sur un cas
particulier !
Merci Jean-Pierre !
Jacques.
"J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> a écrit dans le message de
news: Oe0r9mpsDHA.2340@TK2MSFTNGP12.phx.gbl...
J'explique rapidos, je suis à la bourre, si ça ne suffit pas, tu le dis.
Tu crées une base access.MDB. avec des tables et des relations. Avec
l'assistantAccess, tu la convertis à un projet ADP, avec une
nouvelle base SQL. L'assistant ne crée pas de relations dans SQL, mais
crées des triggfers pour gérer tes relations.
J-Pierre
PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes.
"VUILLERMET Jacques" <jvuillermet@no-spam.fr> a écrit dans le message de
news:%23248JWpsDHA.424@TK2MSFTNGP11.phx.gbl...
Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" <jvuillermet@no-spam.fr> a écrit dans le message de
news: OQOpD4nsDHA.560@TK2MSFTNGP11.phx.gbl...
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table
(qui la
modifie, code après la signature) alors Access est perdu : message
d'erreur
"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers]
[Annuler]".
Le trigger fonctionne bien avec un autre client que Access
(l'Analyseur de
requêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers
?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/
"PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
Ce genre de phrase me fait peur : cela signifie que je suis tombé sur un cas
particulier !
Je vais essayer."PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes."
Ce genre de phrase me fait peur : cela signifie que je suis tombé sur un cas
particulier !
Merci Jean-Pierre !
Jacques.
"J-Pierre" a écrit dans le message de
news:J'explique rapidos, je suis à la bourre, si ça ne suffit pas, tu le dis.
Tu crées une base access.MDB. avec des tables et des relations. Avec
l'assistantAccess, tu la convertis à un projet ADP, avec unenouvelle base SQL. L'assistant ne crée pas de relations dans SQL, mais
crées des triggfers pour gérer tes relations.
J-Pierre
PS: J'utilise couramment des triggers avec ADP, je n'ai jamais eu de
problèmes.
"VUILLERMET Jacques" a écrit dans le message de
news:%Idem avec :
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null AND id = (SELECT id FROM inserted)
ou bien :
UPDATE Mvtcolis
SET NbPal = 0
FROM MvtColis INNER JOIN inserted ON MvtColis.id = inserted.id
WHERE inserted.NbPal is null
Jacques.
"VUILLERMET Jacques" a écrit dans le message de
news:
Une application fonctionne avec un client Access (ADP) et une base SQL
Server.
Elle fonctionne bien, et possède un formulaire ayant comme source une
table.
Mais quand je spécifie un trigger (INSERT, UPDATE) sur cette table
(qui lamodifie, code après la signature) alors Access est perdu : message
d'erreur"Conflit d'écriture - Cet enregistrement a été modifié par un autre
utilisateur... [Sauvegarder enregistrement] [Copier dans le
Presse-papiers][Annuler]".
Le trigger fonctionne bien avec un autre client que Access
(l'Analyseur derequêtes par exemple).
Est-il possible d'utiliser Access (ADP) avec une base possédant des
triggers?
Jacques.
***********************************************
CREATE TRIGGER trg_AvoidNullInNb ON [dbo].[MvtColis]
FOR INSERT, UPDATE
AS
UPDATE Mvtcolis
SET NbPal = 0
WHERE NbPal is null
UPDATE Mvtcolis
SET NbColis = 0
WHERE NbColis is null
UPDATE Mvtcolis
SET NbPlis = 0
WHERE NbPlis is null
UPDATE Mvtcolis
SET NbPiece = 0
WHERE NbPiece is null
/* Fin.*/