ACC2000: Combo Boxes Limited to 65536 (64 KB) Rows

ID: Q207601


The information in this article applies to:
  • Microsoft Access 2000

Moderate: Requires basic macro, coding, and interoperability skills.

This article applies to a Microsoft Access database (.mdb) and a Microsoft Access project (.adp).


SYMPTOMS

When you view the list portion of a combo box or a list box that is based on a table, a query, a view, or a stored procedure with more than 65,536 records, you only see the first 65,536 rows.


CAUSE

Microsoft Access limits the number of rows displayed in a combo box or a list box to 65,536 rows.


RESOLUTION

Use a query, a view, or a stored procedure to restrict the number of rows that the combo box or the list box is displaying to no more than 65,536.


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

Steps to Reproduce Behavior

  1. Open the sample database Northwind.mdb.


  2. Create a module and type the following line in the Declarations section if it is not already there:


  3. 
    Option Explicit 
  4. Type the following procedure:


  5. 
    Sub FillTable()
       ' Creates a table that contains
       ' 70,000 records.
    
       Dim db As DAO.Database
       Dim tbl As DAO.TableDef
       Dim fld As DAO.Field
       Dim rs As DAO.Recordset
       Dim lng As Long
    
       Set db = CurrentDb
       Set tbl = db.CreateTableDef()
       tbl.Name = "LargeTable"
       Set fld = tbl.CreateField("Field1", dbLong)
       tbl.Fields.Append fld
       db.TableDefs.Append tbl
       Set rs = tbl.OpenRecordset(dbOpenDynaset)
       For lng = 1 To 70000
          rs.AddNew
          rs.Fields("Field1") = lng
          rs.Update
       Next
       rs.Close
       MsgBox "Table Created"
    End Sub 
  6. To run this procedure, type the following line in the Immediate window, and then press ENTER:
    FillTable
    When the procedure is finished, you receive a message indicating that the table was created.


  7. Open a new form in Design view, and add a combo box to the form.


  8. Set the RowSource property of the combo box to LargeTable.


  9. Open the form in Form view.


  10. Type 65536 in the combo box.


  11. Click the arrow next to the combo box to view the list. Note that 65536 is the last visible row in the combo box.


Additional query words: missing not all there truncated prb don't display see do

Keywords : kbdta FmsCmbo
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbprb


Last Reviewed: January 17, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.