< návrat zpět

MS Excel


Téma: ADODB rss

Zaslal/a 20.5.2013 8:54

Ahojte,

mam problem s memory ... ked pustam v cykle ADODB "jednoduche select" ... v mojom pripade filtrovanie excel tabulky .... tak v 20 cykle to uz zahlti pamat a neviem preco aj po vypnuti excelu to zostava v memory ....netusite preco??


Dim aFilter() As String
Dim backupSheetName As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

If aColumn <> "" Then
'problem name sheet must rename
backupSheetName = cbSheet.Value
Sheets(cbSheet.Value).Name = "Loading01"

strFile = Application.ThisWorkbook.FullName
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open strCon

strSQL = "SELECT " & aColumn & " FROM [Loading01$" & tbRange.Value & "] GROUP BY " & aColumn
rs.Open strSQL, cn

aRow = 0
Do While Not rs.EOF
For bColumn = 0 To rs.Fields.Count - 1
ReDim Preserve aFilter(aRow)
If rs.Fields(bColumn).Value <> "Null" Then
aFilter(aRow) = rs.Fields(bColumn).Value
End If
Next
rs.MoveNext
aRow = aRow + 1
Loop

Me.Controls.Item("cbFilter" & aComboBoxId).Clear
For y = LBound(aFilter) To UBound(aFilter)
Me.Controls.Item("cbFilter" & aComboBoxId).AddItem aFilter(y)
Next

rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

'call back name sheet
Sheets("Loading01").Name = backupSheetName
End If

stop Uzamčeno - nelze přidávat nové příspěvky.

#013385
avatar
tak uz som to vyriesil su 3. moznosti

2 su tu popisane:
http://support.microsoft.com/kb/319998/en-us

a tretia najlepsia je zmenit providera na:
Microsoft.ACE.OLEDB.12.0

pri novsej verzii sa tento bug uz nestavacitovat
icon #013386
eLCHa
Mno já nevím. Je to pořád to samé - i když chápu, že tady je to problém, protože se data tahají z databáze.

Jenže bez toho (příloha, data) těžko někdo poradí, když už, jak předpokládám, nepomohl pan Gůgl...

--
Edit:
Aha, takže pomohl ;)citovat
#013387
avatar
jj google je vsemocny :))

- este pre zaujimavost ten novsi provider vyriesil aj bug s dlzkou nazvu sheetu ... takze uz ho netreba premenovavatcitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje