Avatar billede kennethv Nybegynder
01. oktober 2006 - 10:11 Der er 1 kommentar og
1 løsning

Indlæsning af et MEMO felt i access.

Jeg har en form med 2 ComboBox'e og 1 memo. Jeg har en db i access med 2 felter som er typen TEXT og 1 felt som er typen MEMO. 2 TEXTfelter = NAME, FILE. 1 MEMOfelt = DATALOG. I min Form1.OnCreate indlæser jeg i min ComboBox1 indhold af feltet NAME. Udfra valg i comboBox1 indlæser jeg i min ComboBox2 indhold feltet FILE. Når jeg så vælger i ComboBox2 skulle den fil jeg valgt indlæse i min Memo1, men det spiller ikke.

Jeg har med denne rutine skrevet i min db:

ADOTable1.Open;
if not (ADOTable1.State in [dsInsert, dsEdit]) then
  ADOTable1.Insert;
ADOTable1Name.AsString := TmpUSERNAME;
ADOTable1FILE.AsString := TmpFILE;
ADOTable1DataLog.LoadFromFile(Filename);
ADOTable1.Post;
ADOTable1.Close;

Når jeg hente info fra mit MEMO felt bruger jeg denne rutine:

procedure TForm1.ComboBox2Click(Sender: TObject);
var  MemoryStream : TMemoryStream;
begin
  MemoryStream := TMemoryStream.Create;
  ADOTable1.Open;
  ADOTable1.Locate('FILE', ComboBox2.Items[ComboBox2.ItemIndex],[loCaseInsensitive]);
  ADOTable1DataLog.SaveToStream(MemoryStream);
//  ADOTable1.SaveToFile('c:\text.txt');
  Memo1.Lines.LoadFromStream(MemoryStream);
  Memorystream.Free;
end;


Men jeg får ikke noget ind i min memo. Hvis jeg gemmer det i en fil, er det alt der er i min DataLog udfra hvad jeg har valgt i ComboBox2.

PFT
Avatar billede kennethv Nybegynder
01. oktober 2006 - 23:47 #1
En lille opdatering. Jeg har prøvet at indlæse i min memo med LoadFromFile, men indholdet i min memo i mit test program, indeholder ikke det hele fra orginalen. Hvis jeg åbner c:\text.txt kan jeg se at det kun er lige i starten af filen der bliver indlæst. Nogen der har en ide?

procedure TForm1.ComboBox2Click(Sender: TObject);
var MemoryStream : TMemoryStream;
begin
  MemoryStream := TMemoryStream.Create;
  ADOTable1.Open;
  ADOTable1.Filter := 'NAME = ' + Quotedstr(ComboBox1.Text) + ' and ' + 'FILE = ' + Quotedstr(ComboBox2.Text);
  ADOTable1.Filtered := true;
  ADOTable1DataLog.SaveToStream(MemoryStream);
  ADOTable1.SaveToFile('c:\text.txt');
  Memo1.Clear;
  Memo1.Lines.LoadFromFile('c:\text.txt');
  Memorystream.Free;
end;

Point skuet op.
Avatar billede kennethv Nybegynder
02. oktober 2006 - 00:07 #2
Jeg klaret den selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester