Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Brauche Hilfe Datenbank/Serienbrief-Application (https://www.delphipraxis.net/29890-brauche-hilfe-datenbank-serienbrief-application.html)

Denzel 16. Sep 2004 08:32


Brauche Hilfe Datenbank/Serienbrief-Application
 
Hallo zusammen,

ích muss ein Programm schreiben woran 25 Benutzer sitzen werden, Kunden sollen in eine Datenbank hinterlegt werden und mit den Daten sollen Serienbriefe erstellt werden. Ich habe mich erstmal für eine Paradox7 Datenbank entschieden.. wird das funktionieren das bis zu 25 User gleichzeitig an einer Datenbank arbeiten können? Mein Hauptproblem ist das ich nicht weiß wie ich zB für 100 Kunden (die in der Datenbank) automatisch Serienbriefe erstellen soll.
Bis jetzt sieht es so aus das ich nur für einen User einen Serienbrief erstellen kann (mit OLE) das wird aber viel zu lange dauern.

Danke,
denzel

Sharky 16. Sep 2004 08:36

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
Hai Danzel,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXIS".

Die wichtigste Frage ist wohl zu klären wie das Layout des Serienbriefes erstellt werden soll. Die Daten aus der Datenbank zu holen ist dann ja sekundär.
  • Soll der SB vom Anwender verändert werden können?
  • Soll der SB innerhalb der Anwendung geschrieben werden?
  • Wird der SB in einer Textverarbeitung erzeugt?

Reini64 16. Sep 2004 08:42

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
Hallo Denzel,

ich würde in deinen Fall mit einen RichText-Feld arbeiten und den Inhalt durch Variabeln verändern.

Zur Datenbank Paradox 7 diese würde ich Dir nicht vorschlagen. Ich verwende TurboDb - findest Du eine 30 Tage Version unter www.turbodb.de - da gibt es kein Probleme was den Netzwerkzugriff betrifft und man braucht keine Zusatzmodule wie z.B. BDE usw.#

Gruß

Reini64

Jelly 16. Sep 2004 08:46

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
Wie Reini64 schon schreibt, würd ich ebenfalls die Finger von Paradox lassen. Da kriegst du Probleme im Mehrbenutzerbetrieb. Alternativen gibts viele. Such doch mal hier im Forum.

Wenn die Leute die Briefe selbst ändern sollen, bietet sich meiner Meinung die Komponente TEkRTF an. Damit kannst du die Templates in z.B. Word erstellen, als RTF speichern, und daraus dann deinen Serienbrief erstellen. Das klappt in meinen Projekten ganz gut. Willst du dann die Briefe direkt aus deiner Anwendung raus drucken, geht das auch relativ problemlos... Wenns dich interessiert, post ich für dieses direkte Drucken gerne den Code mal hier rein.

Gruß

Denzel 16. Sep 2004 10:19

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
Sharky: Danke :) freut mich das ich so schnell antworten bekommen habe!
- Der Anwender soll den SB verändern können.
- Der SB soll innerhalb der Anwendung geschrieben werden.
- Und JA der SB soll in einer Textverarbeitung erzeugt werden
aber falls es eine besser möglichkleit gibt würd ich die gerne wissen.

Reini64: Danke, aber eine 30 Tage Test Version ist nicht so praktisch weil ich wohl
kein Geld für Lizensen bekomme. Aber wie Jelly geschríeben hat werde ich
erstmal im Forum nach Alternativen suchen.

Jelly: Danke, ich schau mir gleich mal die TEkRTF Komponente an. Kann ich damit auch
für mehrere Serienbriefe aber mit verschieden Daten aus der Datenbank Drucken?

Ich habe es so gemacht das ich den Text vom Serienbrief über Memos eingeben lasse und von
dort dann über OLE es in ein Word dokument einfüge. Aber das heißt auch das nur die Daten
von einem Kunden für den Serienbrief eingetragen werden. Ich habe mir das so vorgestellt
das ich im DBGrid mehrere Kunden auswähle und dann für jeden Kunden einen Serienbrief schreibe.
Aber weiß ich noch nicht so genau wie ich das realisieren soll.

Gruß,
Denzel

Jelly 16. Sep 2004 11:13

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
Zitat:

Zitat von Denzel
Danke, ich schau mir gleich mal die TEkRTF Komponente an. Kann ich damit auch für mehrere Serienbriefe aber mit verschieden Daten aus der Datenbank Drucken?

Kuck dir die Komponente am besten mal an. Einfach googeln, und du wirst sie leicht finden. Für die Komponente ist eine Vorlage nötig, mit speziellen Platzhaltern die du angeben musst. Steht alles in der Hilfedatei zur komponente mit drin. Ist nicht so schwer wies vielleicht aussieht.

Die Komponente kann nicht nur für die einzelnen Platzhalter Werte einsetzen, sondern kann auch ganze Tabellen erstellen. (Stichwort \scan und \endscan in der Komponente). Wenn du jetzt also einen Serienbrief für 5 markierte Einträge in deinem DBGrid drucken willst, würde ich wie folgt vorgehen:
1. Die ID (Primary Key) deiner markierten Eintrgäge merken und in einem durch Kommas markierten String merken... Also z.B.
IDs -> (1,4,6,10)
2. Dann eine SQL Abfrage formulieren, die dann der EkRTF Komponente übergeben wird, die dann etwa so aussieht
SQL-Code:
select * from MeineTabelle where ID in (1,4,6,10)
Wenn dein Template korrekt formuliert ist, kriegst du ein Word Dokument erzeugt, welches aus 4 Seiten besteht.

