AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Benötige Hilfe beim erstellen einer Access Datenbank

Benötige Hilfe beim erstellen einer Access Datenbank

Ein Thema von 100nF · begonnen am 17. Sep 2008 · letzter Beitrag vom 26. Sep 2008
Antwort Antwort
Seite 1 von 3  1 23   
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#1

Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 17. Sep 2008, 19:19
Datenbank: Access • Zugriff über: noch gar nicht
Hallo zusammen,

Also ich will eine Datenbank erstellen, und dann ein Programm schreiben mit dem man auf die DB zugreifen kann.
Ich hab noch nie mit Microsoft Access gearbeitet, habe also noch nicht wirklich Ahnung davon (bisschen Tutorials gelesen hab ich schon, und auch bisschen rumprobiert).

Eine einfache Datenbank erstellen sollte kein Problem sein denke ich, aber die Datenbank muss folgende "Struktur" besitzen:
In einem Datensatz befinden sich einige Felder, die nur bestimmte Werte annehmen dürfen. Alle erlaubten Werte müssen aber auch in der Datenbank gespeichert sein, müssen also auch ergänzbar sein usw.

Klingt irgendwie kompliziert, deshalb mal ein Beschrieb, für was die DB genutzt werden soll:
In der Firma müssen einige Arbeiter jeden Tag aufschreiben, wann wer was an welcher Maschine gemacht wurde.

Also erstelle ich ein Formular im Programm, welches diese Eingaben verlangt:
- Vollständiger Name
- Datum
- Auftrag
- Zeit
- Arbeit (was wurde gemacht?)

Das "Problem" ist jetzt, dass der Name, der Auftrag und die Arbeit in einer Combobox auswählbar sein müssen, denn diese dürfen nicht "von Hand" eingegeben werden!
Bei diesen 3 Sachen muss der Chef erst mal definieren, welche Möglichkeiten dass zuf Verfügung stehen.
Natürlich muss auch bei einem neuen Mitarbeiter die Namensliste erweitert werden können. Dies gilt auch für den Auftrag und die Arbeit.

Nun meine Frage:
Muss ich da 4 unabhängige Tabellen erstellen (DatenDB, NamenDB, AuftragsDB, ArbeitsDB) welche dann erst im Programm verknüpft werden?
oder muss ich 4 Tabellen erstellen, welche direkt im Acces verknüpft werden? wie mach ich das?
Oder kann man sogar alles in einer Access-DB vereinen, dass am Schluss nur eine einzige Datenbank vorhanden ist? dies wär natürlich sehr schön!

Wäre echt dankbar wenn mir da jemand helfen könnte!

mfg
urbanbruhin
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 17. Sep 2008, 20:36
Hallo Urban,

ich würde auf jeden Fall
- die Personaldaten,
- die Aufträge und
- die Tätigkeiten
in verschiedene Tabellen aufteilen.
Datum und Zeit in die Tätigkeiten mit rein und im Auftrag die Summen daraus errechnen.

Somit bist du auch für die Zukunft flexibler, z.B. wenn pro Person noch Lohnkosten hinzugefügt werden sollen und diese in den Tätigkeiten (und somit in den Auftrag) einfließen müssen.

Weiterhin würde ich überlegen, ob sich die einzelnen Personen durch eine Anmeldungsmaske direkt identifizieren müssen.
Dammit entfällt die Auswahl des Namens zu einem Auftrag über eine Combobox.
Letztendlich sind solche Daten relativ wichtig und man sollte da wo es geht und der Aufwand vertretbar ist,
versuchen beabsichtigte oder unbeabsichtigte Fehler durch den Menschen selbst gar nicht erst zuzulassen.

Weiterhin würde ich mir überlegen ob man für die Datenverwaltung unbedingt Access verwenden muss.
Ok, erste Masken und Reports usw. sind in Access relativ schnell erstellt, meistens kommen dann aber irgendwelche Grenzenoder Macken.
Ein Umstieg wird dann aufwendiger. Evtl. wäre Firebird eine gute Alternative.
Letztendlich kommt es wohl auch darauf an, wieviel Wissen du schon in Delphi und SQL hast und wieviel Zeit du investieren kannst.

Zitat:
oder muss ich 4 Tabellen erstellen, welche direkt im Acces verknüpft werden? wie mach ich das?
Im Entwurfmodus rechte Maustaste auf Feldname-> verknüpfen mit oder nach? (ich kenne mich mit Access nicht so gut aus und habe hier schnell mal in Access 2007 nachgeschaut)

Zitat:
Oder kann man sogar alles in einer Access-DB vereinen, dass am Schluss nur eine einzige Datenbank vorhanden ist?
Ob mit Access oder einem anderen Datenbanksystem: In jedem Fall ist es nur eine Datenbank. Diese DB besteht dann u.a. aus mehreren Tabellen.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#3

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 17. Sep 2008, 21:13
Hallo,

vielen Dank für deine Hilfe!

Also mal vorweg: Ich hab noch keinerlei Erfahrung mit Datenbanken, auch das Verwenden einer Datenbank in einem Programm ist für mich neu!

