AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speichern in Tabellenform

Ein Thema von VkPenguin · begonnen am 18. Dez 2014 · letzter Beitrag vom 25. Dez 2014
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Speichern in Tabellenform

  Alt 19. Dez 2014, 19:28
Danke erstmal für eure Antworten!

Datenbanken sind natürlich das offensichtliche, an das man zuerst denkt, aber die kann man im allgemeinen doch nicht außerhalb der Laufzeit des Programms einfach so öffnen wie eine Excel Datei und reinschreiben oder sehe ich das falsch?

Werde mich aber auf jeden Fall mal damit beschäftigen, dankesehr.
Du denkst darüber nach eine zweite Anwendung zu schreiben, die die Daten verwalten soll und jetzt störst du dich an was?

Du musst eine Anwendung öffnen um die Daten zu bearbeiten ... ja und bei Excel ist das anders?
Selbst bei einer Textdatei musst du eine Anwendung starten.

Oder stört dich die fehlende Automatik (Doppelklick auf die Datei)? ... Das kann man Windows beibringen.

Es gibt auch Anwendungen, die eine SQlite-Datenbank öffnen können.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#12

AW: Speichern in Tabellenform

  Alt 19. Dez 2014, 20:02
Es gibt auch Anwendungen, die eine SQlite-Datenbank öffnen können.
Das ist ein wichtiger Punkt: Für Datenbanken gibt es schon mächtige Tools, mit denen man arbeiten kann.
Neben dem Ansehen und Editieren von Tabellen kannst du natürlich auch adhoc-Anfragen auswerten. Import/Export in verschiedene Formate sollte auch kein Problem sein.

Für SQLite kann man z.B. einfach ein Firefox-Addon benutzen. Oder eben eines der Bei Google suchenvielen anderen fertigen Tools.
  Mit Zitat antworten Zitat
Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#13

AW: Speichern in Tabellenform

  Alt 19. Dez 2014, 20:13
Meine Idee ist nun, ein seperates Programm zu schreiben, dass nur eine große editierbare Stringgrid anzeigt, also quasi ein Pseudo-Excel. Dann könnte ich die Dateien normal abspeichern und hätte über das Zweitprogramm zugriff auf die Daten.
Also, ich weiß ja nicht, wie viel dir deine Zeit wert ist, aber ein solches Programm kannst du bei mir als lizensierte Version käuflich für 99 EUR erwerben.

Features u.a.
1)Zugriff und direkte Bearbeitung auf viele SQL-Server, Access, Excel
2)SQL-Basierende Datenmengen mit der Möglichkeit, diese direkt zu bearbeiten / manipulieren
3)Filter-, Such- u. Sortierfunktionen
4)Benutzerverwaltung: Sicherheit und Rechtevergabe auf Benutzerebene
5)Speicherbare unterschiedliche Datenquellen mit zugehörigen Datenmengen und wiederum zugehörigen Reports
6)Export in div. Formate: Excel, Open Office, PDF, XML, HTML u.a.
7)Direkter Mailversand auch als Serienmail (optional)
8)Generieren von eigenen Datenquellen (optional)
9)Programmierbar mit Zugriff auf alle Programmmodule (optional)

Interessiert?
Jörch
Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
  Mit Zitat antworten Zitat
Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#14

AW: Speichern in Tabellenform

  Alt 19. Dez 2014, 20:17
Ach ja, noch was:

netzwerktauglich...
Jörch
Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
  Mit Zitat antworten Zitat
pelzig
(Gast)

n/a Beiträge
 
#15

AW: Speichern in Tabellenform

  Alt 20. Dez 2014, 00:25
CSV. Alle Werte als "Wert" in Gänsefüßchen und als Seperator "|" nehmen.

Abgesehen von Excel sollte jedes in der DP "empfohlene" Datenbankprogramm diese Gänsefüßchen erkennen!

Oder erkennt kein Datenfurzimportprogramm "|" den Seperator? Außer Excel?


MfG
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: Speichern in Tabellenform

  Alt 20. Dez 2014, 06:52
Hört sich ein wenig nach Voodoo an. Muss man vorher irgendwie noch einen Hahn opfern und nackt (bis auf die Federn vom Hahn) durchs Feuer springen?

Oder reicht es, wenn man sich an die Vereinbarung mit dem Zielsystem hält, welche Strukturzeichen-Kombinationen dort berücksichtigt werden? Teilweise zugegeben nicht offensichtlich aber doch lösbar, allerdings mit Logik und ohne Voodoo.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#17

AW: Speichern in Tabellenform

  Alt 21. Dez 2014, 19:27
Vielen Dank nochmals für Eure Tipps. Ich habe mir die verschiedenen Möglichkeiten mal angesehen und glaube, dass sich TClientDataSet ganz gut eignet. Dazu habe ich mir dann einige Tutorials und Beispiele angesehen und ein kleines Testprogramm zusammengetippt.

