Hallo zusammen,
einmal Vorweg. ich bin Neuling in Access und versuche mich gerade in den Möglichkeiten von Access zurecht zu finden.
Momentan möchte ich eine Datenbank erstellen die jugendlichen Mitglieder unseres Vereins Listet. Unsere normal Liste (über Excel) reicht mir leider aus bestimmten Gründen nicht aus (Stichwort: Anlagen und OLE-Objekte). Als Ziel möchte ich eine Tabelle mit entsprechenden Daten haben.
Um genau zu sein folgende: Anrede, Vorname, Nachname, GebDatum, Älter (Berechnet), Altersklasse (Berechnet), Adresse, Telefonnummern (mehrere Spalten), Notfallkontakt (Nachschlagewerk zu einer weiteren Tabelle), Vereinsmitglied (Ja/Nein); Vereinsmitglied seit, Testphase (Ja/Nein), Testphase seit und noch drei weitere Felder.
Dabei gestalten sich für mich folgende zwei Punkte schwierig:
1. Die Struktur:
Mir fehlt einfach momentan die Erfahrung um die Passende Struktur aufzubauen. Das genauere Problem was ich habe kommt in den folgenden Punkt.
2. Die Felder "Vereinsmitglied (Ja/Nein); Vereinsmitglied seit, Testphase (Ja/Nein), Testphase seit":
Dazu muss ich einmal kurz einen Prozess beschreiben:
Formular/Datenblatt wird vom Interessenten (Mitglied in der Testphase) aufgefüllt --> Daten sollen in die Datenbank eingetragen werden (Kennzeichnung mit Spalte: Testphase=Ja; Dadurch soll automatisch das aktuelle Datum übertragen werden ("Heutige Datum")) --> Mitglied aus der Testphase reicht den Antrag ein --> Antrag geht den formalen Weg bis die Person in der Mitgliederliste landet (steht mir nicht direkt zur Verfügung und wird außerhalb von Access gepflegt) --> Die Mitgliederliste wird mir monatlich zugesendet --> Datei/Mitgliederliste kann Importiert werden. --> In der Datenbank sind jetzt zwei Tabellen. 1. Die Mitgliederliste 2. Eine Tabelle mit der ich die oben angegeben Daten pflegen kann (Die Daten vom Formular/Datenblatt wurden dort eingepflegt (Schritt 1)) --> Der Status Testphase soll automatisch auf "Nein" geändert werden und bei Vereinsmitglied ein "Ja" gesetzt werden. Die Spalte Vereinsmitglied seit soll das Datum aus der 1. Tabelle übernehmen. Die Personen können über die dein Spalten Vorname, Nachname und GebDatum eindeutig identifiziert werden.
Die Frage ist bei mir nur, wie mach ich das??? :D In Excel hätte ich mit Hilfe von SVerweisen und Wenn-Funktionen kein Problem, jedoch ist die Anwendung dieser in Access ja leide reicht so einfach möglich. Und Excel bietet keine Formular usw. ...
Könnt ihr mir da weiterhelfen? Oder mit welchen Thema muss ich mich genau auseinandersetzen?
Ich danke jetzt schon einmal fürs Lesen und Antworten!
Ich hoffe ich konnte mein Problem verständlich formulieren!
Freundliche Grüße
melle900
Hallo,
sorry, hier musst Du noch mal von vorn anfangen. Auch die bisherigen Formulare wirst Du so nicht verwenden können.
Du benötigst hier viel mehr Tabellen.
tblPersonen
PersonID (Autowert, Primärschlüssel)
MitgliedNummer
Nachname
Vorname
Geburtsdatum
Kein Alter und keine Alterklasse, wird in Abfragen berechnet.
In diese Tabelle kommen auch die Notfallkontakte
tblStatus
StatusID
Status (Vereinsmitglied, Testmitglied, Notfallkontakt = 3 Datensätze)
tblPersonStatus
PersonStatusID (Autowert, Primärschlüssel)
PersonID_F (Fremdschlüssel zur Person)
StatusID_F (Fremdschlüssel zum Status)
AbDatum
Der Status einer Person wird als jeweils ein Datensatz mit Datum erfasst.
tblOrte
OrtID (Autowert, Primärschlüssel)
PLZ
Ort
tblAdressen
AdresseID (Autowert, Primärschlüssel)
PersonID_F (Fremdschlüssel zur Person)
OrtID_F (Fremdschlüssel zum Ort)
Adresse
Da sich Adressen ändern können und die alte Adresse auch dann noch benötigt wird, müssen die Adressen in eine extra Tabelle.
tblKommunikationsarten
KommArtID (Autowert, Primärschlüssel)
KommArt (Telefon, Mobil, Fax, Mail, je ein Datensatz)
tblPersonKommunikation
MitglKommID (Autowert, Primärschlüssel)
PersonID_F (Fremdschlüssel zur Person)
KommArtID_F (Fremdschlüssel zur Komm.Art)
Eintrag
Je Eintrag ein Datesatz
tblNotfallKontakt
NotfallKontID (Autowert, Primärschlüssel)
PersonID_F _F (Fremdschlüssel zur Person)
PersonID_F (Fremdschlüssel zur Person)
Ja, die Personentabelle wird hier 2x verwendet.
Das sind jetzt mal 8 Tabellen.
Beim Import müssen die Importdaten auf diese Tabellen verteilt werden.
Wie genau ist denn die Importtabelle aufgebaut?
Bitte keine Nachschlagefelder in Tabellen direkt verwenden.
Löse Dich von der Exceldenke. Access erfordert einen völlig anderen Tabellenaufbau. An SVerweis und Wenn brauchst Du erst gar nicht zu denken, wer meint das zu benötigen hat meist eine falsche Tabellenstruktur angelegt.
Es macht erst Sinn mit Formularen weiter zu machen, wenn das Datenmodell (=Tabellenstruktur) fertig ist.
Hallo Klaus,
erst einmal ein richtig dickes "Dankeschön" für deine Hilfe!!!
Ich sehe schon, dass ich noch viel zu sehr im Exceldenken drin bin und deine Erklärung hat mir schon ordentlich weitergeholfen etwas anders zu Denken.
Die Importabelle, die ich monatlich bekomme, hat folgenden Aufbau:
Mitgliedsnummer; Anrede; Vorname; Nachname; Straße; PLZ; Ort; Telefon privat; Mobil; Email; Geburtsdatum; Geschlecht; Eintritt; Austritt; Bemerkung
Ich hätte zuvor jedoch noch zwei Fragen(/ Anmerkungen):
1. Ich bräuchte auf jeden Fall noch das Geschlecht, was ich über die Anrede identifizieren/filtern wollte. Ich würde das jetzt in die Tabelle Personen einbauen, sodass diese folgendermaßen aussieht:
tblPersonen
PersonID (Autowert, Primärschlüssel)
MitgliedNummer
Anrede
Nachname
Vorname
Geburtsdatum
Wäre das korrekt?
2. Frage:
Ich möchte durch die importierte Tabelle nur feststellen ob jemand Mitglied ist und keine Daten wie Adresse oder Telefonnummer übernehmen. Diese Daten sollen einzeln (über ein Formular) eingetragen werden, da die importierte Tabelle in diesen Angaben Lücken und Fehler aufweist. Auch die Mitgliedernummer steht bei dem Anlegen des Datensatzes noch nicht zur Verfügung. Sondern erst zu einem späteren Zeitpunkt.
Ich wollte das nur noch einmal erwähnen, damit kein Missverständnis vorhanden ist ;)
Ich hoffe ich konnte das in meinem ersten Beitrag richtig erklären, sodass jetzt kein Problem besteht!
Beste Grüße
Melvin
Hallo,
ich würde für die Anrede und das Geschlecht eine extra Tabelle anlegen und in der Personentabelle nur den Fremdschlüssel zu dieser Tabelle speichern.
tblGeschlecht
GeschlechtID (Autowert, Primärschlüssel)
Geschlecht
Anrede
Briefanrede
tblPersonen
PersonID (Autowert, Primärschlüssel)
MitgliedNummer
GeschlechtID_F
Nachname
Vorname
Geburtsdatum
Wenn das Geschlecht festgelegt ist (Kombifeld im Formular), hast Du automatisch auch die Anrede und für einen eventuell erforderlichen Brief auch die Briefanrede.