Zitat:
Weiterhin würde ich überlegen, ob sich die einzelnen Personen durch eine Anmeldungsmaske direkt identifizieren müssen.
Dammit entfällt die Auswahl des Namens zu einem Auftrag über eine Combobox.
Also ich hab mir das so Vorgestellt, dass man einfach einmal den Namen in der Combobox auswählt, und dann so viele Einträge in die DB hinzufügt wie man will (können natürlich mehrere pro Tag sein). Meinst du jetzt mit Identifizieren irgendwie passwortgeschützt oder so? Also das brauchts überhaupt nicht weil das Programm nur von ca. 8-10 Personen genutzt wird, welche sich untereinander auch sehr gut verstehen und so Macht auch nix wenn ich jetzt die Einträge von einem anderen Mitarbeiter anschauen, bzw. einen eintrag unter einem anderen Namen hinzufügen kann.
Momentan haben wir auch ein Programm laufen, bei dem es so ist und da gibts keine Probleme. Jedoch ist das Programm nicht so der Hit, also da hat einfach mal einer was "gebastelt", hat paar Unschönheiten drin...

Firebird kenne ich nicht, womit erstelle ich denn so eine Datenbank?
Muss ich die dann auf den PCs erst installieren damit das Programm dann läuft?

Ach ja, die Datenbank wird sich dann auf einem Server befinden, und mein Programm wird auf ungefähr 5 PCs "installiert".
Das "installiert" hab ich in Anführungszeichen gesetzt weil ich eigentlich wenn möglich nur eine .exe Datei auf die PCs kopieren will damit das Programm läuft. (kein Installer)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 17. Sep 2008, 21:18
Zitat von urbanbruhin:
... ca. 8-10 Personen genutzt wird ... auf ungefähr 5 PCs ...
Na dann viel Spass mit Access...

Da wirst du Probleme ohne Ende haben.
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#5

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 17. Sep 2008, 22:04
und warum soll das probleme geben?
also im Moment läuft das eigentlich auch...

Das Programm wird natürlich nicht auf 5 PCs gleichzeitig genutzt, jeder Mitarbeiter schreibt einfach vor Feierabend noch auf was er an dem Tag gearbeitet hat. Und da wir gleitende Arbeitszeiten haben, wird meistens nur ein Programm gleichzeitig geöffnet.
Klar, es dürften theoretisch auch keine Probleme auftreten wenn wirklich mal das Programm 5 mal gleichzeitig geöffnet ist...

Hätte ich das Problem bei Firebird nicht?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 17. Sep 2008, 22:07
Zitat:
Hätte ich das Problem bei Firebird nicht?
Nein. bei keinem richtigen DBMS
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 18. Sep 2008, 07:08
Guten Morgen,
Zitat:
Das Programm wird natürlich nicht auf 5 PCs gleichzeitig genutzt, jeder Mitarbeiter schreibt einfach vor Feierabend noch auf was er an dem Tag gearbeitet hat.
Nicht gleichzeitig?
Ich könnte mir vorstellen, dass es durchaus vorkommen kann, dass zum Feierabend mehrere Mitarbeiter gleichzeitig die Rückmeldungen machen.

Bei deiner geschilderten Konstellation würde ich Firebird als Serverversion auf dem Server installieren (gibt's alles fertig als Installer zum Download).
Dann hast du auf jeden Fall das richtige Fundament für deine Anforderungen.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#8

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 18. Sep 2008, 08:12
Zitat von omata:
Zitat von urbanbruhin:
... ca. 8-10 Personen genutzt wird ... auf ungefähr 5 PCs ...
Na dann viel Spass mit Access...
Da wirst du Probleme ohne Ende haben.
Muss nicht sein. Ich habe keine Probleme. Delphi Front-End + mind. 15 Benutzer in einem Netzwerk.
Thomas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 18. Sep 2008, 08:22
Da hast du aber sehr viel Glück gehabt, den Access neigt zu defekten Dateine, bei Multiuserzugriff.
Markus Kinzler
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Benötige Hilfe beim erstellen einer Access Datenbank

  Alt 18. Sep 2008, 10:08
Zitat von toms:
Zitat von omata:
Zitat von urbanbruhin:
... ca. 8-10 Personen genutzt wird ... auf ungefähr 5 PCs ...
Na dann viel Spass mit Access...
Da wirst du Probleme ohne Ende haben.
Muss nicht sein. Ich habe keine Probleme. Delphi Front-End + mind. 15 Benutzer in einem Netzwerk.
Das ist aber ein so extrem unprofessionelles Statement, das tut schon richtig weh.
Jet ist bekannt dafür, dass Record-level Kollisionen dank der Implementierung der Lockfiles eher an der Tagesordnung sind.
Gerade wenn es über Networkshares geht.

Heutzutage noch Jet als primäre Storage engine zu benutzen sollte genauso unter Strafe stehen wie en Projekt mit VB anzufangen.
Wollt ihr lokalen Zugriff, ohne dedizierten Server aber mit gleichzeitigem Zugriff, dann nehmt moderne Sachen, die dafür gebaut sind.
SQLite zum Beispiel, oder in einem Delphi-Forum kann man da auch ElevateDB nennen.

In der IT-Welt, besonders in der Welt, in der wir Entwickler leben, ist eine Lösung als Schrott zu bezeichnen und zu meiden, wenn es andere Lösungen gibt, die für die eigenen Bedürfnisse in jeder Hinsicht besser sind.
Jet als Storage engine gehört zu dem schlechtesten was es momentan überhaupt gibt!
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:35 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