Làm thế nào để sử dụng AddItem và RemoveItem để di chuyển lựa chọn từ một danh sách hộp khác

Hỗ trợ dành cho Office 2003 đã kết thúc

Microsoft đã kết thúc hỗ trợ dành cho Office 2003 vào ngày 8 tháng 4 năm 2014. Thay đổi này đã ảnh hưởng đến các bản cập nhật phần mềm và các tùy chọn bảo mật của bạn. Tìm hiểu ý nghĩa của điều này với bạn và cách thực hiện để luôn được bảo vệ.

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:278378
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
Nâng cao: Đòi hỏi chuyên gia mã hóa, khả năng tương tác, và multiuser kỹ năng.

Bài viết này áp dụng cho một cơ sở dữ liệu Microsoft Access (.mdb) và với một dự án truy cập Microsoft (.adp).

TÓM TẮT
Bài viết này cho thấy bạn làm thế nào để quản lý danh sách hai để các bản ghi từ một danh sách có thể được chuyển đơn lẻ hoặc như một nhóm vào danh sách thứ hai và ngược lại. Quá trình này tương tự như nhìn thấy trong truy cập trình thuật như thuật sĩ hộp danh sách riêng của mình.
THÔNG TIN THÊM
Microsoft cung cấp lập trình ví dụ để minh hoạ chỉ, không có bảo hành hoặc thể hiện hay ngụ ý. Điều này bao gồm, nhưng không giới hạn, bảo đảm ngụ ý khả năng bán hàng hoặc cho một mục đích cụ thể. Bài viết này giả định rằng bạn đã quen thuộc với ngôn ngữ lập trình mà đang được chứng minh và với những công cụ được sử dụng để tạo ra và gỡ lỗi thủ tục. Microsoft hỗ trợ các kỹ sư có thể giúp giải thích các chức năng của một thủ tục cụ thể, nhưng họ sẽ không sửa đổi các ví dụ để cung cấp thêm chức năng hoặc xây dựng quy trình để đáp ứng các yêu cầu cụ thể của bạn. THẬN TRỌNG: Nếu bạn làm theo các bước trong ví dụ này, bạn sửa đổi cơ sở dữ liệu mẫu Northwind.mdb. Bạn có thể muốn sao lưu các tập tin Northwind.mdb và làm theo các bước trên một bản sao của cơ sở dữ liệu.

Khi bạn sử dụng thuật sĩ hộp danh sách để chọn các lĩnh vực từ một bảng hoặc truy vấn, bước thứ ba trong quá trình giới thiệu hai danh sách: Các trường có sẵnCác lĩnh vực đã chọn. Các Các lĩnh vực đã chọn danh sách là bước đầu có sản phẩm nào. Bạn có thể chọn các lĩnh vực trong một danh sách và sau đó di chuyển chúng đến khác bằng cách bấm vào một trong bốn nút.

Bài viết này cho thấy bạn làm thế nào để tạo ra một hình thức với danh sách tương tự mà bạn có thể sử dụng để chọn bản ghi cụ thể cho thêm chế biến như bạn yêu cầu. Điều này có thể hữu ích, ví dụ, khi bạn cần phải chọn một số khách hàng danh tính mà được biết đến các nhà điều hành, nhưng đối với người mà bạn không thể dễ dàng đặt tiêu chuẩn trong một truy vấn.

