Mỗi tuần một chuyên đề

Thiết lập Relationship Database kế toán

  • Thread starter nghikt2
  • Ngày gửi
N

nghikt2

Guest
31/3/07
29
0
6
TP.HCM
Tôi có 3 table:
- CT_MAIN(STT,SO_CT,NGAY_CT,DIEN_GIAI...) Khóa (SO_CT)
- CT_HTOAN(STT,SO_CT,TK_NO,TK_CO,SO_TIEN...) khóa (SO_CT,TK_NO,TK_CO)
- DM_TK(MA_TK,TEN_TK...) Khóa (MA_TK)
Xin hỏi diễn đàn lập relaitionship giữa 2 table DM_TK và CT_HTOAN như thế nào ? (Database thiết kế trên SQL server). Tôi chỉ làm được 1 trong hai mà thôi : MA_TK <-> TK_NO hoặc MA_TK <-> TK_CO. Mục tiêu mong muốn khi nhập dữ liệu vào TK_NO hoặc TK_CO thì phải tham chiếu vào MA_TK trong table DM_TK (không dùng trigger).
 
Sửa lần cuối:
Khóa học Quản trị dòng tiền
A

anh phuong

Guest
15/5/07
60
2
8
Mien Tay
Tôi có 3 table:
- CT_MAIN(STT,SO_CT,NGAY_CT,DIEN_GIAI...) Khóa (SO_CT)
- CT_HTOAN(STT,SO_CT,TK_NO,TK_CO,SO_TIEN...) khóa (SO_CT,TK_NO,TK_CO)
- DM_TK(MA_TK,TEN_TK...) Khóa (MA_TK)
Xin hỏi diễn đàn lập relaitionship giữa 2 table DM_TK và CT_HTOAN như thế nào ? (Database thiết kế trên SQL server). Tôi chỉ làm được 1 trong hai mà thôi : MA_TK <-> TK_NO hoặc MA_TK <-> TK_CO. Mục tiêu mong muốn khi nhập dữ liệu vào TK_NO hoặc TK_CO thì phải tham chiếu vào MA_TK trong table DM_TK (không dùng trigger).

