- Ở cái Textbox bạn thấy có 2 mũi tên lên/ xuống là để di chuyển lên xuống dòng trong textbox đó nếu dữ liệu nó dài chiều ngang của textbox. Muốn không hiển thị nó bạn vô Form Properties | Format: kiếm dòng Srolls bar: chọn "None".
- Ở Access 2003 trở xuống có cái Control là SPIN BUTTON để thực hiện tăng giảm như yêu cầu của bạn. Nhưng qua Access 2007 trở đi thì nó không còn là tool mặc định mà phải Insert ActiveX Controls. Bạn vô Insert ActiveX Controls -> chọn Microsoft Form 2.0 SpinButton. Tôi không khuyến khích bạn xài cái này vì khi đem ứng dụng qua máy khác lại phải khai báo thư viện này nữa, phiền phức.
- Trong form này tôi có demo cho bạn 1 cái custom Spin button dùng Command button để làm. Tạo 2 nút lệnh, đặt tên lần lượt là: SpinUpBtn, SpinDownBtn. Copy đoạn code bên dưới vào module và đặt tên "modSpinButton"
Mã PHP:
Public Sub SpinDown(TxtBx As TextBox)
'Giam gia tri cua Textbox 1 don vi den tri min = 0.'
If TxtBx.Value > 0 Then
TxtBx.Value = TxtBx.Value - 1
End If
End Sub
Public Sub SpinUp(TxtBx As TextBox)
'Tang gia tri cua textbox 1 don vi va den max = 1000'
If TxtBx.Value < 1000 Then
TxtBx.Value = TxtBx.Value + 1
End If
End Sub
Ở sự kiện 2 nút lệnh vừa tạo ở trên Click:
Mã PHP:
Private Sub SpinDownBtn_Click()
Call SpinDown(Me.SoNgayNghi)
End Sub
Private Sub SpinUpBtn_Click()
Call SpinUp(Me.SoNgayNghi)
End Sub
Bạn có thể tái sử dụng cho cho các textbox khác. Chỉ cần thay thế tham số TxtBox của thủ tục SpinUp/ SpinDown
- Về lỗi các nút lệnh [Thêm], [Sửa]... bạn phải xem lại thật kỹ quy trình, cách thức xử lý của từng thao tác cho nó hợp lý, chặt chẽ. Tôi thấy form này bạn bị nhiều lỗi về logic xử lý. Lỗi như hình trên là do form đang ở chế độ: Me.AllowAdditions = False (Không cho thêm record).
Bạn xem kỹ file demo rồi áp dụng cho các form khác của bạn.
http://www.mediafire.com/download/f4hoo8...d%29.accdb