Để tạo ra một hình thức cho phép bạn chọn khách hàng theo cách này, hãy làm theo các bước sau:
  1. Bắt đầu truy cập, và sau đó mở cơ sở dữ liệu mẫu Northwind.mdb hoặc dự án mẫu NorthwindCS.adp.
  2. Tạo ra một hình thức mới trong thiết kế giao diện, và sau đó lưu nó với khách hàng chọn tên.
  3. Tạo hai hộp danh sách trong chi tiết của các hình thức. Tên một hộp List1 và List2 hộp khác. Đặt của họ RowSourceType thuộc tính để Danh sách các giá trị.
  4. Tạo ra bốn nút lệnh, một trong những dưới đây khác trong chi tiết của các hình thức, và sau đó đặt tài sản của họ như sau:
            Name                  Caption     ----------              ----------     cmdMoveToList2              >     cmdMoveAllToList2          >>     cmdMoveToList1              <     cmdMoveAllToList1          <<     					
  5. Trên thanh công cụ, bấm các Mã nút, và cửa sổ mã, gõ hay dán một trong các thủ tục sau đây, tùy thuộc vào việc bạn đang sử dụng Northwind.mdb hoặc NorthwindCS.adp:
    • Nếu bạn đang sử dụng Northwind.mdb, gõ hay dán thủ tục này:
      Private Sub Form_Load()   Dim db As DAO.Database   Dim rs As DAO.Recordset   Dim strSQL As String, strItem As String   strSQL = "SELECT CustomerID, CompanyName FROM Customers"   Set db = CurrentDb   Set rs = db.OpenRecordset(strSQL)   Do Until rs.EOF      strItem = rs.Fields("CustomerID").Value & ";" _         & rs.Fields("CompanyName").Value      Me.List1.AddItem strItem      ' Row Source Type must be Value List      rs.MoveNext   Loop   rs.Close   Set rs = Nothing   Set db = NothingEnd Sub						
    • Nếu bạn đang sử dụng NorthwindCS.adp, gõ hay dán thủ tục này:
      Private Sub Form_Load()   Dim cn As ADODB.Connection   Dim rs As ADODB.Recordset   Dim strSQL As String, strItem As String   strSQL = "SELECT CustomerID, CompanyName FROM Customers"   Set cn = Application.CurrentProject.Connection   Set rs = New ADODB.Recordset   rs.Open strSQL, cn, adOpenForwardOnly, adLockOptimistic     Do Until rs.EOF      strItem = rs.Fields("CustomerID").Value & ";" _         & rs.Fields("CompanyName").Value      Me.List1.AddItem strItem      ' Row Source Type must be Value List      rs.MoveNext   Loop   rs.Close   Set rs = Nothing   Set cn = NothingEnd Sub						
  6. Thêm các thủ tục sau đây Northwind.mdb hoặc NorthwindCS.adp:
    Private Sub cmdMoveAllToList1_Click()    MoveAllItems "List2", "List1"End SubPrivate Sub cmdMoveAllToList2_Click()    MoveAllItems "List1", "List2"End SubPrivate Sub cmdMoveToList1_Click()    MoveSingleItem "List2", "List1"End SubPrivate Sub cmdMoveToList2_Click()     MoveSingleItem "List1", "List2"End SubSub MoveSingleItem(strSourceControl As String, strTargetControl As String)        Dim strItem As String    Dim intColumnCount As Integer    For intColumnCount = 0 To Me.Controls(strSourceControl).ColumnCount - 1        strItem = strItem & Me.Controls(strSourceControl).Column(intColumnCount) & ";"    Next    strItem = Left(strItem, Len(strItem) - 1)    'Check the length to make sure something is selected    If Len(strItem) > 0 Then        Me.Controls(strTargetControl).AddItem strItem        Me.Controls(strSourceControl).RemoveItem Me.Controls(strSourceControl).ListIndex    Else        MsgBox "Please select an item to move."    End IfEnd SubSub MoveAllItems(strSourceControl As String, strTargetControl As String)    Dim strItem As String    Dim intColumnCount As Integer    Dim lngRowCount As Long        For lngRowCount = 0 To Me.Controls(strSourceControl).ListCount - 1        For intColumnCount = 0 To Me.Controls(strSourceControl).ColumnCount - 1            strItem = strItem & Me.Controls(strSourceControl).Column(intColumnCount, lngRowCount) & ";"                    Next        strItem = Left(strItem, Len(strItem) - 1)        Me.Controls(strTargetControl).AddItem strItem        strItem = ""    Next            Me.Controls(strSourceControl).RowSource = ""End Sub					
  7. Trên các Công cụ trình đơn, nhấp vào Tham khảo và đảm bảo rằng các Microsoft DAO 3,6 đối tượng thư viện hoặc các Microsoft ActiveX Data Objects 2.x thư viện (nơi 2.x đề cập đến phiên bản 2,1 hoặc mới hơn) được chọn, tùy thuộc vào việc bạn đang sử dụng Northwind.mdb hoặc NorthwindCS.adp, và sau đó đóng Visual Basic Editor.
  8. Trong thiết kế xem của các hình thức, đặt các OnClick bất động sản cho mỗi nút lệnh để [Sự kiện thủ tục].
  9. Lưu biểu mẫu, và sau đó mở nó trong dạng xem.
  10. Chọn một hoặc tất cả các mục trong một trong hai danh sách, và sau đó sử dụng các nút lệnh để di chuyển các khoản mục hoặc mục từ một danh sách khác.
OfficeKBHowTo inf listbox combobox combo hộp ACC2002 ACC2003

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 278378 - Xem lại Lần cuối: 12/05/2015 22:32:14 - Bản sửa đổi: 3.0

Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbprogramming kbhowto kbmt KB278378 KbMtvi
Phản hồi