bless
|
|
1 | |
Как вывести данные из ADODB.Recordset в MSHFlexGrid?09.06.2009, 13:14. Показов 1960. Ответов 4
Метки нет (Все метки)
Здравствуйте!
Не могу разобраться с синтаксисом. Соединение открывается, открываю Рекордсет, добавляю записи, а вывести это все в таблицу не могу. Перепробовал коды по созданию объекта MSHFlexGrid - ничего не получается. То сообщение - объект не тот, то еще... Пожалуйста киньте примерчик если у кого работает. Вот текст моего Соединения: Private Sub Command1_Click() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strSQL As String Dim PassWord As String Dim LogIn strSQL = 'Select * from dbo.t_zaiav' PassWord = Text2.Text LogIn = Text1.Text Set cn = CreateObject('ADODB.Connection') Set rs = CreateObject('ADODB.Recordset') MousePointer = vbHourglass With cn .Provider = 'SQLOLEDB' .Properties('dATA sOURCE').Value = '200.1.12.100' .Properties('iNITIAL cATALOG').Value = 'sklad' .Properties('uSER id').Value = LogIn .Properties('pASSWORD').Value = PassWord .Open End With With rs .Source = strSQL .ActiveConnection = cn .Open strSQL, cn, adOpenKeyset, adLockOptimistic End With rs.Close cn.Close MousePointer = vbDefault End Sub |
09.06.2009, 13:14 | |
Ответы с готовыми решениями:
4
Recommended style: Private rstOrder As ADODB.Recordset Set rstOrder = New ADODB.REcordset Как филтровать adodb.recordset Как проверить статус ADODB.Recordset ? Форматирование MSHFlexGrid с иерархическим Recordset-ом |
0 / 0 / 0
Регистрация: 16.09.2008
Сообщений: 38
|
|
09.06.2009, 15:07 | 2 |
Если рекордсет открылся нормально, то достаточно
SET HGrid.Datasource=rs до rs.Close. Кстати, если хочешь освободить память, то надо SET rs=Nothing SET cn=Nothing
0
|
2 / 2 / 2
Регистрация: 23.06.2007
Сообщений: 397
|
|
10.06.2009, 03:27 | 3 |
еще мне кажется нет необходимости дублировать некоторые действия:
Dim cn As New ADODB.Connection <=> Set cn = CreateObject('ADODB.Connection') .ActiveConnection = cn <=> .Open ....,cn...
0
|
bless
|
|
10.06.2009, 06:26 | 4 |
Ребят,
А поподробнее можно? SET HGrid.Datasource=rs А дальше чего? Там ведь идет описание колонок и строчек. Как их задать? Как задать название заголовков таблицы. Эта дурацкая 'Мелкомягкая' автоматизация приводит к тому, что все эти стандартные Гриды могут брать данные только из ADODC или DataEnviroment, а те в свою очередь берут всю таблицу целиком, а если мне надо устроить отбор? Нет ты сначала получи свои полмиллиона записей, а потом уже отбирай. Это же не правильно. Пожалуйста если можно киньте код подключения Грида к Рекордсет пополнее. С уважением, bles |
2 / 2 / 2
Регистрация: 23.06.2007
Сообщений: 397
|
|
10.06.2009, 08:26 | 5 |
>стандартные Гриды могут брать данные только из ADODC или DataEnviroment
Приплыли.... Private Sub Command1_Click() With Me.MSHFlexGrid1.Recordset .Filter = '[кодКлиента]='CACTU'' End With End Sub Private Sub Form_Load() Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim strSQL As String Set cnn = New ADODB.Connection With cnn .ConnectionString = 'C:Program FilesMicrosoft OfficeOfficeSamplesБорей.mdb' .Provider = 'Microsoft.Jet.OLEDB.4.0' .Open End With Set rst = New ADODB.Recordset With rst .ActiveConnection = cnn .Source = 'SELECT * FROM [Клиенты] WHERE [Город]='Буэнос-Айрес'' .CursorLocation = adUseClient .Open End With Set Me.MSHFlexGrid1.Recordset = rst End Sub Ну уж как сетку 'раскрасить' -это самостоятельно
0
|
10.06.2009, 08:26 | |
10.06.2009, 08:26 | |
Помогаю со студенческими работами здесь
5
Как узнать в ADODB.Recordset, запись отмечена для удаления или нет? MSHFlexgrid не отображает весь ADO.Recordset ADODB.Recordset чтение строк Работа с Adodb.recordset Excel. Выборка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |