- Korzystam z kilku tabel należących do jednej bazy paradoxa, jedna z nich zawiera pola typu memo
Wszystkie pozostałe tabele można bez problemu wyczyścić poleceniem
Tablica.EmptyTable
Jednak gdy próbuje zastosować ta sama metodę dla tablicy z polami typu memo dostaje bład:
„Table cannot be opened for exclusive use”
Polecenie delete działa bez problemów wobec tego ominąłem to przez napisanie czegos takiego:
for i:=1 to Tablica.RecordCount do Tablica.Delete;
problem w tym, ze mimo iż program odczytuje tabele jako pusta to rozmiar pliku typu *.MB się nie zmienia, w jaki sposób można odzyskać miejsce na dysku? poza tym dlaczego nie można wykozystac funkcji EmptyTable?
- W jaki sposób można dostać się do poszczególnych wierszy tekstu zawartego w komórce typu memo?
Udało mi się ten problem rozwiązać jedynie przez przypisanie wartości pojedynczej komórki do komponentu TMemo a następnie odczytywanie kolejnych jego linijek.
Tabela.RecNo:=NumerWiersza;
Memo.Lines.Text:= Tabela[‘Kolumna typu memo’];
for k:=1 to Memo.Lines.Count do Linia:=Memo.Lines.Strings[k-1];
Niby wszystko działa ale w jaki sposób można to zrobić bez przenoszenia tekstu do TMemo?
- czy istnieje jakiś wygodniejszy sposób na odczytywanie wartości komórek tablicy niż poniższe rozwiązanie?
function ElementBD(Tabela: TTable; Kolumna: String; Wiersz:Integer) : String;
begin
Tabela.RecNo:=Wiersz;
ElementBD:=Tabela[Kolumna];
end;
- Czy aplikacje korzystające z BDE działają bez problemu pod Vista?
Będę bardzo wdzięczny za wszelka pomoc :)