Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Muốn một trường chỉ nhập được khi trường khác cho phép.
#1
Trước tiên chào mọi người. Mình muốn nhờ mọi người hướng dẫn như thế này:
Mình có table: Nhập hồ sơ gốc, trong đó có trường tính chất (nước ngoài hay việt nam); Tên tiếng việt; tên nước ngoài;
Giờ mình muốn trường "Tên nước ngoài" chỉ nhập được khi tính chất là "Nước ngoài"; bác nào hướng dẫn mình với, cảm ơn nhiều.
Hình:

[Hình: 5230430_Capture.png]
____
Link file: https://drive.google.com/file/d/0B9YBsd6...xjdGM/view
Chữ ký của thanh_linh60 thanh_linh60,gia nhập Thủ Thuật Access từ 20-01 -16.
Reply
Những người đã cảm ơn
#2
(28-01-16, 08:35 AM)thanh_linh60 Đã viết: Trước tiên chào mọi người. Mình muốn nhờ mọi người hướng dẫn như thế này:
Mình có table: Nhập hồ sơ gốc, trong đó có trường tính chất (nước ngoài hay việt nam); Tên tiếng việt; tên nước ngoài;
Giờ mình muốn trường "Tên nước ngoài" chỉ nhập được khi tính chất là "Nước ngoài"; bác nào hướng dẫn mình với, cảm ơn nhiều.
Hình:

[Hình: 5230430_Capture.png]
____
Link file: https://drive.google.com/file/d/0B9YBsd6...xjdGM/view

Bạn có thể phân tích theo lô gic thế này nhé:
Đầu vào: Muốn khi Người ta chọn Tính chất là Nước ngoài
Đầu ra: Cho phép nhập thông tin Tên nước ngoài

Hãy lập một sơ đồ

Nếu [Tính chất = Nước ngoài] Thì
Cho nhập Tên nước ngoài
Còn (ý là không phải)
Không cho nhập Tên nước ngoài
Kết thúc

Và bạn chuyển thành một dạng cú pháp

If Tinhchat = "Nước ngoài" Then
'CHo nhập (mở khóa)
Tên nước ngoài.Enabled=true
Tên nước ngoài.Locked=False
Else
'Không cho nhập (khóa)
Tên nước ngoài.Enabled=False
Tên nước ngoài.Locked=True
End if

Và đương nhiên là bạn sẽ kích hoạt cái đó khi mà người dùng lựa chọn vậy thủ tục kiểm tra phải được kích hoạt khi người dùng lựa chọn TÍnh chất
Và vì vậy nó sẽ nằm trong các sự kiện liên quan đến COmbo Tính chất...
Bạn đoán xem cách làm đi
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn caytregiavn77 , thanh_linh60 , Che_Guevara
#3
Cảm ơn [b]paulsteigel
[/b]Mình cũng nghĩ dùng hàm ìif, nhưng mà mình chưa học đến module bạn à, chỉ mới biết sơ về table, querry, form, report.
Mình tưởng cái này dùng đến validation rule 024 024
Bạn hướng dẫn mình chi tiết hơn một chút được không, nếu hiểu thì sau này gặp mình cũng xử lí nhanh hơn big green
Chữ ký của thanh_linh60 thanh_linh60,gia nhập Thủ Thuật Access từ 20-01 -16.
Reply
Những người đã cảm ơn
#4
Validation là việc cho phép nhập nội dung theo một trật tự, nguyên tắc nào đó. Tất nhiên là cũng có thể làm được với tình huống này nhưng rất phức tạp.
Cách đơn giản và dễ nhất là theo hướng sử dụng Macro hoặc mã VBA.
Các bước bạn cần làm như sau:
1. Mặc định khi chạy form/ sang bản ghi khác thì khóa/mở khóa Hộp Textbox Tên nước ngoài tùy theo trạng thái của Combo Tính chất
2. Viết thủ tục thực hiện khóa/ mở khóa hoặc thiết kế Macro
Vì việc mở/đóng khóa này do 2 thứ quy định:
+ Khi Form chuyển sang bản ghi mới thì nó tự tải thông tin từ Bảng vào
+ Khi người dùng thay đổi thông tin trên ComboBox

Ở đây mình hướng dẫn một Macro (vì bạn để tên các đối tượng là tiếng việt hết nên bạn sẽ không thể viết được mã VBA)

Góp ý:
Bản thiết kế của bạn toàn dùng tên trường/ bảng bằng tiếng Việt - điều này sẽ gây ra lỗi không báo trước trong một số trường hợp!
Việc bạn để NNhayVN là trường dùng chữ Việt Nam/ Nước ngoài làm thông tin kiểm tra thì e rằng không ổn. Nên sửa thông tin kiểm tra là số thay vì tiếng việt như vậy.
Bạn hãy xem - mình sửa cho bạn và nghiên cứu nhé - như thế dễ kiểm soát hơn.
Nguồn của Combo145 là như sau
SELECT [Nơi cư trú].ID, [Nơi cư trú].[Nơi cư trú] FROM [Nơi cư trú];
ColumnCount (số cột) là 3
ColumnWidths là 0";0";1" (để giấu cột 1)
BoundColumn là 1 để lấy giá trị số và đưa vào CSDL - Việt Nam sẽ là 1, Nước ngoài sẽ là 2

Nhấn vào Combo 145, chọn Property, chọn Event, chọn After Update, chọn [mcrSetItem] và bạn sẽ thấy Macro mình viết

Tương tự, ở sự kiện FormCurrent (khi form chuyển bản ghi, mình cũng kích hoạt mcrSetItem)

Bạn tải file ứng dụng ở đây
http://www.sfdp.net/thuthuataccess/Hosok...ects=0&d=1
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn caytregiavn77 , Noname , Che_Guevara , thanh_linh60
#5
Mình đã ứng dụng được, cảm ơn bác rất nhiều 015 015 015 015 015
Chữ ký của thanh_linh60 thanh_linh60,gia nhập Thủ Thuật Access từ 20-01 -16.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] So sánh 2 Table Lấy ra dữ liệu trùng nhau sang 1 table có sẳn khác thdanh 21 1,678 19-07-16, 04:21 PM
Bài mới nhất: maidinhdan
  [Help] ràng buộc dữ liệu giữa 2 field trong 2 bảng khác nhau hoangtiep 5 280 08-07-16, 05:07 PM
Bài mới nhất: maidinhdan
  [Hỏi] ValidationRule Bắt buộc Nhập 10 kí tự vào ô text minhtungph 6 259 16-05-16, 03:36 PM
Bài mới nhất: hieuvn
  [Help] Copy dữ liệu từ bảng này sang bảng khác huymcsa 2 351 01-02-16, 11:48 AM
Bài mới nhất: huan.backan1983
  [Help] Code không hoạt động được với Linked table vulhu06 2 370 26-01-16, 02:30 PM
Bài mới nhất: lttruc682

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