/ 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 : Thomas Jørgensen


Dato : 28-12-01 22:54

Hej NG

Kan en af hjælpe; Jeg vil blot tælle antallet af records i min base, og få
det skrevet i et textfelt, men jeg får fejl hver gang jeg kører mit prg. Jeg
har prøvet med en msgbox og her virker det fint nok.
Håber en kan hjælpe.

Virker ikke:
Data1.Recordset.MoveLast
Text1.Text = Data1.Recordset.RecordCount

Virker:
Data1.Recordset.MoveLast
MsgBox "Records: " & Data1.Recordset.RecordCount

MVH
Thomas J.



 
 
Helge Bjørkhaug (28-12-2001)
Kommentar
Fra : Helge Bjørkhaug


Dato : 28-12-01 22:54

On Fri, 28 Dec 2001 22:54:07 +0100, "Thomas Jørgensen"
<tjodense@tdcadsl.dk> wrote:

>Hej NG
>
>Kan en af hjælpe; Jeg vil blot tælle antallet af records i min base, og få
>det skrevet i et textfelt, men jeg får fejl hver gang jeg kører mit prg. Jeg
>har prøvet med en msgbox og her virker det fint nok.
>Håber en kan hjælpe.
>
>Virker ikke:
>Data1.Recordset.MoveLast
>Text1.Text = Data1.Recordset.RecordCount
>
>Virker:
>Data1.Recordset.MoveLast
>MsgBox "Records: " & Data1.Recordset.RecordCount

Hvilken feilmelding får du?
Du kan evt. prøve Text1.Text = Cstr(Data1.Recordset.RecordCount)
Text1 må ikke være "bound'et" til noen datakontroll....

--
Snutten
Fjern helge fra mail adressen før du svarer.

Carsten Suurland (29-12-2001)
Kommentar
Fra : Carsten Suurland


Dato : 29-12-01 15:29

Hej Thomas

Den eneste sikre måde, at finde antallet af poster på, er ved at bruge
sql-sætningen "SELECT Count(* eller felt) FROM table...". F.eks "SELECT
Count(CustomerID) FROM Customers"

Egenskaben "Recordcount" understøttes ikke af alle databaser... og er under
alle omstændigheer ikke den bedste løsning, da du skal lave en movelast for
at få den "opdateret".

/Carsten Suurland



Helge Bjørkhaug (29-12-2001)
Kommentar
Fra : Helge Bjørkhaug


Dato : 29-12-01 18:22

On Sat, 29 Dec 2001 15:28:49 +0100, "Carsten Suurland"
<carsten@suurland.dk> wrote:

>Hej Thomas
>
>Den eneste sikre måde, at finde antallet af poster på, er ved at bruge
>sql-sætningen "SELECT Count(* eller felt) FROM table...". F.eks "SELECT
>Count(CustomerID) FROM Customers"

Den støtter jeg 100%
Selv bruker jeg alltid en count-query for å sjekke om gjeldende
selektringskriteria vil gi meg noen records.
Viktig å gi count-feltet ett navn!!
F.eks. "SELECT COUNT(CustomerID) AS antall From Customers"
Så kan man teste antall med f.eks.: If TestRec!antall > 0 Then

>
>Egenskaben "Recordcount" understøttes ikke af alle databaser... og er under
>alle omstændigheer ikke den bedste løsning, da du skal lave en movelast for
>at få den "opdateret".

Det har blitt bedre med de siste versjonene av DAO/ADO, thought....

--
Snutten
Fjern helge fra mail adressen før du svarer.