Gruß

Denzel 1. Okt 2004 14:37

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
hallo zusammen,

irgendwie komme ich nicht weiter! Beim DBGrid kann ich z.B. keinen Lösungsansatz finden um mehrere Einträge
zu selectieren, es gibt zwar bei den optionen von DBGrid dbMultiSelect aber da kann ich nur 2 selectieren und es
ist irgendwie nicht so das wahre. Hat jeamand eine lösung für mich. Hinzukommt das ich immernoch nix gefunden habe
welche Datenbank für meinen Zweck die beste wäre - auch die Suche hat nix gebracht. Für lösungsvorschläge bin
ich jederzeit offen ;-)

Vielen Dank.
Denzel

Leuselator 1. Okt 2004 20:39

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
Als Datenbank könntest Du die MSDE (Microsoft SQL-Server Desktop Engine = kostenloser miniSQL-Server) in Betracht ziehen. Die erlaubt auch den Netzwerkzugriff (5 gleichzeitige Verbindungen).

Delphi eignet sich hervorragend zur Steuerung von MS-Office. Du mußt nur die Office TLB importieren und schon kannst Du aus Delphi praktisch alles fernsteuern, was Du auch im Office selbst über VB for Applications machen kannst - also auch ganz easy "Suchen/Ersetzen", "Serienbrief erzeugen" oder "Ausdruck starten". Als gute Ausgangsbasis kann Dir ein in Word aufgezeichnetes Makro dienen, welches Du Dir im VB-Editor von Office öffnest, kopierst und als Vorlage für Deine Delphi "Fernsteuerbefehle" nimmst.

Hier findest Du ein kleines Beispielprojekt, das Dir den Vorgang zeigt.

Gruß

Alienhere 1. Okt 2004 22:30

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
Als Datenbankprogramm würde ich Dir M$-Access empfehlen, da Access das Hauptdokument für Serienbriefe mit Word erzeugen lassen kann.

Über Delphi - mit den von Leuselator empfohlenen Komponenten - kannst Du Access und Word fernsteuern.

Falls Dir das Projekt gelingen sollte (ich spreche mal theoretisch vom grünen Tisch aus), solltest Du Dich darauf einstellen, daß der Serienbrief dann plötzlich nicht mehr an alle Adressen der Datenbank gehen soll, sondern nur noch an die Personen der Datenbank, die z.B. in "München" wohnen und "gelbe Schuhe" tragen.

Dann müssen die Empfänger des Serienbriefs über eine "Abfrage in Access" ermittelt (rausgesucht) werden. Die Abfrage muß - in Access - gespeichert werden. Alles per "Fernsteuerung" von Delphi aus (theoretisch) möglich?!?

Nicht lustig, falls überhaupt möglich...

Falls Du selbständig bist und dafür bezahlt wirst, sowas zu machen, dann habe ich zwei (eher kundenfeindliche) Tipps für Dich:

1. FINGER WEG vom vorgeschlagenen Festpreis des Auftraggebers, selbst wenn Du glaubst, die 500 € für die zehn Minuten "Umschreiben" eines alten Programms sind "leicht verdientes Geld"!

Du wirst nicht 10 Minuten, sondern eher 10 Wochen daran sitzen!
Weil z.B. ASCII-, ANSI- und sonstige Zeichensätze in der dBase-Datei gemischt sind...

Oder der Chip, der den Datenverkehr bislang über die serielle Schnittstelle geregelt hat, es immer noch tut - aber mit einer anderen Codierung...

2. Dein Programm NIEMALS auf den betriebsrelevanten Rechnern des Kunden testen. Ganz gleich, was Dir der Kunde verspricht oder vertraglich zusichert (Backups, speziell ausgewählte Anwender):
Wenn was schiefgeht, wirst Du verklagt!

Nachträglich zu verklagen ist für den Auftraggeber *viel* bequemer und einfacher, als vorher ein Lastenheft für den Auftrag zu erstellen, in dem genau definiert ist, was zu tun ist.

Tja, Entschuldigung. Ich bin wohl etwas vom Thema abgekommen und habe herumgeschwafelt.

Leuselator 1. Okt 2004 23:58

Re: Brauche Hilfe Datenbank/Serienbrief-Application
 
Bis auf den bez. Access und Serienbriefdokument kann ich alle Hinweise von Alienhere nur bekräftigen!

Access ist eben ausdrücklich nicht für den Netzwerk-Mehrbenutzerbetrieb konzipiert. Ausserdem brauchst Du keine Serienbriefe mehr in Word (siehe Beispielprojekt) - ein ganz normales Worddokument mit eingestreuen pseudovariablen (z.B. "Sehr geehrter Herr «Name», ...") reicht - den Rest machst Du von Delphi aus.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr.
Seite 1 von 2  1 2      

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