Avatar billede gravbamzula Nybegynder
25. september 2001 - 08:59 Der er 31 kommentarer og
1 løsning

Tælle Tælle

Jeg brug får at tælle alle posterne i en Paradox Database der inderholder f.eks: \"Test\"!
Avatar billede martinlind Nybegynder
25. september 2001 - 09:04 #1
select count(*) from mytable where myfelt = \'test\'
Avatar billede gravbamzula Nybegynder
25. september 2001 - 09:13 #2
Hvordan får jeg resultatet ind i en variabel?
Avatar billede pellelil Nybegynder
25. september 2001 - 09:51 #3
Variable := Query1.Fields[0].AsInteger;
Avatar billede gravbamzula Nybegynder
25. september 2001 - 09:57 #4
pellelil>> Kan du ikke prøve at skrive en hel query?
Avatar billede martinlind Nybegynder
25. september 2001 - 09:59 #5
select count(*) as Antal from mytable where myfelt = \'test\'

MyVar := MyQuery.FieldByName(\'Antal\').AsInteger;
Avatar billede martinlind Nybegynder
25. september 2001 - 10:00 #6
MyQuery.Close;
MyQuery.SQL.Text := \'select count(*) as Antal from mytable where myfelt = \'\'test\'\' \';
MyQuery.Open;

MyVar := MyQuery.FieldByName(\'Antal\').AsInteger;

Avatar billede gravbamzula Nybegynder
25. september 2001 - 10:08 #7
Jeg får fejlen: Field \'antal\' not found
Avatar billede martinlind Nybegynder
25. september 2001 - 10:12 #8
Så prøv :
----------

MyQuery.Close;
MyQuery.SQL.Text := \'select count(*) from mytable where myfelt = \'\'test\'\' \';
MyQuery.Open;

MyVar := MyQuery.Field[0].AsInteger;

/Martin
Avatar billede gravbamzula Nybegynder
25. september 2001 - 10:16 #9
Uanset hvad bliver variablen 0
Avatar billede gravbamzula Nybegynder
25. september 2001 - 10:20 #10
Martinlind >> Den siger at feltet Field ikke blev fundet!
Avatar billede martinlind Nybegynder
25. september 2001 - 10:20 #11
Prøv :


MyQuery.SQL.Text := \'select count(*) from mytable where myfelt LIKE \'\'%test%\'\' \';
Avatar billede martinlind Nybegynder
25. september 2001 - 10:22 #12
hvad skriver du i din SQL.Text ??

LIKE = indeholder
Avatar billede gravbamzula Nybegynder
25. september 2001 - 10:24 #13
Her koden der ikke virker!

Query1.Close;
Query1.SQL.Text := \'select count(*) from captur where dialnr LIKE \'\'%test%\'\' \';
Query1.Open;
Resultat := Query1.Field[0].AsInteger;
label2.Caption:= inttostr(resultat);

Avatar billede martinlind Nybegynder
25. september 2001 - 10:29 #14
du skal bruge \' gnyfer og ikke \"
Avatar billede gravbamzula Nybegynder
25. september 2001 - 10:36 #15
Det er to \'er og ikke et \"
Avatar billede martinlind Nybegynder
25. september 2001 - 10:41 #16
Så er det meget mærkeligt det ikke virker, det var en alm paradox du kørte på ikk\' prøv lige at køre det samme statement i dbexplorer og se hvad den siger
Avatar billede martinlind Nybegynder
25. september 2001 - 10:42 #17
menu -> database -> explorer
Avatar billede martinlind Nybegynder
25. september 2001 - 10:43 #18
husk at i explorer skal du kun bruge en \' rundt om %test%
Avatar billede gravbamzula Nybegynder
25. september 2001 - 10:48 #19
Kan man ikke gøre det uden SQL??
Avatar billede martinlind Nybegynder
25. september 2001 - 10:51 #20
du kan prøve med filter på en table
Avatar billede gravbamzula Nybegynder
25. september 2001 - 10:52 #21
Forsæt...
Avatar billede martinlind Nybegynder
25. september 2001 - 10:58 #22
sæt filter := dialnr = \'*test*\';
og filtered := TRUE;
og læs recordcount

jeg er ikke helt sikker på filter syntaksten kig i onlinehjælpen
Avatar billede gravbamzula Nybegynder
25. september 2001 - 11:03 #23
Hvordan skal den se ud??
table2.Filter:= dialnr = \'*test*\';
table2.Filtered:= TRUE;
Avatar billede martinlind Nybegynder
25. september 2001 - 11:08 #24
ja noget i den stil, har ikke brugt det så meget da jeg som regl bruger SQL. kig lidt i onlinehjælpen og prøv at lege lidt med det, hvis du ikke kan få det til at virke er der kun den hårde vej : løb alle records igennem og tæl selv/manuelt hvis der står test i dialnr
Avatar billede gravbamzula Nybegynder
25. september 2001 - 11:09 #25
Kan du ikke lige skrive hvor dan man gør det!
Avatar billede martinlind Nybegynder
25. september 2001 - 11:40 #26
Hvad ??
Manuelt ?
Avatar billede snowball Novice
25. september 2001 - 14:14 #27
Nedenstående er taget fra et af minde første programmer (derfor de vilde navne *GG*), og gør lige det du ønsker :)

  Q_Status_L_Udlaan.Close;
  Q_Status_L_Udlaan.SQL.Clear;
  Q_Status_L_Udlaan.SQL.Add(\'SELECT COUNT(*) AS recordcount FROM intouch\');
  Q_Status_L_Udlaan.SQL.Add(\'WHERE status = :Status\');
  Q_Status_L_Udlaan.ParamByName(\'Status\').AsString := \'test\';
  Q_Status_L_Udlaan.Open;

  L_Status_Udlaan_Update.Caption := IntToStr(Q_Status_L_Udlaan.FieldByName(\'recordcount\').AsInteger);


Snowball
Avatar billede martinlind Nybegynder
25. september 2001 - 14:19 #28
Snowball >> det har han prøvet, det virkede ikke sagde han :(
Avatar billede snowball Novice
25. september 2001 - 14:39 #29
Ja, men så vidt jeg kan se har han ikke prøvet hvor han brugte AS recordcount !? recordcount er ikke en variable jeg har lavet, men en som er i SQL !

Snowball
Avatar billede martinlind Nybegynder
25. september 2001 - 14:46 #30
AS <Variable> er da std. SQL så om du siger AS Antal eller AS RecordCount skulle være et fedt, AS fortæller bare at resultatet skal lægges ind i en col. med det navn du angiver bagefter
Avatar billede snowball Novice
25. september 2001 - 14:54 #31
Whatever ;)

Det virker uden problemer hos mig ;)

Snowball
Avatar billede martinlind Nybegynder
25. september 2001 - 14:55 #32
Jamen det gør det også hos mig selv jeg skriver AS Antal, det er jo det der er det mærkelige
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester