|
| 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
| |
|
|