MS-доступ: вопрос строки источника - PullRequest
0 голосов
/ 23 декабря 2009

Я программист на vb.net, и я сделал много VBA с Excel. я новичок в доступе.

кто-то дал мне доступ к базе данных для отладки, и я заблудился.

я успешно подключил его к локальной базе данных mysql.

У меня есть список в форме, к которому источник строк привязан к запросу, называемому списком. вот изображение свойств списка: альтернативный текст http://img192.imageshack.us/img192/936/listboxotherrelationsls.png

Есть некоторые проблемы с отображением результатов запроса, потому что запрос слишком сложен и неправильно структурирован. если результатов запроса меньше, чем несколько, они без проблем отображаются в списке, но при наличии более 4-5 результатов он остается пустым; Однако я знаю, что он вернул правильное число, потому что он оставил правильное количество строк (которые являются пустыми в списке). поэтому вместо того, чтобы пытаться исправить огромный беспорядочный запрос, я хотел бы передать все строки в строке, а затем вернуть их обратно в список.

Может ли кто-нибудь помочь мне с этим? когда вы отвечаете, пожалуйста, ставьте свои ответы в терминах непрофессионалов, потому что, как я уже сказал, я начинающий доступ.

Вот как выглядит список, когда он не хочет отображать результаты: альтернативный текст http://img43.imageshack.us/img43/4632/fullscreencapture122220.jpg

Ответы [ 2 ]

1 голос
/ 23 декабря 2009

Вы можете попробовать что-то на этих строках:

''Some notes on declarations for ADO recpdset and connection
Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection

''Set the connection object to the access project
''connection. You may wish to use a connection string (see below)
Set cn = CurrentProject.Connection

''Open the recordset, change the sql string to whatever string is used
''to populate the listbox
rs.Open "SELECT * FROM Testaccess", cn

''Convert the recordset to a string delimited by row and column with ;
''This is the delimiter needed by Access for the listbox with value data
strlist = rs.GetString(, , ";", ";")

''Set the rowsource of the listbox to the string
Me.List0.RowSource = strlist

''It would be easiest to set these before the run
''None of this is necessary, it can all be set as properties 
''of the listbox before the code is run
''Column count, same as number of fields
Me.List0.ColumnCount = rs.Fields.Count
''List type is values
Me.List0.RowSourceType = "Value List"

''This is just a set of 1cms for each column
For i = 1 To rs.Fields.Count
    strWidths = strWidths & ";1cm"
Next

''here we go, all columns set to 1cm width
Me.List0.ColumnWidths = Mid(strWidths, 2)

строка подключения: http://www.connectionstrings.com/

1 голос
/ 23 декабря 2009

Мне интересно, правильно ли указано свойство Column Count. То есть в запросе десять столбцов или полей?

Кроме того, вы действительно должны указать десять значений ширины в свойстве Column Widths, даже если они имеют ширину 0 ". Я вижу только семь.

Это Access 2003 с пакетом обновления 3? Если это так, см. Статью КБ . Элементы управления поля со списком и элементы списка не отображают значения или неправильные значения в Access 2003 после установки пакета обновления 3 (SP3) для Office 2003

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...