Einzelnen Beitrag anzeigen

smartmod

Registriert seit: 11. Jul 2005
26 Beiträge
 
#1

Hilfe mit Excel über AdoConnection!

  Alt 28. Jun 2006, 12:43
Datenbank: Excel • Version: 8 • Zugriff über: AdoConnection
Hallo,

ich habe folgendes Problem.
Ich möchte Daten aus einer Exceldatei in eine ListView einlesen. Dazu benutze ich eine AdoConnection und eine AdoTable.
Das funktioniert auch alles ganz prima, nur leider liest er Werte manchmal ein, und manchmal nicht. Ich weiß leider nicht woran das liegt.

Beispiel:

Das ist die Tabelle, die eingelesen werden soll:

Zitat:
Gruppe-Team | Tore / Sieger
Achtel1-Deutschland | 2
Achtel1-Schweden | 1
Achtel1Sieg | Deutschland
Achtel2-Argentinien | 4
Achtel2-Mexiko | 1
Achtel2Sieg | Argentinien
Achtel3-England | 2
Achtel3-Ecuador | 0
Achtel3Sieg | England
Achtel4-Portugal | 1
Achtel4-Niederlande | 1
Achtel4Sieg | Portugal
Das ist der dazu genutzte Code:

Delphi-Quellcode:
ListView3.Clear;

Seperator := '-';


  AdoTable2.Active := false;
  AdoTable2.Connection := AdoConnection2;
  AdoTable2.TableName := '['+ListView14.Items[ListView14.ItemIndex].Caption+'$]';
  AdoTable2.Active := true;

  i := 0;
  AdoTable2.First;
  with Adotable2 do

  begin

    While not EoF do

    begin

      ListView3.Items.Add;
      iPos := Pos(Seperator, AdoTable2.Fields.FieldByNumber(1).Text);
      ListView3.Items[i].Caption := Copy(AdoTable2.Fields.FieldByNumber(1).Text, 0, iPos-2);
      ListView3.Items[i].SubItems.Add(Copy(AdoTable2.Fields.FieldByNumber(1).Text, iPos+1, Length(AdoTable2.Fields.FieldByNumber(1).Text)));
      ListView3.Items[i].SubItems.Add(AdoTable2.Fields.FieldByNumber(2).Text);
      ListView3.Items[i].SubItems.Add(' : ');
      Next;
      ListView3.Items[i].SubItems.Add(AdoTable2.Fields.FieldByNumber(2).Text);
      iPos := Pos(Seperator, AdoTable2.Fields.FieldByNumber(1).Text);
      ListView3.Items[i].SubItems.Add(Copy(AdoTable2.Fields.FieldByNumber(1).Text, iPos+1, Length(AdoTable2.Fields.FieldByNumber(1).Text)));
      Next;
      ListView3.Items[i].SubItems.Add(AdoTable2.Fields.FieldByNumber(2).Text);
      Next;

      inc(i);
    end;
  ProgressBar1.Position := 0;
  Label1.Caption := IntToStr(Points);
  end;

  ListView3.ItemFocused := ListView3.Items[0];
  ListView3.Enabled := true;

  end;
Er liest die Werte der ersten Spalte ohne Probleme ein, in der zweiten aber nur die Zahlen. Text grundsätzlich nicht. Kopiere ich nun aber die Werte der ersten Spalte im Original Excelsheet in die zweite, liest er auch die ein.

Ich hoffe mein Problem ist verständlich.

Vielen Dank schonmal für die Hilfe!
  Mit Zitat antworten Zitat