Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hướng dẫn] Tiến, lùi trong Listbox
#1
Cho mình hỏi làm sao để khi nhấn nút "đầu, trước, sau, cuối" trong listbox thì cái đường đánh dấu record mà mình đang chọn (màu xanh, đen gì đấy, mình ko biết gọi là đường j nữa) dịch chuyển lên xuống theo, sau đó thì xuất ra textbox?
Chữ ký của cawboy Xin chào, mình là cawboy, Tham gia http://thuthuataccess.com/forum từ ngày 07-03 -14.
ღღღღღTài sản của cawboy (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#2
Bạn ngâm cứu thử function sau nhé (mình hay dùng chuột hơn).

Mã PHP:
Function fncSelectNextInListbox_
                lst 
As Access.ListBox_
               Optional bWrap 
As Boolean_
           As Long

   
' Select the next item in the list box passed as .
   ' 
If no item is selectedselect the first one.
   ' If the optional  argument is True, then the selection
   ' 
will wrap around from the last item in the list box to the
   
' first item.

   ' 
NOTETHIS FUNCTION ONLY WORKS FOR NON-MULTISELECT LIST BOXES.

   ' Copright (c) 2009, DataGnostics LLC.
   ' 
You are free to use this code in your applicationso long
   
' as the copyright notice remains unchanged.

   Dim lngMaxIndex As Long
   Dim lngFirstIndex As Long

   With lst

       If .ListCount <> 0 Then

           lngFirstIndex = Abs(.ColumnHeads)
           lngMaxIndex = .ListCount - lngFirstIndex - 1

           If .ItemsSelected.Count = 0 Then
               .Value = .ItemData(lngFirstIndex)
           Else
               If .ListIndex >= lngMaxIndex Then
                   ' 
We're at the end of the list box.
                   If bWrap Then
                       .Value = .ItemData(lngFirstIndex)
                   End If
               Else
                   .Value = .ItemData(.ListIndex + lngFirstIndex + 1)
               End If
           End If

       End If

       fncSelectNextInListbox = .ListIndex

   End With

End Function


Function fncSelectPreviousInListbox( _
               lst As Access.ListBox, _
               Optional bWrap As Boolean) _
           As Long

   ' 
Select the previous  item in the list box passed as .
   ' If no item is selected, select the first one.
   ' 
If the optional  argument is Truethen the selection
   
' will wrap around from the first item in the list box to the
   ' 
last item.
   
   
' NOTE: THIS FUNCTION ONLY WORKS FOR NON-MULTISELECT LIST BOXES.

   ' 
Copright (c2009DataGnostics LLC.
   ' You are free to use this code in your application, so long
   ' 
as the copyright notice remains unchanged.

   Dim lngMaxIndex As Long
   Dim lngFirstIndex 
As Long

   With lst
       
       If 
.ListCount <> 0 Then
   
           lngMaxIndex 
= .ListCount 1
           lngFirstIndex 
Abs(.ColumnHeads)
       
           If 
.ItemsSelected.Count 0 Then
               
.Value = .ItemData(lngMaxIndex)
           Else
               If 
(.ListIndex lngFirstIndex) <= lngFirstIndex Then
                   
' We're at the top of the list box.
                   If bWrap Then
                       
.Value = .ItemData(lngMaxIndex)
                   End If
               Else
                   
.Value = .ItemData(.ListIndex lngFirstIndex)
               End If
           End If
           
       End 
If

       fncSelectPreviousInListbox = .ListIndex
           
   End With

End 
Function 
Chữ ký của cpucloi Tôi chỉ biết mỗi một điều là những điều tôi biết được còn quá ít 021


ღღღღღTài sản của cpucloi (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
(10-01-18, 11:10 AM)cpucloi Đã viết: Bạn ngâm cứu thử function sau nhé (mình hay dùng chuột hơn).

Mã PHP:
Function fncSelectNextInListbox_
               lst 
As Access.ListBox_
               Optional bWrap 
As Boolean_
           As Long

   
' Select the next item in the list box passed as .
   ' 
If no item is selectedselect the first one.
   ' If the optional  argument is True, then the selection
   ' 
will wrap around from the last item in the list box to the
   
' first item.

   ' 
NOTETHIS FUNCTION ONLY WORKS FOR NON-MULTISELECT LIST BOXES.

   ' Copright (c) 2009, DataGnostics LLC.
   ' 
You are free to use this code in your applicationso long
   
' as the copyright notice remains unchanged.

   Dim lngMaxIndex As Long
   Dim lngFirstIndex As Long

   With lst

       If .ListCount <> 0 Then

           lngFirstIndex = Abs(.ColumnHeads)
           lngMaxIndex = .ListCount - lngFirstIndex - 1

           If .ItemsSelected.Count = 0 Then
               .Value = .ItemData(lngFirstIndex)
           Else
               If .ListIndex >= lngMaxIndex Then
                   ' 
We're at the end of the list box.
                   If bWrap Then
                       .Value = .ItemData(lngFirstIndex)
                   End If
               Else
                   .Value = .ItemData(.ListIndex + lngFirstIndex + 1)
               End If
           End If

       End If

       fncSelectNextInListbox = .ListIndex

   End With

End Function


Function fncSelectPreviousInListbox( _
               lst As Access.ListBox, _
               Optional bWrap As Boolean) _
           As Long

   ' 
Select the previous  item in the list box passed as .
   ' If no item is selected, select the first one.
   ' 
If the optional  argument is Truethen the selection
   
' will wrap around from the first item in the list box to the
   ' 
last item.
   
   
' NOTE: THIS FUNCTION ONLY WORKS FOR NON-MULTISELECT LIST BOXES.

   ' 
Copright (c2009DataGnostics LLC.
   ' You are free to use this code in your application, so long
   ' 
as the copyright notice remains unchanged.

   Dim lngMaxIndex As Long
   Dim lngFirstIndex 
As Long

   With lst
       
       If 
.ListCount <> 0 Then
   
           lngMaxIndex 
= .ListCount 1
           lngFirstIndex 
Abs(.ColumnHeads)
       
           If 
.ItemsSelected.Count 0 Then
               
.Value = .ItemData(lngMaxIndex)
           Else
               If 
(.ListIndex lngFirstIndex) <= lngFirstIndex Then
                   
' We're at the top of the list box.
                   If bWrap Then
                       
.Value = .ItemData(lngMaxIndex)
                   End If
               Else
                   
.Value = .ItemData(.ListIndex lngFirstIndex)
               End If
           End If
           
       End 
If

       fncSelectPreviousInListbox = .ListIndex
           
   End With

End 
Function 


Cám ơn bạn nhé, để mình ngâm cứu
Chữ ký của cawboy Xin chào, mình là cawboy, Tham gia http://thuthuataccess.com/forum từ ngày 07-03 -14.
ღღღღღTài sản của cawboy (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Cách tạo Cbo để lọc các mặt hàng trong Sub Form samacxanh 3 256 17-10-18, 10:33 AM
Bài mới nhất: vulhu06
  Tạo thêm trường số thứ tự trong subform? feeling 1 119 05-10-18, 08:08 AM
Bài mới nhất: cpucloi
  Tìm kiếm Record ngay khi gõ trong Combobox - Class ongke0711 9 645 25-09-18, 12:00 PM
Bài mới nhất: ledangvan
  [Help] Sự kiện gotforcus và after update ko đúng trong Main-sub form NguyenDungAnh 9 388 09-09-18, 11:03 PM
Bài mới nhất: NguyenDungAnh
  Chia sẻ bộ code quản lý form (tiến - lùi - thêm - xóa ...) tranthanhan1962 13 3,312 24-08-18, 01:32 PM
Bài mới nhất: Cuong Servenet

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line