Tomas Christiansen (30-12-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 30-12-01 00:33

Helge Bjørkhaug skrev:
> Selv bruker jeg alltid en count-query for å sjekke om gjeldende
> selektringskriteria vil gi meg noen records.
> Viktig å gi count-feltet ett navn!!
> F.eks. "SELECT COUNT(CustomerID) AS antall From Customers"
> Så kan man teste antall med f.eks.: If TestRec!antall > 0 Then

Hvorfor er det smart at bruge et felt-navn at tælle på i stedet for
"*"?

Jeg er helt med på at det er smart at benytte omdøbningsfunktionen
"AS", men det virker da også fint med:

SELECT COUNT(*) AS antal FROM enellerandentabel;

-------
Tomas


Helge Bjørkhaug (31-12-2001)
Kommentar
Fra : Helge Bjørkhaug


Dato : 31-12-01 00:17

On Sun, 30 Dec 2001 00:32:56 +0100, "Tomas Christiansen"
<toc@blikroer.removethis.dk> wrote:

>Helge Bjørkhaug skrev:
>> Selv bruker jeg alltid en count-query for å sjekke om gjeldende
>> selektringskriteria vil gi meg noen records.
>> Viktig å gi count-feltet ett navn!!
>> F.eks. "SELECT COUNT(CustomerID) AS antall From Customers"
>> Så kan man teste antall med f.eks.: If TestRec!antall > 0 Then
>
>Hvorfor er det smart at bruge et felt-navn at tælle på i stedet for
>"*"?

Kommer litt an på hva man er på jakt etter.
Hvis man kun skal finne antall records i en database, er * ok.
Hvis man bruker Count på ett felt, får man antall records hvor
innholdet i det spesifikke feltet ikke er <blankt>.
Tidligere var det også sånn,
at hvis man bruke Count på ett indeksert felt, ble query'en raskere.

>
>Jeg er helt med på at det er smart at benytte omdøbningsfunktionen
>"AS", men det virker da også fint med:
>
>SELECT COUNT(*) AS antal FROM enellerandentabel;

Helt enig...

--
Snutten
Fjern helge fra mail adressen før du svarer.

Tomas Christiansen (01-01-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 01-01-02 22:10

Helge Bjørkhaug skrev:
> Hvis man bruker Count på ett felt, får man antall records hvor
> innholdet i det spesifikke feltet ikke er <blankt>.

Åh, ja, selvfølgelig: Det drejer sig om Null values.

De kan godt være lidt af et spøgelse at rode med, når man arbejder med
joins, views og joins af views i forhold til brugen af exists på
subselects.
Nogle gange kan det bare være nærmest UMULIGT at finde ud af hvorfor
to forspøgsler, formuleret på vidt forskellig måde, men som burde give
samme resultat, alligevel ikke gør det...

-------
Tomas


Helge Bjørkhaug (02-01-2002)
Kommentar
Fra : Helge Bjørkhaug


Dato : 02-01-02 23:26

On Tue, 1 Jan 2002 22:09:33 +0100, "Tomas Christiansen"
<toc@blikroer.removethis.dk> wrote:

>Helge Bjørkhaug skrev:
>> Hvis man bruker Count på ett felt, får man antall records hvor
>> innholdet i det spesifikke feltet ikke er <blankt>.
>
>Åh, ja, selvfølgelig: Det drejer sig om Null values.

Prøv Count på ett tekstfelt hvor en eller flere records inneholder
1 stk. <blank>, og se hvor mange du får

>De kan godt være lidt af et spøgelse at rode med, når man arbejder med
>joins, views og joins af views i forhold til brugen af exists på
>subselects.
>Nogle gange kan det bare være nærmest UMULIGT at finde ud af hvorfor
>to forspøgsler, formuleret på vidt forskellig måde, men som burde give
>samme resultat, alligevel ikke gør det...

Ja, derfor deler jeg neste alltid opp spørringene mine, slik at jeg
jobber kun på ett "nivå"

--
Snutten
Fjern helge fra mail adressen før du svarer.

Frank Bertelsen (10-01-2002)
Kommentar
Fra : Frank Bertelsen


Dato : 10-01-02 17:38

Jeg vil lige gøre opmærksom på, at der er tilfælde hvor SELECT Count() ikke kan
anvendes.

Eksempel:
SELECT DISTINCT Felt FROM Tabel

Her vil sætningen
SELECT DISTINCT Count(Felt) FROM Tabel
give det totale antal records i Tabel.
(DISTINCT kører på de returnerede records, og der er kun én)

Sætningen
SELECT Count(DISTINCT Felt) FROM Tabel
giver en syntaxfejl.


--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

Tomas Christiansen (10-01-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 10-01-02 22:06

Frank Bertelsen skrev:
> Sætningen
> SELECT Count(DISTINCT Felt) FROM Tabel
> giver en syntaxfejl.

Det gør den ikke på en Oracle 8i database.

Følgende er helt valide SQL-sætninger:

select count(distinct navn) from navnetabel;
select count(navn) from (select distinct navn from navnetabel);
select count(*) from (select distinct navn from navnetabel);

....men de giver ikke nødvendigvis helt samme resultat...

-------
Tomas


Frank Bertelsen (11-01-2002)
Kommentar
Fra : Frank Bertelsen


Dato : 11-01-02 14:35

> > Sætningen
> > SELECT Count(DISTINCT Felt) FROM Tabel
> > giver en syntaxfejl.
>
> Det gør den ikke på en Oracle 8i database.

Typisk. I Microsft Access virker den ikke.
Hvorfor kan man dog ikke blive enige om en standard-syntax for SQL-sætninger.



--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

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

Månedens bedste
Årets bedste
Sidste års bedste