AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Probleme bei Postausgangsbuch
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme bei Postausgangsbuch

Offene Frage von "trabigti"
Ein Thema von trabigti · begonnen am 20. Sep 2006 · letzter Beitrag vom 5. Okt 2006
Antwort Antwort
Seite 1 von 3  1 23      
trabigti

Registriert seit: 2. Mai 2006
18 Beiträge
 
Delphi 4 Professional
 
#1

Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 09:14
Datenbank: Paradox 7 • Zugriff über: BDE
Hallo,

ich versuche ein Postausgangsbuch über Delphi zu schreiben!
Mein Problem besteht darin das ich 3 Abteilungen haben möchte die unabhängig ihre Briefe in die Datenbank einschreiben sollen und auch nur di von ihnen eingegebenen Daten sehen sollen!
Eine HauptAbteilung jedoch muss nach datum geordnet alle Einträge sehen können!

Wie gehe ich dabei vor?
ich hatte vor alle Daten zwecks ID in eine Tabelle zu speichern da auch die Hauptabteilung Briefe eintragen muss!

Wie gestalte ich die SQL Abfrage?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 09:33
Herzlich willkommen in der Delphi-PRAXiS, trabigti.

Alle Zeilen in die gleiche Tabelle ist nicht verkehrt. Du wirst eine Spalte haben, welche den Abteilungsschlüssel aufnimmt. In einem RDBMS verwendet man eine VIEW um die sichtbaren Zeilen wertmäßig zu beschränken:

CREATE VIEW pab_abt AS SELECT * FROM pab_alle WHERE Abteilung = :abteilung Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
trabigti

Registriert seit: 2. Mai 2006
18 Beiträge
 
Delphi 4 Professional
 
#3

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 09:38
Hi,

ja eine Spalte mit Abteilungschlüssel ist natürlich vorhanden!

Ich mus noch bemerken das ich noch nie mit SQL Befehelen gearbeitet hab und deswegen leider nicht genau weis wie ich den Befehl umsetzten soll?

PS.: Meine gesamten Datensätze werden in einem DBGrid dargestellt!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 09:50
Bevor es weiter geht - kannst du bitte die von dir verwendete Delphi-Version in dein DP-Profil eintragen? Außerdem musst du bei deinem Thema das konkrete RDBMS angeben (z.B. MySQL, MSDE, FB, IB oder auch Paradox) und bei Zugriff wollen wir die Komponenten sehen, die du verwendest (z.B. ADO, DBX, IBX, ZEOS, BDE, ...).

marabu
  Mit Zitat antworten Zitat
trabigti

Registriert seit: 2. Mai 2006
18 Beiträge
 
Delphi 4 Professional
 
#5

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 09:56
Kein Problem,

sorry für die schwierigkeiten ich bin ziemlicher Delphi anfänger

Meine Version: Delphi 4 Prof.
Datenbanktyp: Paradox
Zugriff: BDE
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 10:21
Vielen Dank.

Trotz D4 solltest du die neueste BDE-Version (5.2) installiert haben.

Wenn du der DataSource, mit der dein DBGrid verbunden ist, eine Query mit folgendem SQL-Statement zuordnest, dann siehst du nur noch die Sätze der Abteilung 2:

SELECT * FROM pab_alle WHERE abteilung = 2 Diese Technik kannst du noch verfeinern, indem du die 2 durch einen Parameter ersetzt:

SELECT * FROM pab_alle WHERE abteilung = :abteilung Diesen Parameter musst du dann vor dem Open() der Query noch setzen:

Query.Params.ParamByName('abteilung').AsInteger := 2; Selbst eine VIEW ist mit Paradox auf Umwegen möglich:

SELECT * FROM "pab_abt.sql" In der SQL-Datei muss dann dass erste SQL-Statement aus diesem Beitrag stehen.

marabu
  Mit Zitat antworten Zitat
trabigti

Registriert seit: 2. Mai 2006
18 Beiträge
 
Delphi 4 Professional
 
#7

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 10:47
den Queltext verstehe ich aber da ich wirklich noch nie mit sql befehlen gearbeitet habe weis ich nicht wie man das query zuordnet und wie man den sql befehl eingeben soll
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 11:20
Hallo,

zuerst einmal:
Finger weg von Paradox, falls du keinen Ärger beim Kunden haben willst.
Sch mal zum spass nach "Index out of range" in Google.

Das ist der am meisten auftretende Fehler.
Paradox funktioniert seit NT4 im Netz nicht mehr richtig.

Ich habe jahrelang damit gearbeitet,
nach dem Umstieg auf Firebird (jippiii ) gibt es (fast) keine DB-Problem mehr.


Nun zum Thema.

Falls du ein TDBGrid verwenden willst,
packe zusätzlich ein TDataSource aufs Form.
Die Zuordnun ist

DBGrid.DataSource <- TDataSource.DataSet <- TQuery

Alle Abteilungen (auch die Hautpabteilung) stehen in einer eigenen Abteilung
mit Id (primary key), Name, Rechte usw.

Parameter theDepartmentId Integer
Delphi-Quellcode:
with Query do
begin
  Close;
  SQL.Clear;
  SQL.Add('Select * From DeineTabelle');
  if not DepartmentHasAllAccessRights(DepartmentId) then
  begin
    SQL.Add('Where DepartmentId=:theDepartmentId');
    ParamByName('DepartmentId').AsInteger:= theDepartmentId;
  end;
  SQL.Add('Order By EntryDate Desc');

  Open;
 // jetzt steht es im DBGrid
end;
Ich empfehle das Buch Datenbanken mit Delphi von Andres Kosch.

Heiko
Heiko
  Mit Zitat antworten Zitat
trabigti

Registriert seit: 2. Mai 2006
18 Beiträge
 
Delphi 4 Professional
 
#9

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 13:20
Mitlerweile ist es mir gelungen mittels dem oben genannten:
select * from sd1 where abteilung = 'Schreibdienst' den ich im Objektinspektor für das Query eingegeben habe gelungen die gewünschten Datensätze gefiltert im Grip anzuzeigen!

Jedoch kann ich leider jetzt nicht mehr mit dem DBNavigator andere Datensätze hinzufügen oder löschen!

Zur Erklärung ich habe neben meinem Grip eine Eingabemaske bestehend aus mehreren DBEdit Feldern um die Dateneinzugeben, jedoch kann ich jetzt nicht mal mehr in diese Felder schreiben!
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Probleme bei Postausgangsbuch

  Alt 20. Sep 2006, 13:28
Das ist ganz normal, die Select Anweisung zeigt Dir die Daten nur an.

Schau Dir mal das Tutorial von Luckie an, es ist zwar für MySQL aber die vorgehensweise ist dieselbe.
Uwe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 13:30 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