Database access nhiều nguời dùng

  • Thread starter duynv
  • Ngày gửi
D

duynv

Thành viên sơ cấp
11/5/07
5
0
0
39
dn
#1
csdl access gồm 1 form ghi thông tin số hóa đơn phát sinh(số hóa đơn là khóa và tự động tăng khi nguời dùng ấn nút thêm mới), nếu đưa file .mdb lên mạng và khi 2 nguời dùng cùng thêm mới hóa đơn thì báo lỗi số hóa đơn là duy nhất. tôi muốn hỏi các bạn khi chạy trên môi truờng mạng phải cấu hình như thế nào hoặc phải làm thế nào để tránh tình trạng xung đột như trên: mình phải xử lí như thế nào khi ấn nút thêm mới thì số hóa đơn sẽ được ghi vào table luôn(nếu người thứ 1 vào trước có số hóa đơn là 1 thì người thứ 2 ấn nút thêm mới thì sẽ có số hóa đon là 2). Cảm ơn
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,012
125
63
44
Hà nội
vnuni.net
#2
Phương án :

- ID tự động tăng. (rất nhiều người dùng Code thay cho ID là ko ổn lắm. ID là do CSDL xử lý. Code là đại diện cho bản ghi. Code có thể là Unique Index, còn ID sẽ là Primary key)

Hoặc:

- Thực hiện ID = NextID() trước khi thực hiện Save

Còn nhiều phương án khác nữa.


Hope that helps!
 
D

duynv

Thành viên sơ cấp
11/5/07
5
0
0
39
dn
#3
Anh hai2hai có thể giúp tôi rõ hơn được ko? Tôi đã cố gắng xử lí nhưng vẫn chưa được. Cảm ơn anh truớc nhé
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,012
125
63
44
Hà nội
vnuni.net
#4
Anh hai2hai có thể giúp tôi rõ hơn được ko? Tôi đã cố gắng xử lí nhưng vẫn chưa được. Cảm ơn anh truớc nhé
Bạn chọn trường ID là kiểu AutoNumber

Giả sử có 1 chứng từ có phần header như thế này:

ID (PK - AutoNumber)
TransNo (Unique Index)
TransRef
TransDate
.....

Hoặc bảng Inventory_Item bạn làm thế này:

ID (PK - AutoNumber)
ItemCode (Unique Index)
ItemName
ItemCategoryID (FK)
....

Tất cả các bảng quan hệ với nhau thông qua trường ID chứ không nên thông qua trường Code. Trong MS Access, ID nên để là AutoNumber và để hệ thống tự quản lý. Mình ko cần care đến trường đó làm gì. Dĩ nhiên, khi thao tác với bản ghi thì vẫn phải dùng tới trường đó để thao tác (edit, delete...)

Còn bạn muốn cái TransNo (Số hóa đơn tự động tăng) thì bạn viết cái hàm NextText() hoặc IncText() gì đó. Mình ko thể hướng dẫn tiếp cụ thể viết cái hàm đó như thế nào bạn ạ (ở trên forum này cũng có bài liên quan rồi đó)
 
Sửa lần cuối:

BQT trực tuyến

  • Lặng Yên
    Lặng Yên
    Điều hành cao cấp

Thành viên trực tuyến

  • hacquangia92
  • Huyền Mia
  • lilpianovn
  • Phạm Hoàng Phi Yến
  • YÊN QUỐC
  • Lặng Yên
  • Ho Ngoc Linh
  • daongocnam0603
  • dhnghia2015
  • minhminhCIC5
  • Lâm Thị Hiếu
  • donganhvantai
  • hồng5796
  • hale1234
  • Phương Hạ 111
  • ktkthh
  • Xuan N.T.T

Xem nhiều