Noch drei Fragen dazu:
1. Der Datentyp einer Spalte ist immer gleich, oder? Er kann also nicht z.b. ab der fünften Spalte geändert werden?
2. Speichert man dann Records, indem man den Record in seine Bestandteile aufteilt? Oder sollte man da mit Blob arbeiten?
3. Ist diese Vorgehensweise richtig, um ein bestimmtes Feld zu editieren, oder ginge es (etwa DB[5,2]:='test') auch einfacher?

Delphi-Quellcode:
DB.Locate('id',2,[]);
DB.Edit;
DB['person']:= 'person2';
DB.Post;
  Mit Zitat antworten Zitat
Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#18

AW: Speichern in Tabellenform

  Alt 21. Dez 2014, 19:31
Du solltest mein Angebot annehmen...
Jörch
Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#19

AW: Speichern in Tabellenform

  Alt 21. Dez 2014, 19:42
1. Ja, der Datentyp einer Spalte (=Feld) bleibt stets erhalten.

2. Wenn du in deiner Anwendung einen Recordtyp als Array festgelegt hast, dessen Inhalte du in eine Tabelle speichern möchtest, ist es erforderlich, daß die Record-Felder in der Tabelle sozusagen gespiegelt werden:
Delphi-Quellcode:
type
  MyRecord = Record
    Name : String;
    Vorname : String;
    Strasse : String;
    PLZ : String;
    Ort : String;
    Geburtsdatum : TDate;
  End;

var
  Adressen : Array of Record;
Im Grunde benötigst du den Record aber gar nicht, wenn du direkt mit der Tabelle arbeitest.

3. Ist diese Vorgehensweise richtig, um ein bestimmtes Feld zu editieren, oder ginge es (etwa DB[5,2]:='test') auch einfacher?
Delphi-Quellcode:
DB.Locate('id',2,[]);
DB.Edit;
DB['person']:= 'person2';
DB.Post;
Locate ist eine Funktion und liefert True zurück, wenn der gesuchte Eintrag gefunden und lokalisiert wurde. In deinem Beispiel wertest du den Rückgabewert der Funktion nicht aus und kannst daher nicht sicher sein, ob der Eintrag mit der Id=2 auch selektiert wurde, bevor du in diesem Record einen Feldwert änderst:

Delphi-Quellcode:
if DB.Locate('id',2,[]) Then
Begin
  DB.Edit;
  DB.FieldByName('person').AsString := 'person2';
  DB.Post;
End Else
Begin
  DB.Append;
  DB.FieldByName('person').AsString := 'person2';
  DB.FieldByName('id').AsInteger := 2;
  DB.Post;
End;
DB ist vermutlich dein CustomDataSet oder MemoryDataSet. Schau dir doch einmal die Hilfe zu Datasets an, das könnte sehr nützlich sein. Und laß dich nicht verwirren: In Datenbanken bezeichnet der Ausdruck Record einen Eintrag in einer Tabelle, tabellarisch gesehen wäre das dann eine Zeile. Eine Spalte in einer Tabelle ist ein Feld.
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#20

AW: Speichern in Tabellenform

  Alt 21. Dez 2014, 19:54
@Humbock: vielen Dank für Dein Angebot, aber ich möchte selbst lernen, damit umzugehen.
@Perlsau: Danke Dir, 1. und 3. sind damit klar. Was ich jedoch nicht ganz verstanden habe ist 2.
Zitat:
Wenn du in deiner Anwendung einen Recordtyp als Array festgelegt hast, dessen Inhalte du in eine Tabelle speichern möchtest, ist es erforderlich, daß die Record-Felder in der Tabelle sozusagen gespiegelt werden
Ich habe in der Anwendung, für die ich die Datenbank später brauche bereits Records. Meine Frage ist nur, soll ich nun einen Record wie beispielsweise

Delphi-Quellcode:
type RPerson=Record
Name:String;
ID:Integer
End;

Personen:Array of RPerson
mithilfe zweier Spalten "Name" und "ID" speichern, oder gibt es da noch etwas geschickteres?

*Edit*: Gerade, wenn man bedenkt, dass es in meinem Programm etwa 10 Recordtypen gibt, die als Basis von Arrays unterschiedlichste Daten beinhalten, wird das doch recht unübersichtlich, oder nicht? Sollte man dann mit unterschiedlichen Datasets arbeiten? Aber die müssten dann doch auch zusammengeführt werden, um alles am Ende in einer Datei speichern zu können...? Oder habe ich da was falsch verstanden?

Geändert von VkPenguin (21. Dez 2014 um 20:37 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 01:34 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