Sprawa nieaktualna. Już poradziłęm sobie.
Progs w Delphi. Na początku trzeba podłączyć do programu bazę danych Accessa przez ADOTable i DataSource. Teraz na formę trzeba wywlec potrzebne pola z listy dostepnej po dwukliku na ADOTable, prawym i Add Fields.
Następnie kod funkcji:
function TForm1.getxy(x,y,m:integer):string;
var tm1, tm2:string;
var i:integer;
begin
IF memo1.Lines.Count<y then begin o:=false; Result:=''; Exit; end;
IF length(memo1.Lines[y])<x then begin o:=false; Result:=''; Exit; end;
tm1:=memo1.Lines[y];
i:=x;
REPEAT
i:=i+1;
tm2:=tm2+tm1[i];
until (i=x+m) OR (i=length(tm1));
tm1:='';
tm2:=Trim(tm2);
Result:=tm2;
end;
Funkcji podaje się argumenty: X, Y, długość, a funkcja daje z Memo1 tekst zaczynający się w punkcie X,Y i o podanej długości. Poza tym funkcja obcina spacje z początku i końca (linia z Trim)
Teraz tylko coś w rodzaju:
DBEdit30.EditText:=IntToStr(StrToIntDef(GetXY(67,6,5),0));
Powyższy przykład ilustruje dane które w bazie danych są typu Integer.
Jeżeli GetXY natknie się przypadkiem na same spacje i koniec linii może dac nieprzewidziane rezultaty, jak np. "%ŚÇ", Dlatego też dane są konwertowane na Integer, w przypadku śmieci zero. Następnie wartość jest konwertowana na String, by można było ją wpisać do DbEdita.
Oczywiście gimnastyka taka nie jest potrzebna przy danych które w bazie są już łańcuchem tekstu.
Teraz tylko to oprogramować przez DBNavigator.BtnClick[nazwaprzycisku], żeby za każdym razem zapisywało i wstawiało nowy rekord po czym umieścić w pętli FOR w zależności od plików otwartych przez OpenDialog (OpenDialog1.files.count - ilość otwartych plików, OpenDialog1.files[x] - ścieżka do pliku nr X) w której plik bedzie ładowany do Memo1, dodawany rekord, pisany rekord, potwierdzany, memo czyszccone itd..
Może nie optymalne, ale działa
Temat uważam za zamknięty.