AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi An Monatsanfang neue Tabelle erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

An Monatsanfang neue Tabelle erstellen

Ein Thema von Praktikant · begonnen am 30. Sep 2003 · letzter Beitrag vom 6. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#1

An Monatsanfang neue Tabelle erstellen

  Alt 30. Sep 2003, 16:38
Folgendes Problem:
Ich habe eine Tabelle die alle Aktionen loggt (bzw. muss ich noch so was realisieren), jeden neuen Monat soll automatisch eine neue Tabelle mit Bezeichnung 'Monat_Jahr_Name.db' erstellt werden.

But how
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#2

Re: An Monatsanfang neue Tabelle erstellen

  Alt 30. Sep 2003, 16:50
Also ich gehe jetzt mal davon aus, dass du das in Delphi machst.

Überprüf doch beim Programmstart, ob ein neuer Monat angefangen hat, und wenn ja, dann erzeugst du eben mit dem Datenbankzugriff eine neue Tabelle:
von mir uas mit SQL
SQL-Code:
CREATE TABLE "monat_jahr_db"
....
Meinst du doch so oder?

Czapie.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: An Monatsanfang neue Tabelle erstellen

  Alt 30. Sep 2003, 17:02
Im Prinzip ja.
Nur darf er nicht beim Programmstart schauen ob ein neuer Monat begonnen hat, sondern bei jeder Log-Aktion.
Dann noch das Problem wie ich das Datum und Jahr von selbst zuweise.
Sprich wie muss der Quellcode zu der Fuinktion aussehen?!
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#4

Re: An Monatsanfang neue Tabelle erstellen

  Alt 30. Sep 2003, 17:14
-> Delphihilfe!

Na über die Funktion Date kommst an das Datum, wa du dann über Datetostr in einen Stringumwandeln
kannst, diesen kannst du dann zerlegegen und so zurechtbauen, wie du deinen Tabellennamen haben willst.
Noch ein paar weiterführende Links:


http://www.grundlagen.delphi-source....atumzeit.shtml

http://www.delphi-fundgrube.de/faq04.htm

Ansonsten hilft auch die Delphi-Hilfe,

viel Erfolg,

Czapie.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: An Monatsanfang neue Tabelle erstellen

  Alt 1. Okt 2003, 09:55
neuer Tag, neues Glück!
Sieht bisher nicht schlecht aus,thx für die links.
Mir reichen zwar die standard timefunktionen aus sysutil, aber trotzdem die frage wie ich an die unít JclDateTime komme?
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: An Monatsanfang neue Tabelle erstellen

  Alt 1. Okt 2003, 10:37
Problem:
Wie kann ich überprüfen, ob die Tabelle mit variablem Namen existiert?
Bekomme es nur mit festem Namen hin.
Habe es mal so probiert:
Delphi-Quellcode:
procedure TFormloggen.FormActivate(Sender: TObject);
var Present: TDateTime;
    Year, Month, Day: Word;
begin
  Present:= Now;
  DecodeDate(Present, Year, Month, Day);
  EditTime.Text := IntToStr(Month)+'_'+IntToStr(Year)+'_logfile';

//Evtl. vorhandene Tabelle nicht überschreiben
if not Table*hier die Variable die ich so nicht machen darf*.Exists then
begin
  with Table***var*** do
  begin
    .
    .
    .
Problem gelöst!
Folgendermassen hab ich es gemacht. Dem Editfeld 'EditTime' habe ich den Dateinamen zugewiesen. Nun einfach eine if-Abfrage, in welcher der Tabellenname mit dem editfeld verglichen wird:
  if TableLogfile.TableName <> EditTime.Text then
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#7

Re: An Monatsanfang neue Tabelle erstellen

  Alt 1. Okt 2003, 14:11
war doch nix. Jetzt ist es nur so, dass er jedes mal ein neues file erstellt, da der dateiname (10_2003_logfile) vom TableName abweicht.
Dafür gibt's ja den Befehl 'TFileName' oder? Aber weiss nicht wie ich den verwenden muss oder kann.
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: An Monatsanfang neue Tabelle erstellen

  Alt 6. Okt 2003, 12:12
immer noch nicht weiter bin...
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9

Re: An Monatsanfang neue Tabelle erstellen

  Alt 6. Okt 2003, 13:11
Hallo Praktikant,

falls du Paradox Tabellen erzeugst, musst du einfach nur noch die Endung '.DB' anhängen:

if UpperCase(TableLogfile.TableName) <> UpperCase(EditTime.Text+'.DB') then
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#10

Re: An Monatsanfang neue Tabelle erstellen

  Alt 6. Okt 2003, 13:58
das ändert nichts, es wird einfach immer eine neue tabelle erstellt:
Delphi-Quellcode:
if Tablelogfile.TableName <> EditTime.Text then
  begin
    with Tablelogfile do
    begin
    //erzeugen der spalten usw.
    CreateTable;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:22 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