DBGRID - 2 pytanka do Was :)

0

Witajcie!
Mam dwa pytanka:
Robię spory soft na zlecenie do księgowości i opieram się na komponentach bazodanowych DB, z którymi nie miałem wcześniej do czynienia dlatego prosze o wyrozumiałość. Mam dwa pytania jak na razie:

  1. Mam przykładowo dwie tabele DBGRID1 z 4 kolumnami i DBGRID2 z 5 kolumnami. OK, chcę teraz zaprogramowac tak, że jak wpisuję coś do pierwszej kolumny DB1 to wyświetla mi się ten sam text w czwartej kolumnie DB2. Jak to zrobić? Podpinałem pod Button taki kod:
dbgrid2.Columns[4]:=dbgrid1.Columns[1];

Niestety nie chce mi to działać, ale się kompiluje bez błędów.

  1. Chcę schować za pomocą Buttona dwie ostatnie kolumny w DB2. Wywala mi błąd z jakimś indexem. A kod napisałem taki:
dbgrid2.Columns[5].Visible:=false;
dbgrid2.Columns[4].Visible:=false;

Czy możecie coś doradzić na te pytania? Dzięki z góry!! :) </delphi>

0

Nie znam się na bazach danych, ale spróbuj tak:
ad1. dbgrid2.Columns[4].Assign(dbgrid1.Columns[1]);
ewentualnie można jechać po każdej komórce z osobna.

ad2. dbGrid1.Columns[4].Visible:=False; <- to powinno działać.

0

Nie chce mi to działać niestety:(
Czy ktoś wie jeszcze jak przypisać dane z DBGrid1 do DBGrid2?

0

DBGrid jest oparty na jakimś DataSet (Table albo Query) jeśli oba widoki wskazują na to samo pole to powinno działać. Tylko może być to kewstia odświerzania.
Napisz więcej:

  • jaka baza
  • jakie komponenty
  • większy kawałek kodu
0

Używam DBGRID, DBNavigator, TTable, TDataSource. Tabele robione są w DatabaseDesktop na dBASE IV.
Hmm kod? Kod mam napisany tylko do filtrów:
procedure TForm1.Table6FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:=Table6['TYP_KONTA'] = 'B';
end;

procedure TForm1.Table8FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:=Table8['TYP_KONTA'] = 'P';
end;

I Button do przypisania kolumny 0 do kolumny 3 w DB2.

procedure TForm1.Button3Click(Sender: TObject);
begin
dbgrid7.Columns[3].Assign(dbgrid6.Columns[0]);
end;

Już tam mi nie chodzi o chowanie kolumn, ale jak przypisać dane z kol. 0 (dbg6) do kol. 3 (dbg7).

Powoli się załamuję...:( </delphi>

0

Jak na mój gust to wygląda to tak, że chcesz aby po wprowadzeniu jakiegoś rekordu do tabeli pierwszej, wartość pierwszej komórki (lub kolumny - jak kto woli) tej tabeli była dopisywana jako wartość 4 komórki w tabeli 2. Jeśli dobrze Cię zrozumiałem to należałoby to zrobić w ten sposób, że po zatwierdzeniu rekordu z tabeli 1 będzie automatycznie wstawiany rekord do tabeli 2 z wartością pola 4 skopiowaną z pola 1 tabeli 1. Wow, co ja napisałem - chyba sam się pogubię. Jeśli o to chodzi to może coś poradzę.

0

Informatik bingo!! O to własnie biegało, chociaz nie wpadłem na ten pomysł aby po zatwierdzeniu rekordu na końcu - będa się dane też wpisywały do 2 tabelki :)
Trafiłeś w to co potrzebuję, ale jak to teraz wykonać? Pomóż, moje GG: 4147145 jak coś :)

0

... Mam przykładowo ... DBGRID2 z 5 kolumnami...

  1. Chcę schować za pomocą Buttona dwie ostatnie kolumny w DB2. Wywala mi błąd z jakimś indexem. A kod napisałem taki:
dbgrid2.Columns[5].Visible:=false;
dbgrid2.Columns[4].Visible:=false;

Czy możecie coś doradzić na te pytania? Dzięki z góry!! :) </delphi>

Jesli z 5 kolumn to od 0 do 4 więc Columns[5] jest poza zakresem stąd komunikat z indexem.

0

Chowanie kolumn nieważne już tam. Chodzi mi tylko jak przypisać dane z jednej kolumny do drugiej w innej tabeli :(( POMOCY!!

0

czy te 2 tabele mas zoparte na 2 róznych datasetach czy na jednym bo jezlei na jednym to wystarczy odpowiednio je kolumny i bedzie ok, zaden problem

1 użytkowników online, w tym zalogowanych: 0, gości: 1