• Cân chỉnh cột listbox của access như cột của sheet trên excel
  • Cân chỉnh cột listbox của access như cột của sheet trên excel

    tranthanhan1962 > 03-10-15, 12:39 AM

    Mặc định các cột của listbox trong access là cố định, vì vậy mỗi khi thiết kế listbox chúng ta phải canh tới,  canh lui và điều chỉnh column widths để làm sao khi hiển thị không khuất mất chữ. Thực là mệt mõi. Nhớ lại sao khi làm excel sao mà dễ dàng thế. Chỉ cần đưa trỏ chuột vào line phân cách ở đầu cột là có thể co dãn độ rộng cột tùy ý. Demo dưới dây cho phép bạn xử lý điều này.
    Trên form ThayDoiDoRongCotBangTay chỉ cần đưa trỏ chuột vào line phân cách các cột ở column heads. Khi thấy trỏ chuột biến thành mũi tên 2 đầu, đè chuột trái. Chúng ta có thể kéo và làm thay đổi độ rộng cột của listbox như excel.
    Trên form ThaydoidorongcotTudong. Chúng ta có thể thay đổi độ rộng cột: canh vừa độ rộng các ký tự trên cột hay canh đều các khoảng cột.
    Demo
  • RE: Cân chỉnh cột listbox của access như cột của sheet trên excel

    thucgia > 03-10-15, 10:35 AM

    (03-10-15, 12:39 AM)tranthanhan1962 Đã viết: Mặc định các cột của listbox trong access là cố định, vì vậy mỗi khi thiết kế listbox chúng ta phải canh tới,  canh lui và điều chỉnh column widths để làm sao khi hiển thị không khuất mất chữ. Thực là mệt mõi. Nhớ lại sao khi làm excel sao mà dễ dàng thế. Chỉ cần đưa trỏ chuột vào line phân cách ở đầu cột là có thể co dãn độ rộng cột tùy ý. Demo dưới dây cho phép bạn xử lý điều này.
    Trên form ThayDoiDoRongCotBangTay chỉ cần đưa trỏ chuột vào line phân cách các cột ở column heads. Khi thấy trỏ chuột biến thành mũi tên 2 đầu, đè chuột trái. Chúng ta có thể kéo và làm thay đổi độ rộng cột của listbox như excel.
    Trên form ThaydoidorongcotTudong. Chúng ta có thể thay đổi độ rộng cột: canh vừa độ rộng các ký tự trên cột hay canh đều các khoảng cột.
    Demo

    ý anh là thế nào???
    colum width thì "1cm;2cm...."
    còn list width thì bằng tổng (1+2=3) 3cm

     là xong chớ sao anh

    Nhưng có một điều mình thấy lạ là nếu chỉ bằng code thì có lỗi

    ví dụ trong open form : combo_GiDo.listwidth="3 cm" thì nó báo lỗi bắt buột phải là number mới chịu

    còn nếu set combo_GiDo.listwidth=3 thì nó không ép phê gì cả thế mới ghê

    Anh đã gặp trường hợp này chưa????
  • RE: Cân chỉnh cột listbox của access như cột của sheet trên excel

    tranthanhan1962 > 03-10-15, 02:39 PM

    (03-10-15, 10:35 AM)thucgia Đã viết: ý anh là thế nào???
    colum width thì "1cm;2cm...."
    còn list width thì bằng tổng (1+2=3) 3cm

    colum width trong thiết kế muốn thiết đặt thế nào cũng được. Đây là thiết đặt ban đầu khi open form. "1cm;2cm;3cm" là do mình tiện tay gõ vào. "1cm;1cm;1cm", "2cm;2cm;2cm" cũng chẳng sao. quan trọng là nhìn thấy đủ các cột để có cái mà kéo. 

    (03-10-15, 10:35 AM)thucgia Đã viết: Nhưng có một điều mình thấy lạ là nếu chỉ bằng code thì có lỗi

    ví dụ trong open form : combo_GiDo.listwidth="3 cm" thì nó báo lỗi bắt buột phải là number mới chịu

    còn nếu set combo_GiDo.listwidth=3 thì nó không ép phê gì cả thế mới ghê

    Anh đã gặp trường hợp này chưa????

    Trong code mặc định đơn vị số đo độ dài là twips (không được đưa đơn vị vào code). Bạn đưa cm vào nó không chịu là phải rồi.

    1 twips = 1/1440 inch, combo_GiDo.listwidth=3 có nghĩa là tổng độ rộng của các cột = 3 twips = 0,052916667 mm. Bạn phải dùng kính lúp mới thấy
  • RE: Cân chỉnh cột listbox của access như cột của sheet trên excel

    thucgia > 03-10-15, 05:21 PM

    (03-10-15, 02:39 PM)tranthanhan1962 Đã viết:
    (03-10-15, 10:35 AM)thucgia Đã viết: ý anh là thế nào???
    colum width thì "1cm;2cm...."
    còn list width thì bằng tổng (1+2=3) 3cm

    colum width trong thiết kế muốn thiết đặt thế nào cũng được. Đây là thiết đặt ban đầu khi open form. "1cm;2cm;3cm" là do mình tiện tay gõ vào. "1cm;1cm;1cm", "2cm;2cm;2cm" cũng chẳng sao. quan trọng là nhìn thấy đủ các cột để có cái mà kéo. 

    (03-10-15, 10:35 AM)thucgia Đã viết: Nhưng có một điều mình thấy lạ là nếu chỉ bằng code thì có lỗi

    ví dụ trong open form : combo_GiDo.listwidth="3 cm" thì nó báo lỗi bắt buột phải là number mới chịu

    còn nếu set combo_GiDo.listwidth=3 thì nó không ép phê gì cả thế mới ghê

    Anh đã gặp trường hợp này chưa????

    Trong code mặc định đơn vị số đo độ dài là twips (không được đưa đơn vị vào code). Bạn đưa cm vào nó không chịu là phải rồi.

    1 twips = 1/1440 inch, combo_GiDo.listwidth=3 có nghĩa là tổng độ rộng của các cột = 3 twips = 0,052916667 mm. Bạn phải dùng kính lúp mới thấy

    Mã:
    Private Sub Form_Load()
       
      Call LoadRibbons
      Me.RibbonName = "change option"
       
      Dim rs As ADODB.Recordset
      Set rs = LayDS_lop
      Set Me.Combo2.Recordset = rs
      With Me.Combo2
           .RowSourceType = "Table/Query"
           .BoundColumn = 1
           .ColumnCount = 2
           .ColumnWidths = "1cm;3cm"
           .ListWidth = 4 / 0.001763889
           ' 3 twips = 0,0052916667 cm => 1 twips=0.001763889 cm
           .ListRows = 20
           .ColumnHeads = True
      End With
      rs.Close
      Set rs = Nothing
      con.Close
    End Sub

    very and very thk

    Quả là :
    Đi mòn gày sắt không tìm đặng
    Xảy gặp Anh Trần chẳng tốn công.!!! 014