Khi add table vào Relaitionship, nhớ add thêm một table DM-TK nữa(Khi đó trên lưới Rela có hai table là DM_TK và DM_TK_1, kéo MA_TK của DM_TK vàoTK_NO và MA_TK của DM_TK_1 vào TK_CO của CT_HTOAN, thế là OK rồi
Thân
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Ví dụ về thiết kế CSDL:

customers_and_invoices_model.gif
 
N

nghikt2

Guest
31/3/07
29
0
6
TP.HCM
Em đang gặp khó khăn
1. Khi nhập chứng từ thì tài khoản đối ứng sẽ làm như thế nào
2. Bóc số liệu cho bảng lưu chuyển tiền tệ. (Ví dụ: Chỉ lọc ra số liệu phát sinh có của tài khoản 111 đối ứng tài khoản 331")
Vì không biết cách lấy tài khoản đối ứng trong bảng nên em không tính được các chỉ tiêu báo cáo tài chình
CSDL tổ chức như bên dưới . Nhờ các anh chị chỉ điểm

CREATE TABLE [dbo].[DMCT]
(
[LOAI_CT] [varchar] (20)NOT NULL ,
[TEN_LOAI_CT] [nvarchar] (50) NULL ,
[NHOM] [char] (1) NULL ,
[MO_TA] [nvarchar] (100) NULL ,
[TK_NO_DEFAULT] [nvarchar] (20) NULL ,
[TK_CO_DEFAULT] [nvarchar] (20) NULL ,
[ReportName] [varchar] (150) NULL ,
CONSTRAINT [PK_DMCT] PRIMARY KEY ([LOAI_CT])
)
ON [PRIMARY]
GO

CREATE TABLE [dbo].[DMTK]
(
[MA_TK] [varchar] (20) NOT NULL ,
[TEN_TK] [nvarchar] (255) NULL ,
[MO_TA] [nvarchar] (255) NULL ,
[MA_TKTH] [varchar] (20) NULL ,
[LOAI_SO_DU] [varchar] (50) NULL ,
[HACH_TOAN] [bit] NULL ,
[TKCN] [int] NULL ,
[HOAT_DONG] [bit] NULL ,
[DU_NO] [money] NULL DEFAULT (0),
[DU_CO] [money] NULL DEFAULT (0),
[LOAI_TK] [varchar] (50) NULL ,
CONSTRAINT [PK_DMTK] PRIMARY KEY([MA_TK])
)
ON [PRIMARY]
GO

CREATE TABLE [dbo].[CT_MAIN]
(
[IDCT] [int] NOT NULL ,
[LOAI_CT] [varchar] (20) NOT NULL ,
[SO_CT] [varchar] (20) NOT NULL ,
[NGAY_CT] [datetime] NOT NULL ,
[DIEN_GIAI] [nvarchar] (100) NULL ,
[KE_TOAN] [varchar] (20) NULL ,
[MA_KH] [varchar] (20) NULL ,
[ONG_BA] [nvarchar] (50) NULL ,
[TEN_CONG_TY] [nvarchar] (100) NULL ,
[DIA_CHI] [nvarchar] (150) NULL ,
[PTTT] [varchar] (2) NULL ,
[MA_SO_THUE] [char] (14) NULL ,
[BANG_KE] [char] (50) NULL ,
[KY_HIEU_HD] [varchar] (20) NULL ,
[SO_HD] [varchar] (7) NULL ,
[NGAY_HD] [datetime] NULL ,
[MAT_HANG] [nvarchar] (50) NULL ,
[TIEN_CHUA_THUE] [money] NULL ,
[THUE_SUAT] [int] NULL ,
[TIEN_THUE] [money] NULL ,
[TONG_TIEN] [money] NULL ,
[CT_KEM_THEO] [nvarchar] (80) NULL ,
[GHI_CHU] [nvarchar] (50) NULL ,
[Locked] [bit] NULL ,
[LockedBy] [varchar] (50) NULL ,
[CreatedBy] [varchar] (50) NULL ,
[CreatedDate] [datetime] NULL ,
[LastUpdateBy] [varchar] (50) NULL ,
[LastUpdateDate] [datetime] NULL ,
CONSTRAINT [PK_CTMAIN] PRIMARY KEY ([IDCT]),
CONSTRAINT [FK_CTMAIN_DMCT] FOREIGN KEY ([LOAI_CT]) REFERENCES [DMCT] ([LOAI_CT]) ON UPDATE CASCADE
)
ON [PRIMARY]
GO


CREATE TABLE [dbo].[CT_HTOAN]
(
[IDCT] [int] NOT NULL ,
[IDCTHT] [int] NOT NULL ,
[NO_CO] [Char] (1) NOT NULL,
[MA_TK] [varchar] (20) NOT NULL,
[TEN_TK] [nvarchar] (255) NULL,
[SO_TIEN] [money] NULL DEFAULT 0
CONSTRAINT [PK_CTHTOAN] PRIMARY KEY ([IDCT],[IDCTHT]) ON [PRIMARY] ,
CONSTRAINT [FK_CTHTOAN_CTMAIN] FOREIGN KEY ([IDCT]) REFERENCES [CT_MAIN] ([IDCT]) ON UPDATE CASCADE,
CONSTRAINT [FK_CTHTOAN_DMTK] FOREIGN KEY ([MA_TK]) REFERENCES [DMTK] ([MA_TK]) ON UPDATE CASCADE
)
ON [PRIMARY]
GO
 
D

dinhtdbic

Guest
11/1/10
1
0
0
Ha noi
1. Khi nhập chứng từ thì tài khoản đối ứng sẽ làm như thế nào?

Để lấy được tài khoản đối ứng thì dựa vào loại chứng từ và tài khoản nhập ví dụ:

Select TK_CO_DEFAULT From dbo.dmct where loai_ct = '01' and TK_NO_DEFAULT = '111';

Tuy nhiên kết quả trả về có thể là một danh sách một hoặc nhiều bản ghi phụ thuộc vào lúc bạn thiết lập một tài khoản đối ứng với một hay nhiều tài khoản khác. Bạn cần hiển thị danh sách chọn tài khoản đối ứng dưới dạng một ListBox để người dùng chọn.

2. Bóc số liệu cho bảng lưu chuyển tiền tệ. (Ví dụ: Chỉ lọc ra số liệu phát sinh có của tài khoản 111 đối ứng tài khoản 331")
Tương tự như trên nhưng mệnh đề where bạn bỏ điều kiện loại chứng từ đi.

Select TK_CO_DEFAULT From dbo.dmct where TK_NO_DEFAULT = '111';
 
H

Ho phong

Guest
13/5/08
8
0
0
39
thu duc
Nguyên văn bởi nghikt2
Tôi có 3 table:
- CT_MAIN(STT,SO_CT,NGAY_CT,DIEN_GIAI...) Khóa (SO_CT)
- CT_HTOAN(STT,SO_CT,TK_NO,TK_CO,SO_TIEN...) khóa (SO_CT,TK_NO,TK_CO)
- DM_TK(MA_TK,TEN_TK...) Khóa (MA_TK)
Xin hỏi diễn đàn lập relaitionship giữa 2 table DM_TK và CT_HTOAN như thế nào ? (Database thiết kế trên SQL server). Tôi chỉ làm được 1 trong hai mà thôi : MA_TK <-> TK_NO hoặc MA_TK <-> TK_CO. Mục tiêu mong muốn khi nhập dữ liệu vào TK_NO hoặc TK_CO thì phải tham chiếu vào MA_TK trong table DM_TK (không dùng trigger).
--------------------------
Khi add table vào Relaitionship, nhớ add thêm một table DM-TK nữa(Khi đó trên lưới Rela có hai table là DM_TK và DM_TK_1, kéo MA_TK của DM_TK vàoTK_NO và MA_TK của DM_TK_1 vào TK_CO của CT_HTOAN, thế là OK rồi
Thân

----------------------------
em co tao ra 2 table trong relationship nhưng nó không hiểu vì em làm trong access
khó hiểu
 
W

windwind1992

Guest
21/3/11
1
0
0
32
ktx
sao mà phức tạp vậy, SQL là gì? Sao e học tin học B ko thấy từ này. he
 

Xem nhiều

Webketoan Zalo OA