• Tạo nút lệnh trên Form để view report (Single view)
  • 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 stringAs String
    Me.txt.Diachi

    If "" Then
       b 
    Me.btPhuong1.Caption
    Else
       b ", " 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,
    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.
    Dời vào trong hàm if dưới else
    Mã PHP:
    Private Sub btPhuong1_Click()
    Dim a As stringAs String
    If Me.txt.Diachi "" Then
       b 
    Me.btPhuong1.Caption
    Else
    Me.txt.Diachi
    ", " 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,
    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.
    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!
  • 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.
    [Hình: 35390292464_4f4da12f20_z.jpg]

    [Hình: 35831550140_87cb2ddb8e_b.jpg]

    [Hình: 35390292534_3dc8daca3f_b.jpg]
  • 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