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

Delphi and MsAccess

[es] :: Pascal / Delphi / Kylix :: Delphi and MsAccess

Strane: 1 2

[ Pregleda: 4925 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Delphi and MsAccess22.06.2015. u 19:56 - pre 106 meseci
Kako pomocu Delphija i Access baze otvoriti Quuery napravljen u Access,i da se rezultat pokaze u dbgridu na formi u Delphiju...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Delphi and MsAccess22.06.2015. u 20:18 - pre 106 meseci
Imas u jednoj od top tema ovde kako koristiti ADO u Delphiju, pogledaj i tu ces naci kako se uvezati na Access.
 
Odgovor na temu

komplikator
Programer / sys. inženjering
CRO

Član broj: 29755
Poruke: 158
*.adsl.net.t-com.hr.

ICQ: 13387003


+8 Profil

icon Re: Delphi and MsAccess24.06.2015. u 06:58 - pre 106 meseci
Upravo tako, imaš negdje u top temama, imaš i početničku školu Žarka Gajića na: http://delphi.about.com/od/database/a/adodelphi.htm
God is real unless is declared as integer.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Delphi and MsAccess04.07.2015. u 16:48 - pre 106 meseci
A da li mogu da pokrenem proceduru napravljenu u access iz delphija...
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
134.90.133.*



+62 Profil

icon Re: Delphi and MsAccess05.07.2015. u 10:21 - pre 106 meseci
Pogledaj StoredProc, zaboravih kako to ide sa ADO-om.

Pozz
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Delphi and MsAccess05.07.2015. u 15:38 - pre 106 meseci
Da,pogledao sam,ali slabo mi to nesto ide...Imam u access uradjen program za racunanje godisnjeg odmora,tj koliko ko ima odmora....Meni treba kod koji racuna to,dakle treba da mi razlika od danasnjeg dana do dana unosa,i plus staz do datuma unosa,s tim sto su mi danasnji dan,i dan unosa u formatu datuma,ali staz mi je u stringu,kao recimo 010225,sto pokazuje 1 godinu,2 meseca i 25 dana...
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
134.90.133.*



+62 Profil

icon Re: Delphi and MsAccess06.07.2015. u 11:10 - pre 106 meseci
Koji deo je zapeo?

Pozz
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Delphi and MsAccess06.07.2015. u 15:04 - pre 106 meseci
Kako da napravim sledece:
Imam polje koje mi je pretraga po prezimenu radnika,i to mi sljaka,ukucam pocetna slova i izbaci mi listu,gde sa dvoklikom izaberem nekoga,i ti podaci ostanu na formi...pored opstih podataka,imam jedan textbox,koji mi oznacava staz radnika u string formatu,recimo 1g,1m,21dan...Kako da dobijem taj podatak,cim izaberem radnika?U bazi imam polje string koje oznacava staz do trenutka unosa radnika,negde 2009 godine,kada je pravljen program....Dakl taj kod treba da sabere taj staz do unosa + do danasnjeg datuma i minus broj dana neplacenog odsustva...I da sve to bude u string formatu,dan,mesec ,godina...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Delphi and MsAccess06.07.2015. u 22:27 - pre 106 meseci
Tesko je tu voditi staz u danima, najlakse da vodis u godinama, mesecima i danima pa da svaki od njih dodajes odvojeno dane, mesece i godine ili oduzmes. Verovatno je najbolje da vidis kako se to vodi u PIO fondu i da primenis isti taj algoritam.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Delphi and MsAccess06.07.2015. u 22:43 - pre 106 meseci
Nisam se dobro izrazio...meni i treba u godinama,mesecima i danima...samo mi pretstavlja problem ovo polje u stringu u bazi.....Ako moze za pocetak kako dane prebaciti u d,m,g...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Delphi and MsAccess07.07.2015. u 10:32 - pre 106 meseci
Dakle iz stringa "1g,1m,21dan" treba da izvuces pojedinačne podatke?

Code:


function StrToken(var S: string; Separator: Char): string;
var
  I: Integer;
begin
  I := Pos(Separator, S);
  if I <> 0 then
  begin
    Result := Copy(S, 1, I - 1);
    Delete(S, 1, I);
  end
  else
  begin
    Result := S;
    S := '';
  end;
end;

function StringToInteger(AValue: string): Int64;
const
  AnsiDecDigits = ['0'..'9'];
  AnsiSigns     = ['-', '+'];
var
  i, b: Integer;
begin
  b := 1;
  for i := 1 to Length(AValue) do
  begin
  {$IFDEF DELPHIXE_UP}
    if CharInSet(AValue[i], AnsiDecDigits) or ((b = 1) and CharInSet(AValue[i], AnsiSigns)) then
  {$ELSE}
    if (AValue[i] in AnsiDecDigits) or ((b = 1) and (AValue[i] in AnsiSigns)) then
  {$ENDIF}
    begin
      AValue[b] := AValue[i];
      Inc(b);
    end;
  end;

  SetLength(AValue, b - 1);
  Val(AValue, Result, b);
end;


Sa ovim gore funkcijama možeš to lako završiti, npr:

Code:

[var
  Staz, Temp: string;
  God, Mes, Dan: Integer;
begin
  Staz := '1g,1m,21dan';
  Temp := StrToken(Staz, ',');
  God := StringToInteger(Temp);
  Temp := StrToken(Staz, ',');
  Mes := StringToInteger(Temp);
  Dan := StringToInteger(Staz);
end;


 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Delphi and MsAccess07.07.2015. u 13:43 - pre 106 meseci
Njemu je u formatu ggmmdd, znači ovako nekako:

Code:
var
  iGod, iMj, i Dan: integer;
begin

iGod := Copy(sString, 0, 2)


itd.

Makar ovo nije dobar pristup, ako je već tako napravljeno onda nemaš drugih opcija. Nemoj zaboraviti na kontrole, da netko ne bi ubacio 11011 umjesto 011011...
F
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Delphi and MsAccess07.07.2015. u 22:16 - pre 106 meseci
Imam funkciju za racunanje razlike u datumima,i to u formatu godine,meseci i dani(i to bas ovako je u bazi,010101,1 godina,1 mesec i 1 dan).meni treba da ovoj razlici u datumima,koju imam,u formatu g,m,d...dodam string iz baze,ovo 010101.....Ne znam da li sam jasan....
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Delphi and MsAccess07.07.2015. u 22:49 - pre 106 meseci
Ne mozes sabirati stringove, staz koji ti je u stringu pretvori u normalan oblik (integer vrednosti) i onda primeni sabiranje.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Delphi and MsAccess08.07.2015. u 14:56 - pre 106 meseci
Imam proceduru za razliku izmedju dva datuma...to je ova....

procedure DateDiff(DateFrom, DateTo: TDateTime;
var Years, Months, Days: Integer);
var
Temp: TDateTime;
i: Integer;
begin
Years := 0;
Months := 0;
Days := 0;
i := 0;
Temp := DateFrom;
while Temp <= DateTo do
begin
Inc(i);
Temp := IncMonth(DateFrom, i);
end;
Years := i div 12;
Months := i mod 12;
// now this depends on what you want here..
// this will return number of whole days counting from time part of DateFrom
Days := Trunc(DateTo - IncMonth(Temp, -1));
// if you need days counted based on midnight...
// e.g. from Jan/1/2000 23:59 to Jan/2/2000 00:01 -> difference 1 day..
{Days := Trunc(DateTo) - Trunc(IncMonth(Temp, -1));}
end;


E,sada meni treba da na ovu razliku,koja je u g,m,d...dodam field koji je u stringu....

Na formu ,tj njegov event...sam stavio ovaj deo,gde pozivam ovu proceduru

datediff(datumunosa,danas,years,months,days);
frmgodisnjiodmori.Edit5.Text := IntToStr(years) + 'g' + IntToStr(Months) + 'm' + IntToStr(days) + 'd';


Gde na ove,years,months i days da dodam moje polje 010101....

Znam da ide integer i to nesto tipa left(string,0,2)...ali kako i gde da ga dodam postojecoj razlici....
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: Delphi and MsAccess08.07.2015. u 15:56 - pre 106 meseci
Unit DateUtils ima veliki broj funkcija za rad sa DataTime podatcima.
Nema potrebe da pravis svoje.
Dakle primeni prvo pristup koji je dao captPicard
da string konvertujes u word uz malu izmenu
Code:

var
  sgod,smes,sdan:String;
  Godina,mesec,dan,ProtekloDana:Word;
  Dt:TDatetime;
begin
  sgod := Copy(sString, 1, 2);
  smes := Copy(sString, 3, 2);
  sdan := Copy(sString, 5, 2);

  Godina:=Strtoint(sgod);
  mesec:=Strtoint(smes);
 dan:=Strtoint(sdan);
 if Godina > 50 then  Godina := 1900+Godina 
 else
   Godina := 2000+Godina; //ako je posle 2000 te

  //EncodeDateTime za prevodenje podatke u Tdatatime 
  Dt:=EncodeDateTime(Godina,mesec,dan,0,0,0,0);
 ProtekloDana:=DaysBetween(now,Dt); // odreduje broj dana izmedu sadacnjeg dana i dana iz stringa sString koji sadrzi datum iz tvoje baze
end;






[Ovu poruku je menjao Milan Milosevic dana 08.07.2015. u 17:55 GMT+1]
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Delphi and MsAccess08.07.2015. u 17:31 - pre 106 meseci
Ne treba mi time,samo date...i ovo nesto ne ide...Da ponovim jos jednom....evo ovako....
U bazi imam polje staz,koje je string(010101),i imam polje datumunosa,koje je 26.06.2008 godine jer je tada pravljen program,a ovaj staz je staz do tog trenutka...i meni treba da izracunam koliko imam g,d.m od datumaunosa i plus staz znaci ovo 010101....Program sam nasledio,nisam ga ja pisao,to je nekome bilo lakse u access da uradi tako...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Delphi and MsAccess08.07.2015. u 18:20 - pre 106 meseci
Ja ne znam kako bolje da objasnim, stringove ne mozes sabirati, string moras pretvoriti u odgovarajuce broje i onda sabirati. Poslao sam ti i funkcije kako da pretvoris string u brojeve a i drugi su to cinili, tvoj zadatak je da sednes i iskombinujes ta dve stvari a to je max dva sata posla, ne razumam sta ti je tu problem.
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: Delphi and MsAccess08.07.2015. u 18:39 - pre 106 meseci
Ok jasno mi je gde je tvoj problem.

[Ovu poruku je menjao Milan Milosevic dana 08.07.2015. u 20:43 GMT+1]
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: Delphi and MsAccess08.07.2015. u 19:41 - pre 106 meseci
Evo jos jedna procedura koja racuna godine, mesece i dane.
Po autoru uzima u obzir i prestupne godine.
POmocu ove funkcije dobices godine, mesece i dane izmedu danasnjeg dana ili nekog drugo koji ti treba i 26.06.2008.
Iz moje procedure izvuci ces godine, mesece i dane radnog staza do 26.06.2008.
i na kraju ces da ih saberes.
Ukoliko broj dana prelazi 30 ili 31? (Moras da pitas nekog pravnika kako se racuna staz)


Code:


procedure YearsMonthsWeeksDaysBetween(DateFrom, DateTo : TDate; Var YearsGap, MonthsGap, WeeksGap, DaysGap : Word);
var
DaysNumber,DaysCounter,DaysInAMonthCounter: Word;
YearsCount, MonthsCount, WeeksCount, DaysCount,DaysInCurrentMonth: Word;
TempDate : TDate;
begin

//Init Vars.
// Respresents: YearsGap, MonthsGap, WeeksGap, DaysGap
YearsCount:=0; MonthsCount:=0; WeeksCount:=0; DaysCount:=0; 

// Represents: The Days gap by two dates (In Days only) and Days Counter.
DaysCounter:=0; DaysNumber:=DaysBetween(DateFrom, DateTo);

// Represents: The current Month's number of days and Days counter (per a month)
DaysInCurrentMonth:=0; DaysInAMonthCounter:=0;

// Copy the DateFrom parameter for farther calculations
TempDate:=DateFrom;

// Update the number of days in current month
DaysInCurrentMonth:=DaysInMonth(TempDate);

// Actual Job -- Check on each day.
While DaysCounter < DaysNumber do
Begin
Inc(DaysCounter);
Inc(DaysInAMonthCounter);
Inc(DaysCount);
If DaysCount=7 Then
Begin
Inc(WeeksCount);
DaysCount:=0;
End;

// If you reach the end of a month, based on the number
// of days of the current month then
If (DaysInAMonthCounter = DaysInCurrentMonth) Then
Begin
Inc(MonthsCount);
WeeksCount:=0;
DaysCount:=0;

If MonthsCount=12 then
Begin
Inc(YearsCount);
MonthsCount:=0;
End;

// Add a month, based on the month's number of days, to DateFrom
TempDate:=TempDate+DaysInCurrentMonth; 

// Calculate the number of days of the next month
DaysInCurrentMonth:=DaysInMonth(TempDate);

// Start coung Month's days all over again.
DaysInAMonthCounter:=0;
End;

End;
End;



[Ovu poruku je menjao Milan Milosevic dana 09.07.2015. u 06:04 GMT+1]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Delphi and MsAccess

Strane: 1 2

[ Pregleda: 4925 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

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