-
RE: Tạo nút lệnh trên Form để view report (Single view)
maidinhdan > 15-07-17, 01:42 AM
Sửa lại như sau
Mã PHP:Private Sub btPhuong1_Click()
Dim a As string, b As String
a = Me.txt.Diachi
If a = "" Then
b = Me.btPhuong1.Caption
Else
b = a & ", " & Me.btPhuong1.Caption
End If
Me.txt.Diachi = b
End Sub -
RE: Tạo nút lệnh trên Form để view report (Single view)
DooHoaangPhuuc > 15-07-17, 03:27 PM
Chào Bác maidinhdan,
Cảm ơn Bác và các Bác khác đã hướng dẫn cũng như góp ý về cách giải quyết, vì đơn giản cho nhanh nên không cần dùng combobox cũng như listbox. (vì click chuột cho nhanh, các nút đặt góc thuận tiện chọn).
Theo đoạn mã trên, lỗi xảy ra tại đoạn
a = Me.txt.Diachi
Dường như chưa có mối liên quan giữa a và b trong câu lệnh
If a = "" Then
b = Me.btPhuong1.Caption
Cảm ơn Các Bác. -
RE: Tạo nút lệnh trên Form để view report (Single view)
maidinhdan > 15-07-17, 04:04 PM
(15-07-17, 03:27 PM)DooHoaangPhuuc Đã viết: Chào Bác maidinhdan,
Dời vào trong hàm if dưới else
Cảm ơn Bác và các Bác khác đã hướng dẫn cũng như góp ý về cách giải quyết, vì đơn giản cho nhanh nên không cần dùng combobox cũng như listbox. (vì click chuột cho nhanh, các nút đặt góc thuận tiện chọn).
Theo đoạn mã trên, lỗi xảy ra tại đoạn
a = Me.txt.Diachi
Dường như chưa có mối liên quan giữa a và b trong câu lệnh
If a = "" Then
b = Me.btPhuong1.Caption
Cảm ơn Các Bác.
Mã PHP:Private Sub btPhuong1_Click()
Dim a As string, b As String
If Me.txt.Diachi = "" Then
b = Me.btPhuong1.Caption
Else
a = Me.txt.Diachi
b = a & ", " & Me.btPhuong1.Caption
End If
Me.txt.Diachi = b
End Sub -
RE: Tạo nút lệnh trên Form để view report (Single view)
tranthanhan1962 > 15-07-17, 04:58 PM
(15-07-17, 03:27 PM)DooHoaangPhuuc Đã viết: Chào Bác maidinhdan,
Thực ra nếu sử dụng button chưa chắc đã nhanh hơn combobox. Vì sử dụng combobox không cần chuyển qua dùng chuột luôn. Chẳng qua là do bạn chưa có kỹ năng sử dụng bàn phím tốt. Ngay cả khi dùng button cũng sử dụng phím tắt chứ không cần sử dụng chuột đâu!
Cảm ơn Bác và các Bác khác đã hướng dẫn cũng như góp ý về cách giải quyết, vì đơn giản cho nhanh nên không cần dùng combobox cũng như listbox. (vì click chuột cho nhanh, các nút đặt góc thuận tiện chọn).
Theo đoạn mã trên, lỗi xảy ra tại đoạn
a = Me.txt.Diachi
Dường như chưa có mối liên quan giữa a và b trong câu lệnh
If a = "" Then
b = Me.btPhuong1.Caption
Cảm ơn Các Bác. -
RE: Tạo nút lệnh trên Form để view report (Single view)
DooHoaangPhuuc > 28-07-17, 10:21 PM
Chào Chú Dân,
+ Cháu thử thấy vẫn lỗi cho cú pháp phía dưới này
Private Sub btPhuong1_Click()
Dim a As string, b As String
If Me.txt.Diachi = "" Then
b = Me.btPhuong1.Caption
Else
a = Me.txt.Diachi
b = a & ", " & Me.btPhuong1.Caption
End If
Me.txt.Diachi = b
End Sub
+ Thử cách xét điều kiện rỗng nhưng không biết sao cú pháp vẫn sai :
Dim a As String, b As String
If IsNull(txtDiachi) = True Then Me.txtDiachi = Me.BtPhuong.Caption
ElseIf IsNull(txtĐiachi) = False Then a = Me.txtDiachi
b = a & "," & Me.BtPhuong.Caption
b = Me.txtDiachi
End If
End Sub
Các Bác xem và sửa giúp các cú pháp trên. Cháu cảm ơn rất nhiều -
RE: Tạo nút lệnh trên Form để view report (Single view)
ongke0711 > 29-07-17, 12:54 AM
Có chút góp ý với bạn. Ý tôi cũng giống như bạn lmthu và anh tranthanhan1962 đã góp ý: chuyển nút phường, quận thành Combobox là cách thuận tiện nhất.
Lập trình bạn phải dự kiến trước các trường hợp có thể phát sinh để tránh sau này phải thiết kế lại Form, viết thêm code v.v..Mất thời gian, công sức gấp mấy lần.
- Nếu sau này có thêm phường, quận mới hoặc sáp nhập quận ví dụ như nhập huyện Củ Chi với Hóc Môn thành quận Củ Môn thì sao. Bạn phải vô Form thiết kế lại à, viết thêm code cho nút mới à?
- Trong cái form này, phường, quận chỉ là một thông tin phụ thôi mà bạn phải lãng phí không gian thiết kế quý giá trên form dành cho một đống nút lệnh phường quận. Về cảm nhận người dùng, khi họ mở cái form của bạn lên chắc sẽ nghĩ bạn đang làm công tác thống kê phường quận gì đó chứ không phải nhập liệu vì một đống nút lệnh đập vào mắt.
Demo: Form viết tay họ cũng tách phường, quận ra.
-
RE: Tạo nút lệnh trên Form để view report (Single view)
DooHoaangPhuuc > 11-08-17, 12:45 AM
Cảm ơn Chú Ongke0711 đã góp ý. Như cháu đã trình bày lần trước (có thể chú Dan xoá nhầm), để đơn giản đôi khi cũng thật hiệu quả không chỉ cho yêu cầu nêu trên mà đôi khi cần thiết cho những ứng dụng khác khi nối ghép một số đối tượng, khi đó combobox chưa hẳn là giải pháp tốt. Ví như chỉ có 5 hoặc 7 đối tượng phải chọn ghép nối sẽ nhanh hơn việc phải làm hàng trăm dòng (hàng ngàn dòng) trong combobox và khó khăn vừa di chuyển vừa tìm. Cũng qua các hướng dẫn trên đây, cháu cũng tìm được giải pháp xử lý khi đưa lệnh bẫy lỗi “On Error Resume Next” vào. Chân thành cảm ơn Các Bác, các Chú vừa qua đã hướng dẫn, góp ý .
Nhân đây cháu cũng xin được giúp đỡ cách đưa ra giải pháp về vấn đề điều kiện lọc như sau :
+ Form nhập liệu : Form_nhap (dùng để nhập dữ liệu vào Tbl_nhap)
Ngoài các textbox trên Form_nhap, còn có 02 textbox được nhập liệu có chức năng lây nguồn gán dữ liệu và điều kiện lọc sau:
txtMa : textbox dùng gán dữ liệu cho các textbox khác trên Form_nhap thông qua hàm dò tìm Dlookup trong bảng Table_nguon.
txtTen : là textbox điều kiện thực hiện lọc .
+ Table_nguon : có các trường ( Ma ; Ten ; X1 ; X2 ; X3 ….. theo ví dụ bên dưới )
Như vậy sau khi nhâp liệu vào txtTen, txtMa, và ở sự kiện AfterUpdate của txtMa . Lệnh dò tìm thoả đúng cả 2 điều kiện cho cả txtMa, txtTen trên dòng record trong Table_nguon:
- Nếu giá trị không trùng nhau : [Table_nguon]![Ten] <> [txtTen] -----> Msgbox “Kiểm tra lại không trùng tên”
- Nếu giá trị trùng nhau : [Table_nguon]![Ten] = [txtTen]
Thì sẽ tiếp tục cho thực hiện gán giá trị thông qua Hàm Dlookup
("X1", “Table_nguon”, “Ma = '" & txtMa.Value & "'")
……………….
…………….
End Sub.
Ví dụ :
Table_nguon co các trường :
Ma Ten X1 X2 X3 …. (trường)
M01 Ten1 x1.1 x2.1 x3.1 .... (dòng record thứ nhất)
M02 Ten2 x1.2 x2.2 x3.2 .... (dòng record thứ hai)
……………………………………………………………………………………………………………..
Mn Ten1 x1.n x2.n x3.n .... (dòng record thứ n)
1.Khi gán : (trường hợp 1)
txtTen = “Ten3” (Ten3 không có trong dòng record thứ n)
txtMa = “Mn”
Thì sẽ thông báo Msgbox “Kiểm tra lại do không trùng tên”
2.Khi gán : (trường hợp 2)
txtTen = “Ten1” (Ten1 nằm trong Recordset của dòng record thứ n) (Điều kiện thoả Ten)
txtMa = “Mn” (Điều kiện thoả Ma )
Thì lệnh thực hiện gọi hàm Dlookup(…………) (dò và tìm x1.n; x2.n, x3.n ; .... để gán vào các textbox khác cho Form_Nhap)
………………
End Sub.
Nhờ Các Bác, các Chú hướng dẫn giải pháp lọc điều kiện nêu trên.
Cảm ơn Các Bác, các Chú.
Cháu DoHoangPhuc