Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa richedit

[es] :: Pascal / Delphi / Kylix :: Problem sa richedit

Strane: 1 2

[ Pregleda: 3526 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Problem sa richedit29.03.2012. u 15:32 - pre 146 meseci
Imam tabelu sa dva polja sifra i ukupno,u koju ubacujem podatke i za sifru i za ukupno,ona recimo izgleda ovako

sifra ukupno
0101 1500
0146 2400
0144 1000

Ono sto meni treba jeste da kada postavim dva richedit u koji ukucam recim0 0101 a u drugi 0146,da mi sabira te redove,u prvom za 0101 je 1500 a u drugi za 0146 je 2400,dakle neki sql koji bi sabrao sve iz prvog richedit i iz drugog,da bih video koja je razlika....Da li je to moguce uraditi na nacin koji sam zamislio...Hvala
 
Odgovor na temu

aca andrijevic
aka LoGaN
Nis

Član broj: 35450
Poruke: 347
93.184.84.*

ICQ: 325309560


+2 Profil

icon Re: Problem sa richedit29.03.2012. u 17:37 - pre 146 meseci
Pretpostavljam da ti je kolona sifra tipa varchar ili sta vec.Ako sam dobro razumeo sta ti treba:

Code (delphi):

SELECT SUM(ukupno) FROM tabela WHERE sifra IN('+QuotedStr(RichEdit1.Text)+','+QuotedStr(RichEdit2.Text)+');
 



"Ne menjaj nesto sto te sasvim dobro sluzi, ne trazi leba preko pogace" - Aleksandar Andrijevic
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit29.03.2012. u 18:59 - pre 146 meseci
Uradio sam ovako ali izlazi samo prvi red,tj suma prvog iznosa,kad vec ukucam sledeci izlazi prazno....

query1.SQL.Clear ;
query1.Close;
query1.SQL.Add ('SELECT SUM(cast(ukupno as float)) FROM statistika');
query1.SQL.Add ('WHERE sifra IN('+QuotedStr(RichEdit1.Text)+','+QuotedStr(RichEdit2.Text)+')') ;
query1.Open;


sto je i logicno jer imam samo prvi iznos(richedit1.text),a meni trebaju posebno svi unosi u prvom richeditu,i posebno u drugom,tj sume svih redova
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit29.03.2012. u 19:25 - pre 146 meseci
Mogao big da stavim richedit1.lines[0],prvi red,pa [1] drugi red ili da stavim petlju for i = 0 to 20 pa da sabere sve to.....ali kako i petlju staviti,ili moze nesto lakse
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit30.03.2012. u 09:07 - pre 146 meseci
Ima li neko ideju za pomoc....ovde sam stavio richedit polje,ali to moze da bude i memo.....Hitno je....Hvala unapred
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Problem sa richedit30.03.2012. u 10:46 - pre 146 meseci
Citat:
popmilan76: Mogao big da stavim richedit1.lines[0],prvi red,pa [1] drugi red ili da stavim petlju for i = 0 to 20 pa da sabere sve to.....ali kako i petlju staviti,ili moze nesto lakse


Nešto tipa (iz glave bacam)
Code:

for i:= 0 to richedit1.lines.count do
  iznos := iznos + richedit1.lines[i];

F
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit30.03.2012. u 11:18 - pre 146 meseci
I to sam uradio,ali mi tada izbacuje xbir toga sto ukucam,a meni treba ne ta kolona koju ukucam ,nego kolona do nje....kao sto sam napisao gore kveri za to,ako ukucam 0101,treba da mi sabira recimo 12000,pa ukucam 0146,treba da mi sabira 10000,tj tada vec 22000 itd
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Problem sa richedit30.03.2012. u 12:44 - pre 146 meseci
Dodaj GROUP BY.

> query1.SQL.Add ('WHERE sifra IN('+QuotedStr(RichEdit1.Text)+','+QuotedStr(RichEdit2.Text)+')') ;
> query1.SQL.Add ('GROUP BY SIFRA');
> Query1.Open;

 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit30.03.2012. u 19:37 - pre 146 meseci
Isto se desava kao i bez group by jer sabira samo ono sto se ukuca u prvi red,a vec u drugi nista,prazno polje...Mora da ide neka petlja za to,inace richedit mi je skroz blank,bez linija
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit30.03.2012. u 19:48 - pre 146 meseci
Kada bih stavio ovaj kod onda bi sabirao prva dva reda.....

query1.SQL.Clear ;
query1.Close;
query1.SQL.Add ('SELECT SUM(cast(ukupno as float)) FROM statistika');

query1.SQL.Add (' WHERE sifra IN('+QuotedStr(RichEdit1.Lines [0])+','+QuotedStr(RichEdit1.Lines [1])+')');

query1.Open;

ali to nije resenje,imacu vise od dva reda nekada
 
Odgovor na temu

rambo
Dejan Petković
Beograd

Član broj: 6095
Poruke: 190
*.dynamic.sbb.rs.



+6 Profil

icon Re: Problem sa richedit31.03.2012. u 01:28 - pre 146 meseci
Isto pišem iz glave, ali trebalo bi da razumeš poentu:

Code (delphi):

var
  sifre: String;
  ...
  sifre := RichEdit1.Lines[0];
  if RichEdit1.Lines.Count > 1 then
    for i := 1 to RichEdit1.Lines.Count - 1 do
      sifre := sifre + ', ' + RichEdit1.Lines[i];
  Query1.Close;
  Query1.SQL := 'SELECT SUM(CAST(ukupno AS FLOAT)) FROM statistika WHERE sifra IN (' + sifre + ')';
  Query1.Open;
 


Možda bi bilo bolje da jednostavno koristiš običnu TEdit komponentu i da u nju upisuješ željene šifre razdvojene zarezom. Zatim to jednostavno dodaš u kveri i rešio si problem. Ne razumem zašto koristiš TRichEdit za ovako nešto ako ti samo treba unos niza numeričkih vrednosti.
"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Problem sa richedit31.03.2012. u 01:59 - pre 146 meseci
> Isto se desava kao i bez group by jer sabira samo ono sto se ukuca u prvi red,a vec u drugi nista,prazno polje...Mora da ide neka petlja za to,inace richedit mi je skroz blank,bez linija

Na osnovu tvog opisa, tebi treba group by kveri, sad možda nisam razumeo šta zapravo ti ne radi. Hajde ti pejstuj ne svoj kod već krajnju vrednost koju dobija kveri (Query1.SQL.SaveToFile).
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit31.03.2012. u 15:37 - pre 146 meseci
Evo ovako,imam tabelu sa dva polja sifra i ukupno,recimo da imam upis za sifru 0101 a za ukupno 12000,i za sifru 0123 imam ukupno 15000,i sada ukucam u richedit jedno ispod drugog 0101
0123

zatim imam polje kao rezultat kverija,koje sabira ovo iz richedita,u mom slucaju to je 27000
Savkicu u tvom kodu izadje samo 12000,vec kada ukucam 0123,izlazi mi prazno polje
Nadam se da sam bio jasan
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Problem sa richedit31.03.2012. u 18:46 - pre 146 meseci
> Evo ovako,imam tabelu sa dva polja sifra i ukupno,recimo da imam upis za sifru 0101 a za ukupno 12000,i za sifru 0123 imam ukupno 15000,i sada ukucam u
> richedit jedno ispod drugog
> 0101
> 0123

> zatim imam polje kao rezultat kverija,koje sabira ovo iz richedita,u mom slucaju to je 27000

To ti je onaj prvi upit koji je neko poslao, dakle:

SELECT SUM(ukupno) FROM tabela WHERE sifra IN(...

E sad šta tu tebi tačno ne radi, pošalji tvoj kod koji generiše sql upit i samu vrednost tog kverija.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit31.03.2012. u 19:02 - pre 146 meseci
query1.SQL.Clear ;
query1.Close;
query1.SQL.Add ('SELECT SUM( ukupno ) FROM statistika');
query1.SQL.Add ('WHERE sifra IN('+QuotedStr(RichEdit1.Text)+','+QuotedStr(RichEdit2.Text)+')') ;
query1.SQL.Add ('GROUP BY Sifra');
Query1.Open;
radi kad ukucam sifru u prvi red,ali kad ukucam vec u drugi red tu ne rado,i pokaazije prazno polje
 
Odgovor na temu

salaczr

Član broj: 160654
Poruke: 103
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Problem sa richedit31.03.2012. u 19:18 - pre 146 meseci
Koliko RichEdit-a imas na formi?
Ako imas jedan onda ti je Rambo lepo napisao, samo dodaj f-ju QuotedStr kada god pises u promenljivu sifra.
Code:

  sifre := QuotedStr(RichEdit1.Lines[0]);
  if RichEdit1.Lines.Count > 1 then
    for i := 1 to RichEdit1.Lines.Count - 1 do
      sifre := sifre + ', ' + QuotedStr(RichEdit1.Lines[i]);


poz
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit31.03.2012. u 19:26 - pre 146 meseci
Za sada mi je potreban jedan,ali cu imati dva kasnije,ali ako uradim za jedan lako cu i za drugi richedit,u ovom kodu nesto ne stima,a sta ne znam,sifra je string polje a ukupno integer
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit31.03.2012. u 19:34 - pre 146 meseci
procedure TfrmKontrola.Button2Click(Sender: TObject);
var
sifre: integer;
i : integer;
begin
sifre := strtoint(RichEdit1.Lines[0]);
if RichEdit1.Lines.Count > 1 then
for i := 1 to RichEdit1.Lines.Count - 1 do
sifre := sifre + strtoint(RichEdit1.Lines);
showmessage(inttostr(sifre));
end;


end.

Ovaj kod mi sabira svaki red ali onaj broj koji ukucam,recimo....
2
2
izadje 4

ali nece kveri da radi
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Problem sa richedit31.03.2012. u 20:26 - pre 146 meseci
Citat:
savkicHajde ti pejstuj ne svoj kod već krajnju vrednost koju dobija kveri (Query1.SQL.SaveToFile).

F
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa richedit31.03.2012. u 20:53 - pre 146 meseci
kveri treba da dbija vrednost 12000,27000,itd...dakle sumu iz polja ukupno,za ukucane sifre
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem sa richedit

Strane: 1 2

[ Pregleda: 3526 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.