Recorset

mihailss

Dobroje vsem,Nuzhna nebolshaja pomoch v voprose...Vopros pervij... Imejetsa ADO recordset mogu li ja uzhe s etogo recorseta sdelat kakojto select????Vopros vtoroj Access 97 kak V comboBox BISTRENKO sbrosit recorset , recorset obratnotaki ADO.
11 ответов

mihailss

1. Если не ошибаюсь, можно применить фильтр, а потом открыть рекордсетклоун.2. Роусорс="".


mihailss

RowSource eto konechno klassno... no kak:Kakoj ispolzovat RawSourceType???I kak eto vigladit??? Nizhe privedennij kod ne ochen hochet rabotat ;-)
Dim crs As ADODB.Recordset
Set crs = GetList
Me.Controls("cmbClients").ColumnCount = crs.Fields.Count
Me.cmbClients.RowSourceType = "Value List"
Me.cmbClients.RowSource = crs


mihailss

sbrosit recorset
Роусорс="".
Me.cmbClients.RowSource = crs
?


mihailss

Он хочет источнику Комбобокса дать свой рекордсет...


mihailss

Mda proshu prochenije jesli ne pravilno virazilsa....Vse imenno tak....Istochniku ComboBox nado podsunut recordset...


mihailss

А что такое GetList?


mihailss

GetList funkcija ;-)Vot kod: cherez ADO k MSSQL baze;
Function GetList() As ADODB.Recordset
Dim strSQL As String
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
strSQL = "SELECT CustId, DebID, [DELIVERY NUMBER] AS DN, Name, City+ ' '+ Street+ ' '+StreetNumber AS ADR from tblCustomers WHERE Status<>'D' ORDER BY DebId, DN"
 
cn.Provider = "SQLOLEDB.1"
cn.ConnectionString = "DATABASE=OERP;SERVER=KLVLVRIG1SVIT01;UID=;PWD="
cn.Open
Set rs.ActiveConnection = cn
rs.CursorLocation = adUseClient
rs.LockType = adLockReadOnly
rs.CursorType = adOpenForwardOnly
rs.Open strSQL
Set rs.ActiveConnection = Nothing
Set GetList = rs
Set rs = Nothing
End Function


mihailss

Narod nu neuzheli net ni kakih idej?????


mihailss

Как мне помниться, в Access 97 комбобокс не имеет рекордсета.


mihailss

В MSA97 Recordset в комбобокс подcунуть - это вряд ли.Можно предолжить два простых альтернативных варианта:1. Создать QueryDef где-нибудь в mdb с вашим запросом к серверуи подсунуть уже этот сохраненный запрос в качестве RowSource в комбобокс.2. Загрузить результат вашего запроса в многомерный массиви сделать комбобокс программно-управляемым (RowSourceType=функция)


mihailss

Vtoraja ideja bolshe nravitsa.....No mozhet bit est drugoje reshenije mojej problemi, prosto sama problema:Est tablica na MSSQL2000 servere, tablica dostatochno zagruzhena zaprosami, poetomu vstal vopros o sozdanii applikacii v kotoroj bi naprimer znachenija combobox bralis ne vse vrema iz tablici, a dopustim vitagivalis odin raz vo vrema otkritija ....Dannije vibirajutsa otlichno cherez ADO, potom razrivaju svaz...I ja bi bil dazhe rad skinut to chto v recorset v tmp table, esli bi eto bilo kak-to vozmozhno... Potomu kak probegadsa po vsemu recordset i delat insert v table, mne kazhetsa eto budet dolgo......Mozhet kto-to stalkivalsa s takoj problemoj kogda nado kak mozhno bolshe razgruzit tablicu na servere ...