Access tábla: a feltételeknek megfelelt rekordok száma

Access tábla: a feltételeknek megfelelt rekordok száma
2005-06-07T13:41:17+02:00
2005-06-07T17:51:03+02:00
2022-10-25T11:10:42+02:00
KarikasT
Sziasztok!
Hogyan tudom meg az alábbi lekérdezéshez tartozó megfelelő illetve az összes rekord számát? Az 1000-nél többre várható rekord esetén szeretnék egy progressbart kitenni a munkalapra.
Előre is köszönöm a segítséget!

Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset, r As Long db.ConnectionString = MDBpath db.ConnectionTimeout = 600 db.CommandTimeout = 600 db.Open rs.Open "select * from Tabla1 where Mezo1 = '" & Worksheets("Sheet2").Range("A2") & "'", db r = 4 Do Until rs.EOF With rs Worksheets("Sheet1").Range("A" & r).Value = .Fields("Mezo1") Worksheets("Sheet1").Range("B" & r).Value = .Fields("Mezo2") End With r = r + 1 rs.MoveNext Loop rs.Close Set rs = Nothing db.Close Set db = Nothing

Ha még belefér: az MS Progressbar Control V6.0-t büntetlenül használhatom az Excelben (másik gép, más excel-verzió stb.)?
Mutasd a teljes hozzászólást!
Játsz a megnyitási móddal:

rs.Open "select * from Tabla1 where Mezo1 = '" & Worksheets("Sheet2").Range("A2") & "'", db,1 ' adOpenKeyset

A lehetségesek, és amit tudnak:
For a Recordset of this CursorType The Supports method must return True for all of these constants
adOpenForwardOnly: none
adOpenKeyset: adBookmark, adHoldRecords, adMovePrevious, adResync
adOpenDynamic: adMovePrevious
adOpenStatic: adBookmark, adHoldRecords, adMovePrevious, adResync

Azt hiszem recordcount a Keyset, és Static esetén van.
Mutasd a teljes hozzászólást!

  • a
    rs.Open "select * from Tabla1 where Mezo1 = '" & Worksheets("Sheet2").Range("A2") & "'", db
    lekérdezés darabszámát a
    rs.Open "select count(*) from Tabla1 where Mezo1 = '" & Worksheets("Sheet2").Range("A2") & "'", db

    lekrédezés adja meg. :)
    Mutasd a teljes hozzászólást!
  • Köszönöm, de sajnos nagyon kezdő vagyok a témában... Hogyan tudom utána kiíratni az értéket?
    Mutasd a teljes hozzászólást!
  • Az rs.RecordCount megmondja a lekérdezett rekordok számát.

    ProgressBar-t pedig csak úgy tudsz használni, ha előtte felmásolod és regisztrálod az MSCOMCTL.OCX-et.

    Én anno úgy oldottam meg inkább, hogy kitettem egy label-t aminek volt kerete és | karakterekkel töltöttem fel (úgy méreteztem a label-t, hogy 100 karakter férjen bele, így % számítás után egyből lehetett írni).
    Mutasd a teljes hozzászólást!
  • ProgressBar lehet olyan is, hogy kiteszel egy sima színes téglalapot szélesség=1-el, és növeled a szélességét
    Mutasd a teljes hozzászólást!
  • Compile error (Invalid use of property) üzenetet ad az Excel VB-je az rs.RecordCount sorra : (((
    Nem találok elég vörös, szemlesütős smile-t – tényleg very kezdő vagyok...
    Mutasd a teljes hozzászólást!
  • Kedves stl, Micu!
    Köszönöm a progressbar-os ötleteket, szuperek! Már le is löktem a munkalapról a MS-félét.
    Mutasd a teljes hozzászólást!
  • Az előbbi compile error a múlté... Most már ki tudom íratni, de -1-et kapok. Mit szúrok el még mindig?
    Mutasd a teljes hozzászólást!
  • Játsz a megnyitási móddal:

    rs.Open "select * from Tabla1 where Mezo1 = '" & Worksheets("Sheet2").Range("A2") & "'", db,1 ' adOpenKeyset

    A lehetségesek, és amit tudnak:
    For a Recordset of this CursorType The Supports method must return True for all of these constants
    adOpenForwardOnly: none
    adOpenKeyset: adBookmark, adHoldRecords, adMovePrevious, adResync
    adOpenDynamic: adMovePrevious
    adOpenStatic: adBookmark, adHoldRecords, adMovePrevious, adResync

    Azt hiszem recordcount a Keyset, és Static esetén van.
    Mutasd a teljes hozzászólást!
  • Hurrá!!! Pontosan, ahogy írtad, csak a két adOpen... esetén, és végre működik!
    Nagyon köszönöm a segítséget, Micu, stl, cett! Megint zavarban vagyok a pontozásnál (miért nem lehet megosztani???), hiszen mindhárman jó megoldást adtatok, csak hát én kezdő láma... ezért a "habard be a tejet" helyett a "meleg tejbe keverés mellett lassan adagolj lisztet" jellegű segítséget értem meg (egyelőre). Tanfolyam..., tudom, de arra nincs időm, sajnos.
    Viszont Tőletek többet tanultam két hét alatt, mint amit remélni mertem!
    A pontot Micunak ítélem, mert kerek, "szájbarágós" megoldást adott, de még egyszer köszönöm Nektek!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd