/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
RecordCount
Fra : Ole J. Hansen


Dato : 12-03-03 15:58

Hej NG

Jeg bruger denne Sub til at udskrive en rapport, jeg ville gerne have, at
der
forneden på rapporten stod antal record den skriver ud, men jeg kan ikke
finde ud af det:

Private Sub Command1_Click()

Dim SqlKode As String

Unload DataEnvironment1

SqlKode = "SELECT * FROM formedlemmer ORDER BY medlnr"
With DataEnvironment1
.Commands("Command1").CommandText = SqlKode

End With

Medlemsrapport.Orientation = rptOrientLandscape
Medlemsrapport.WindowState = vbMaximized
Medlemsrapport.Title = "S.Ø.B. Medlemsrappport"
Medlemsrapport.Show

End Sub

Er der en venlig sjæl der vil forklare mig lidt om RecordCount.

m.v.h.
Ole J. Hansen



 
 
Krabsen (12-03-2003)
Kommentar
Fra : Krabsen


Dato : 12-03-03 19:38

Øh... Du prøver jo slet ikke at kalde .RecordCount ?
Den skal normalt bruges i forbindelse med et Recordset:

Dim medSnapshot as Recordset
Dim Antal as integer

Set medSnapshot=db.Openrecordset("Select medlemmer.* FROM
medlemmer",dbOpenSnapshot)
medSnapshot.MoveLast ' for at sikre, at der er talt
rigtigt, hvis recordsettet så stort, at det ikke indlæses fuldt i memory
Antal=medSnapshot.RecordCount

(db er tidligere i koden oprettet som database med f.eks
Set db = OpenDatabase(dbsti)
)

mvvbh
Krabsen

"Ole J. Hansen" <ojh@hansen.mail.dk> skrev i en meddelelse
news:3e6f4b49$0$241$edfadb0f@dread15.news.tele.dk...
> Hej NG
>
> Jeg bruger denne Sub til at udskrive en rapport, jeg ville gerne have, at
der
> forneden på rapporten stod antal record den skriver ud, men jeg kan ikke
finde ud af det:
>
> Private Sub Command1_Click()
>
> Dim SqlKode As String
>
> Unload DataEnvironment1
>
> SqlKode = "SELECT * FROM formedlemmer ORDER BY medlnr"
> With DataEnvironment1
> .Commands("Command1").CommandText = SqlKode
>
> End With
>
> Medlemsrapport.Orientation = rptOrientLandscape
> Medlemsrapport.WindowState = vbMaximized
> Medlemsrapport.Title = "S.Ø.B. Medlemsrappport"
> Medlemsrapport.Show
>
> End Sub
>
> Er der en venlig sjæl der vil forklare mig lidt om RecordCount.
> >



Preben M. (12-03-2003)
Kommentar
Fra : Preben M.


Dato : 12-03-03 20:42

"Ole J. Hansen" <ojh@hansen.mail.dk> wrote in
news:3e6f4b49$0$241$edfadb0f@dread15.news.tele.dk:

En anden metode er ved simpel SQL, eksempelvis:
   SqlKode = "SELECT count(*) as antal FROM formedlemmer'

Udføres dette SQL, fås antallet i SQL-variablem 'antal'.

Mvh.
Preben

> Hej NG
>
> Jeg bruger denne Sub til at udskrive en rapport, jeg ville gerne have,
> at der
> forneden på rapporten stod antal record den skriver ud, men jeg kan
> ikke finde ud af det:
>
> Private Sub Command1_Click()
>
> Dim SqlKode As String
>
> Unload DataEnvironment1
>
> SqlKode = "SELECT * FROM formedlemmer ORDER BY medlnr"
> With DataEnvironment1
> .Commands("Command1").CommandText = SqlKode
>
> End With
>
> Medlemsrapport.Orientation = rptOrientLandscape
> Medlemsrapport.WindowState = vbMaximized
> Medlemsrapport.Title = "S.Ø.B. Medlemsrappport"
> Medlemsrapport.Show
>
> End Sub
>
> Er der en venlig sjæl der vil forklare mig lidt om RecordCount.
>
> m.v.h.
> Ole J. Hansen
>
>


Krabsen (12-03-2003)
Kommentar
Fra : Krabsen


Dato : 12-03-03 21:00

Ja, den havde jeg glemt


mvh

Krabsen


"Preben M." <plm@fjern.dette.write.com> skrev i en meddelelse
news:Xns933CD28CFE717plmfjerndettewriteme@62.243.74.162...
> "Ole J. Hansen" <ojh@hansen.mail.dk> wrote in
> news:3e6f4b49$0$241$edfadb0f@dread15.news.tele.dk:
>
> En anden metode er ved simpel SQL, eksempelvis:
> SqlKode = "SELECT count(*) as antal FROM formedlemmer'
>
> Udføres dette SQL, fås antallet i SQL-variablem 'antal'.
>
> Mvh.
> Preben
>



Tomas Christiansen (12-03-2003)
Kommentar
Fra : Tomas Christiansen


Dato : 12-03-03 22:16

Preben M. skrev:
> En anden metode er ved simpel SQL, eksempelvis:
> SqlKode = "SELECT count(*) as antal FROM formedlemmer'

Jeg er begyndt på at benytte følgende metode til fra starten i kørslen
at få at vide hvor 'meget arbejde' der er at lave (ihvertfald de steder
hvor .RecordCount ikke er tilgængelig eller ikke virker korrekt):

sSQL = "SELECT bla.bla.bla" & _
"FROM bla.bla.bla" & _
"WHERE bla.bla.bla" & _
"ORDER BY bla.bla.bla"

Set rsCount = oDBCon.Execute( _
"SELECT COUNT(*) AS ""TOTAL"" FROM (" & sSQL & ")")

Set rsWork = New ADODB.Recordset
rsWork.Open sSQL, oDBCon, ...

Herefter ligger det totale antal records i
rsCount.Fields("TOTAL").Value, og det recordset som skal
indlæses/behandles ligger i rsWork.

Der er ikke nogetsomhelst revolutionerende i ovenstående, men ved at
sætte en SELECT COUNT(*) udenom den foresprøgsel som giver de records
som skal behandles, sikrer jeg mig at jeg har en korrekt
recordcount-værdi - også når der engang i fremtiden bliver rettet i
SQL-forespørgslen (værdien af sSQL).

-------
Tomas


Ole J. Hansen (14-03-2003)
Kommentar
Fra : Ole J. Hansen


Dato : 14-03-03 10:23


"Ole J. Hansen" <ojh@hansen.mail.dk> skrev i en meddelelse
news:3e6f4b49$0$241$edfadb0f@dread15.news.tele.dk...
> Hej NG
>
> Jeg bruger denne Sub til at udskrive en rapport, jeg ville gerne have, at
> der
> forneden på rapporten stod antal record den skriver ud, men jeg kan ikke
> finde ud af det:
SNIP
Hej NG
Tak for svarene jeg arbejder på sagen, men jeg syndtes det er svært.

m.v.h.
ojh



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408879
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste