yamakashi2003 > 26-12-19, 12:47 AM
(26-12-19, 12:30 AM)yamakashi2003 Đã viết:(26-12-19, 12:04 AM)ongke0711 Đã viết:.(25-12-19, 11:52 PM)yamakashi2003 Đã viết: bác ơi nếu em không nhầm thì code trên là thêm record vào table nguồn của subform phải k ạ,
nhưng em muốn hỏi bác code để ghi trực tiếp lên subform ấy ạ
còn code ghi lên table rồi requery subform thì em nghĩ ra rồi ạ
Vậy là bạn dùng dạng Unbound Subform à? Tức là chưa muốn ghi dữ liệu lên Table mà chỉ hiển thị trên Form để xem trước?
Cho dù cách nào thì cũng phải ghi dữ liệu lên Table và Form chỉ hiển thị dữ liệu từ table đó.
Riêng trường hợp của bạn, muốn ghi dữ liệu nhiều dòng của SubForm thì chí có một cách duy nhất là tạo table tạm (rỗng) làm nguồn cho subform. Sau khi ghi dữ liệu xuống table tạm này rồi, quyết định lưu chính thức thì Append no vô table chính.
Vâng em cảm ơn bác nhiều ạ
ongke0711 > 26-12-19, 01:05 AM
(26-12-19, 12:47 AM)yamakashi2003 Đã viết: Bác ơi cho em hỏi 1 vấn đề không liên quan,
giờ nếu em muốn thiết kế là nếu txtmakh không có dữ liệu thì tất cả đối tượng trên form sẽ tàng hình, nếu txtmakh có dữ liệu thì đối tượng khác trên form mới hiện ra.
code thì e biết viết nhưng em k nghĩ ra áp nó vào sự kiện nào trên main form giờ ạ
yamakashi2003 > 26-12-19, 01:14 AM
(26-12-19, 01:05 AM)ongke0711 Đã viết:(26-12-19, 12:47 AM)yamakashi2003 Đã viết: Bác ơi cho em hỏi 1 vấn đề không liên quan,
giờ nếu em muốn thiết kế là nếu txtmakh không có dữ liệu thì tất cả đối tượng trên form sẽ tàng hình, nếu txtmakh có dữ liệu thì đối tượng khác trên form mới hiện ra.
code thì e biết viết nhưng em k nghĩ ra áp nó vào sự kiện nào trên main form giờ ạ
Trường hợp này cũng còn tuỳ cái txtmakh của bạn khi nào được cập nhật để biết là có hay không có dữ liệu? Khi bấm nút tìm kiếm hay khi thao tác gì để trả về giá trị cho txtmakh?
Bạn cung cấp không đủ dữ kiện.
(PS: không nên tô đậm chữ không cần thiết vì nhìn nặng nề quá)
ongke0711 > 26-12-19, 01:23 AM
tranthanhan1962 > 26-12-19, 11:31 AM
(26-12-19, 01:14 AM)yamakashi2003 Đã viết: ý em là trên form có sự kiện gì mà nó liên tục kiểm tra txtmakh không ạ, để khi nó tự kiểm tra txtmakh mà thấy nó có dữ liệu thì cho hiện ra đối tượng khác, ngược lại thì cho tàng hình hết ạMuốn "nó liên tục kiểm tra txtmakh" một cách tự động bạn có thể sử dụng event Form_Timer(). Và thiết đặt Timer Interval >0
Tiện a cho em hỏi có cách nào khóa 1 textbox không cho delete dữ liêu, chỉ cho gõ thêm dữ liệu không ạ
yamakashi2003 > 27-12-19, 12:00 AM
(26-12-19, 01:23 AM)ongke0711 Đã viết: Sự kiện Form Current. Khi có sự thay đổi trên form như: di chuyển, click chuột, sửa dữ liệu .... sẽ kích hoạt sự kiện này.
Vụ khoá Textbox như trên thì bạn nên tìm giải thuật khác cho bài toán của bạn chứ cái cách này thì code phức tạp và tôi chưa thấy trường hợp này. bài toán của bạn như thế nào mà cần phải thao tác như vậy?
yamakashi2003 > 27-12-19, 09:37 PM
(26-12-19, 11:31 AM)tranthanhan1962 Đã viết:(26-12-19, 01:14 AM)yamakashi2003 Đã viết: ý em là trên form có sự kiện gì mà nó liên tục kiểm tra txtmakh không ạ, để khi nó tự kiểm tra txtmakh mà thấy nó có dữ liệu thì cho hiện ra đối tượng khác, ngược lại thì cho tàng hình hết ạMuốn "nó liên tục kiểm tra txtmakh" một cách tự động bạn có thể sử dụng event Form_Timer(). Và thiết đặt Timer Interval >0
Tiện a cho em hỏi có cách nào khóa 1 textbox không cho delete dữ liêu, chỉ cho gõ thêm dữ liệu không ạ
Private Sub Form_Timer()
If Len(txtmakh)>0 then
Đối tượng 1.Visible = True
Đối tượng 2.Visible = True
Đối tượng 3.Visible = True
......
Else
Đối tượng 1.Visible = False
Đối tượng 2.Visible = False
Đối tượng 3.Visible = False
......
End Sub
Để khóa 1 textbox không cho delete dữ liêu, chỉ cho gõ thêm dữ liệu. Bạn Khóa textbox (Textbox1) đó lại (Locked = Yes), Tạo một textbox khác, tạo event cho texbox mới (Textbox2)
Private Sub Textbox2_AfterUpdate()
Textbox1.Value = Textbox1.Value & " " & Textbox2.Value
End Sub
ongke0711 > 27-12-19, 10:38 PM
Private Sub TXTMAKH_Change()
If Me.Dirty Then Me.Dirty = False
If Len(Nz(Me.TXTMAKH, "")) = 0 Then
Me.txttenkh.Visible = False
Me.txtsdt.Visible = False
Else
Me.txttenkh.Visible = True
Me.txtsdt.Visible = True
End If
End Sub