AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Hilfe mit Excel über AdoConnection!
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe mit Excel über AdoConnection!

Ein Thema von smartmod · begonnen am 28. Jun 2006 · letzter Beitrag vom 28. Jun 2006
Antwort Antwort
smartmod

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

Hilfe mit Excel über AdoConnection!

  Alt 28. Jun 2006, 11: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
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Hilfe mit Excel über AdoConnection!

  Alt 28. Jun 2006, 12:32
Solche Probleme gibt es öfter das man über ADO nicht den Zelleninhalt bekommt wenn die Formatierung der Zellen nicht paßt. Sicherer ist es über die COM-Schnittstelle von Excel die Daten einzulesen oder mittels nativer Komponente die XLS-Datei direkt zu lesen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
smartmod

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

Re: Hilfe mit Excel über AdoConnection!

  Alt 28. Jun 2006, 13:19
Wie müsste ich denn die Zellen formatieren? Die sind als Standard formatiert. Ich hab nämlich eigentlich keine Lust das ganze Ding jetzt wieder umzustellen (der Quellcode ist 1000 Zeilen lang und überall wird die Ado genutzt.)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Hilfe mit Excel über AdoConnection!

  Alt 28. Jun 2006, 13:40
Zitat von smartmod:
Wie müsste ich denn die Zellen formatieren? Die sind als Standard formatiert. Ich hab nämlich eigentlich keine Lust das ganze Ding jetzt wieder umzustellen (der Quellcode ist 1000 Zeilen lang und überall wird die Ado genutzt.)
Da ich nür über COM auf Excel zugreife und die Probleme über ADO hier und in anderen Foren immer wieder auftreten kann ich dir nur den Tipp gehen die Forensuche zu bemühen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz