NadyaT
Дата: 19.11.2009 16:14:58
Может кто знает как сделать так, чтобы когда триггер не пропускает изменения в таблице (MS SQL 2005) в ACCESS 2002 выдавалось сообщение об ошибке.
Если изменять данные через Management Studio, то триггер выдает сообщение о причине невозможности изменения, на форме данные меняются но изменения сохранить невозможно и ни одного сообщения не возникает, форма "зависает". С SQL 2000 такой ошибки не возникает:(
NadyaT
Дата: 24.11.2009 14:28:30
VladimirKr,
Например, есть таблица и триггер
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Table_1](
[a1] [nchar](10) NOT NULL,
[a2] [nchar](10) NULL,
CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED
(
[a1] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER dbo.test_1_IUD
ON dbo.Table_1
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON
RAISERROR ('Ошибка. ',16,1)
ROLLBACK TRANSACTION
return
END
GO
Если в SQL вводить данные, то выдает сообщение об триггере, но если вводить или изменять данные в Access 2002, то ошибки не выдает. Что делать (((.
Может в Sql 2005 и Access 2002 конфликт?
VladimirKr
Дата: 24.11.2009 15:04:20
NadyaT,
У меня
Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Express Edition with Advanced Services on Windows NT 5.1 (Build 2600: Service Pack 3)
MS Access 2003 SP3 (11.8204.8172)
Ошибку выдает.
Похоже, версия акса 2002 делает по другому.
NadyaT
Дата: 24.11.2009 15:54:43
VladimirKr,
У меня
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005
00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Developer
Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ...