tranthanhan1962 > 03-10-15, 12:39 AM
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
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
(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????
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
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