Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[A2003] Altersberechnung

17 views
Skip to first unread message

Hans-Reginald Ernst

unread,
May 6, 2012, 5:09:17 AM5/6/12
to
Hallo,
seit dem Umstieg von A2000 auf A2003 vor wenigen Wochen erscheinen die
Altersangaben in diversen Berichten nicht mehr.

Bisher wurde in den Berichten (oder in den dazugehörenden Abfragen?) aus
den 6 Geburtstagen pro Datensatz das entsprechende
Alter=Jahr(Jetzt)-Jahr(Geb1...6) irgendwie berechnet und in den Berichten
dargestellt. Im Formular und in der "Grundtabelle" werden diese Werte
nicht berechnet.

Leider weiß ich nicht mehr, wie ich das vor Jahren - bestimmt mit eurer
Hilfe - mal habe berechnen lassen können.

Könnt ihr mir auf die Sprünge helfen? Danke vorab.

--
Gruß

Hans-Reginald

Wolfgang Badura

unread,
May 6, 2012, 6:14:05 AM5/6/12
to
Hallo Hans-Reginald
> Könnt ihr mir auf die Sprünge helfen? Danke vorab.

Schau nach unter
http://www.donkarl.com/FAQ/FAQ2Allgemein.htm#2.7

Wolfgang


Claus Maier

unread,
May 6, 2012, 6:07:41 AM5/6/12
to
Hans-Reginald Ernst wrote:

[Altersberechnung]

> Hallo,
> seit dem Umstieg von A2000 auf A2003 vor wenigen Wochen erscheinen die
> Altersangaben in diversen Berichten nicht mehr.
> [...]
> Leider weiß ich nicht mehr, wie ich das vor Jahren - bestimmt mit
> eurer Hilfe - mal habe berechnen lassen können.
> Könnt ihr mir auf die Sprünge helfen? Danke vorab.

Schau' doch mal in die Entwurfsansicht der entsprechenden Abfrage(n) bzw.
Bericht(e), ob du dort die Formel hast.

mfg
Claus

Hans-Reginald Ernst

unread,
May 6, 2012, 7:24:26 AM5/6/12
to
In den Abfragen sind keine entsprechenden Formeln
Alter=Jahr(Jetzt)-Jahr(Geb1...6). Wie könnte ich sie dort eingeben?

--
Gruß

Hans-Reginald

Hans-Reginald Ernst

unread,
May 6, 2012, 7:34:19 AM5/6/12
to
Am Sun, 6 May 2012 12:07:41 +0200 schrieb Claus Maier:

Ich habe es für Alter1 mal so versucht:
SELECT *
FROM tblPrivat
WHERE (((tblPrivat.Anmerkung) Like "*xxx*") AND
((tblPrivat.Geburtstag1)>"") AND ((tblPrivat.Geb1)<>0) AND
((tblPrivat.Alter1)=Year(Now())-Year([Geb1]))) OR
______________________________________________
(((tblPrivat.Anmerkung) Like "*xxx*") AND ((tblPrivat.Geburtstag2)>"") AND
((tblPrivat.Geb2)<>0)) OR (((tblPrivat.Kind1)>"") AND
((tblPrivat.Geb3)<>0)) OR (((tblPrivat.Kind2)>"") AND
((tblPrivat.Geb4)<>0)) OR (((tblPrivat.Kind3)>"") AND
((tblPrivat.Geb5)<>0)) OR (((tblPrivat.Kind4)>"") AND
((tblPrivat.Geb6)<>0))
ORDER BY tblPrivat.Monat, tblPrivat.Tag;

Aber das Alter1 wird nicht berechnet.

Was mache ich nur falsch?

--
Gruß

Hans-Reginald

Claus Maier

unread,
May 6, 2012, 8:16:38 AM5/6/12
to
Ich habe eine Abfrage (Access2000) mit den Feldern "Geburtstag" und "Alter"
(und "Name", "Vorname" usw.)

In "Geburtstag" steht natürlich das Geburtsdatum.
Im Feld "Alter" steht die Formel:
Alter: DatDiff("yyyy";[Geburtstag];Datum())+(Format(Datum();"mmdd")<Format
([Geburtstag];"mmdd"))

(Die Formel steht in der *Entwurfsansicht* in der Zeile "Feld".)

Ob sich an der Syntax von AC2000 auf AC2003 was geändert hat,
weiss ich nicht - aber sicher die Profis hierzugrupp, ich bin nur ein DAU.

HTH u. mfg
Claus

Mark Doerbandt

unread,
May 6, 2012, 8:43:11 AM5/6/12
to
Hallo, Hans-Reginald,

Hans-Reginald Ernst:

> Bisher wurde in den Berichten (oder in den dazugehörenden Abfragen?) aus
> den 6 Geburtstagen pro Datensatz das entsprechende
> Alter=Jahr(Jetzt)-Jahr(Geb1...6) irgendwie berechnet und in den Berichten
> dargestellt.

ich dachte bisher immer, eine Person haette genau ein Geburtsdatum.
Warum sind das bei Dir sechs?

Gruss - Mark

--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.

Hans-Reginald Ernst

unread,
May 6, 2012, 12:00:42 PM5/6/12
to
Am Sun, 6 May 2012 14:43:11 +0200 schrieb Mark Doerbandt:

> Hallo, Hans-Reginald,
>
> Hans-Reginald Ernst:
>
>> Bisher wurde in den Berichten (oder in den dazugehörenden Abfragen?) aus
>> den 6 Geburtstagen pro Datensatz das entsprechende
>> Alter=Jahr(Jetzt)-Jahr(Geb1...6) irgendwie berechnet und in den Berichten
>> dargestellt.
>
> ich dachte bisher immer, eine Person haette genau ein Geburtsdatum.
> Warum sind das bei Dir sechs?
>
> Gruss - Mark

Also ich lege bei einem Addressbuch nicht für jedes Familienmitglied einen
eigenen Datensatz an. Sondern bei z.B. Fam. Müller gibt es - bei den
Geburtstagen - Hr. un Fr. Müller und evtl. 4 Kinder oder 2 Kinder und 2
Hochzeitstage oder...

Aber manche habe eben kein besonderes Vorstellungsvermögen, oder?

--
Gruß

Hans-Reginald

Hans-Reginald Ernst

unread,
May 6, 2012, 12:19:15 PM5/6/12
to
Am Sun, 6 May 2012 14:16:38 +0200 schrieb Claus Maier:

> Hans-Reginald Ernst wrote:
>
>> Am Sun, 6 May 2012 12:07:41 +0200 schrieb Claus Maier:
>>
>>> Hans-Reginald Ernst wrote:
>>>
>>> [Altersberechnung]
>>>
[...]
>> In den Abfragen sind keine entsprechenden Formeln
Alter1...6=Jahr(Jetzt)-Jahr(Geb1...6). Wie könnte ich sie dort eingeben?
>
> Ich habe eine Abfrage (Access2000) mit den Feldern "Geburtstag" und "Alter"
> (und "Name", "Vorname" usw.)
>
> In "Geburtstag" steht natürlich das Geburtsdatum.
> Im Feld "Alter" steht die Formel:
> Alter: DatDiff("yyyy";[Geburtstag];Datum())+(Format(Datum();"mmdd")<Format
> ([Geburtstag];"mmdd"))
>
> (Die Formel steht in der *Entwurfsansicht* in der Zeile "Feld".)
[...]
Wenn ich die verkürzte Formel (die für mich auszureichen scheint)
DatDiff("yyyy";[Geburtstag];Datum()) in der Entwurfsansicht der Abfrage in
die Zeile "Feld" eingebe, wird das Alter zwar korrekt berechnet, aber es
erscheint eine neue Spalte mit der Bezeichnung "Ausdr1". Ich würde die
Formel gerne in die vorhandenen Felder/Spalten Alter1...6 eingeben. Wenn
ich sie aber dort in die Zeile "Kriterien" eingebe, wird leider nichts
berechnet.

Wo und wie gebe ich die Formel richtigerweise ein? Von mir aus auch als
SQL-Ausdruck.

--
Gruß

Hans-Reginald

Lars P. Wolschner

unread,
May 6, 2012, 12:37:55 PM5/6/12
to
Hans-Reginald Ernst <bueroor...@web.de>:

> Am Sun, 6 May 2012 14:43:11 +0200 schrieb Mark Doerbandt:

>> Hans-Reginald Ernst:

>>> Bisher wurde in den Berichten (oder in den dazugehörenden
>>> Abfragen?) aus den 6 Geburtstagen pro Datensatz das
>>> entsprechende Alter=Jahr(Jetzt)-Jahr(Geb1...6) irgendwie
>>> berechnet und in den Berichten dargestellt.
>>
>> ich dachte bisher immer, eine Person haette genau ein
>> Geburtsdatum. Warum sind das bei Dir sechs?
>
> Also ich lege bei einem Addressbuch nicht für jedes
> Familienmitglied einen eigenen Datensatz an. Sondern bei z.B.
> Fam. Müller gibt es - bei den Geburtstagen - Hr. un Fr. Müller
> und evtl. 4 Kinder oder 2 Kinder und 2 Hochzeitstage oder...
>
> Aber manche habe eben kein besonderes Vorstellungsvermögen,
> oder?

Um ehrlich zu sein, erweiterst Du mein Vorstellungsvermögen im
Hinblick auf schlechtes Datenbankdesign.

--
Mit freundlichen Grüßen
Lars P. Wolschner

Hans-Reginald Ernst

unread,
May 6, 2012, 1:10:53 PM5/6/12
to
Am 06 May 2012 16:37:55 GMT schrieb Lars P. Wolschner:

> Hans-Reginald Ernst <bueroor...@web.de>:
>
>> Am Sun, 6 May 2012 14:43:11 +0200 schrieb Mark Doerbandt:
>
[...]

>> Also ich lege bei einem Addressbuch nicht für jedes
>> Familienmitglied einen eigenen Datensatz an. Sondern bei z.B.
>> Fam. Müller gibt es - bei den Geburtstagen - Hr. un Fr. Müller
>> und evtl. 4 Kinder oder 2 Kinder und 2 Hochzeitstage oder...

Und das ergibt nun mal Geb1...6. Und dafür will ich halt das Alter1...6
berechnen und im Bericht anzeigen lassen.

>> Aber manche habe eben kein besonderes Vorstellungsvermögen,
>> oder?
>
> Um ehrlich zu sein, erweiterst Du mein Vorstellungsvermögen im
> Hinblick auf schlechtes Datenbankdesign.

Danke für deine tolle "Hilfe". Verarschen kann ich mich selber... Aber ich
bin dir gerne behilflich, dein Vorstellungsvermögen zu erweitern.

eigentlich wollte ich ein Bild von einer meiner Adress-DBs hier als Anhang
mitschicken, aber das geht leider nicht. Und imageshack.us,
materialordner.de und imagehost.org funktionieren anscheinend nicht mehr.

Aber mein "Problem" sollte sich auch so hoffentlich lösen lassen.

--
Gruß

Hans-Reginald

Winfried Sonntag

unread,
May 6, 2012, 1:15:02 PM5/6/12
to
Am 06.05.2012 schrieb Hans-Reginald Ernst:

> Am Sun, 6 May 2012 14:43:11 +0200 schrieb Mark Doerbandt:
>> ich dachte bisher immer, eine Person haette genau ein Geburtsdatum.
>> Warum sind das bei Dir sechs?

> Also ich lege bei einem Addressbuch nicht für jedes Familienmitglied einen
> eigenen Datensatz an. Sondern bei z.B. Fam. Müller gibt es - bei den
> Geburtstagen - Hr. un Fr. Müller und evtl. 4 Kinder oder 2 Kinder und 2
> Hochzeitstage oder...

Oje, das ist alles andere als ein vernünftiges Datenbankdesign.

> Aber manche habe eben kein besonderes Vorstellungsvermögen, oder?

Du machst hier die Leute an, die dir helfen wollen. Ganz schlechte
Idee.

Servus
Winfried
--
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Access-FAQ: http://www.donkarl.com/AccessFAQ.htm
Access-Stammtisch: http://www.access-muenchen.de

Hans-Reginald Ernst

unread,
May 6, 2012, 1:26:45 PM5/6/12
to
Am Sun, 6 May 2012 19:15:02 +0200 schrieb Winfried Sonntag:

> Am 06.05.2012 schrieb Hans-Reginald Ernst:
>
>> Am Sun, 6 May 2012 14:43:11 +0200 schrieb Mark Doerbandt:
>>> ich dachte bisher immer, eine Person haette genau ein Geburtsdatum.
>>> Warum sind das bei Dir sechs?
>
>> Also ich lege bei einem Addressbuch nicht für jedes Familienmitglied einen
>> eigenen Datensatz an. Sondern bei z.B. Fam. Müller gibt es - bei den
>> Geburtstagen - Hr. un Fr. Müller und evtl. 4 Kinder oder 2 Kinder und 2
>> Hochzeitstage oder...
>
> Oje, das ist alles andere als ein vernünftiges Datenbankdesign.
>
>> Aber manche habe eben kein besonderes Vorstellungsvermögen, oder?
>
> Du machst hier die Leute an, die dir helfen wollen. Ganz schlechte
> Idee.
>
> Servus
> Winfried

Ich mache normalerweise Leute nicht an. Aber wenn sie mir keine
Hilfestellung oder einen Hinweis geben, sondern nur an meinem "falschen"
Veständnis im Umgang mit DBs herummaulen, dann kann ich mir so eine
Antwort eben nicht verkneifen.

Übrigens: Worin lag die "Hilfe" von Lars bzw. Mark, ja und auch von dir?

Bisher habe ich dich als ziemlich guten Ratgeber hier in den NGs
kennengelernt.

--
Gruß

Hans-Reginald

Claus Maier

unread,
May 6, 2012, 1:44:53 PM5/6/12
to
Hans-Reginald Ernst wrote:

> Am Sun, 6 May 2012 14:43:11 +0200 schrieb Mark Doerbandt:
>
>> ich dachte bisher immer, eine Person haette genau ein Geburtsdatum.
>> Warum sind das bei Dir sechs?

> Also ich lege bei einem Addressbuch nicht für jedes Familienmitglied
> einen eigenen Datensatz an.

Das solltest du aber.

> Sondern bei z.B. Fam. Müller gibt es -
> bei den Geburtstagen - Hr. un Fr. Müller und evtl. 4 Kinder oder 2
> Kinder und 2 Hochzeitstage oder...

In einem Adressbuch darfst du rumkritzeln - in einer Datenbank nicht.

mfg
Claus

Hans-Reginald Ernst

unread,
May 6, 2012, 1:56:15 PM5/6/12
to
In der SQL-Ansicht

SELECT DateDiff("yyyy",[Geb1],Now()) AS Ausdr1,
DateDiff("yyyy",[Geb2],Now()) AS Ausdr2, DateDiff("yyyy",[Geb3],Now()) AS
Ausdr3, DateDiff("yyyy",[Geb4],Now()) AS Ausdr4,
DateDiff("yyyy",[Geb5],Now()) AS Ausdr5, DateDiff("yyyy",[Geb6],Now()) AS
Ausdr6, *
FROM tblPrivat
WHERE (((tblPrivat.Anmerkung) Like "*xxx*") AND
((tblPrivat.Geburtstag1)>"") AND ((tblPrivat.Geb1)<>0)) OR
(((tblPrivat.Anmerkung) Like "*xxx*") AND
((tblPrivat.Geburtstag2)>"") AND ((tblPrivat.Geb2)<>0)) OR
(((tblPrivat.Kind1)>"") AND ((tblPrivat.Geb3)<>0)) OR
(((tblPrivat.Kind2)>"") AND ((tblPrivat.Geb4)<>0)) OR
(((tblPrivat.Kind3)>"") AND ((tblPrivat.Geb5)<>0)) OR
(((tblPrivat.Kind4)>"") AND ((tblPrivat.Geb6)<>0))
ORDER BY tblPrivat.Monat, tblPrivat.Tag;

werden die 6 Altersangaben unter Ausdr1...6 angezeigt, wenn ich "Anzeigen"
aktiviere. Ich möchte sie aber unter Alter1...6 angezeigt bekommen. Das
ging früher (A2000) ja mal.

Da ich die Geburtstagsberichte normalerweise nur 1x pro Jahr im Januar
ausdrucke, spielt der momentane Bezug (=Mai) keine Rolle.

--
Gruß

Hans-Reginald

Claus Maier

unread,
May 6, 2012, 2:07:02 PM5/6/12
to
Hans-Reginald Ernst wrote:

> Am Sun, 6 May 2012 14:16:38 +0200 schrieb Claus Maier:

>> Ich habe eine Abfrage (Access2000) mit den Feldern "Geburtstag" und
>> "Alter" (und "Name", "Vorname" usw.)
>>
>> In "Geburtstag" steht natürlich das Geburtsdatum.
>> Im Feld "Alter" steht die Formel:
>> Alter:
>> DatDiff("yyyy";[Geburtstag];Datum())+(Format(Datum();"mmdd")<Format
>> ([Geburtstag];"mmdd"))
>>
>> (Die Formel steht in der *Entwurfsansicht* in der Zeile "Feld".)
> [...]
> Wenn ich die verkürzte Formel (die für mich auszureichen scheint)
> DatDiff("yyyy";[Geburtstag];Datum()) in der Entwurfsansicht der
> Abfrage in die Zeile "Feld" eingebe, wird das Alter zwar korrekt
> berechnet, aber es erscheint eine neue Spalte mit der Bezeichnung
> "Ausdr1".

Natürlich, ich vergass (ist auch bei mir lange her):
Beim Aufbau der Formel erscheint erstmal "Ausdr1", Access weiss ja nicht,
um was es geht. "Ausdr1" ersetzt man natürlich durch was aussagekräftiges,
in diesem Fall also "Alter".
(Das alles findet man btw. in der sogenannten "Hilfe", Thema: Ausdrücke in
Abfragen u.ä.!)

> Ich würde die Formel gerne in die vorhandenen
> Felder/Spalten Alter1...6 eingeben. Wenn ich sie aber dort in die
> Zeile "Kriterien" eingebe, wird leider nichts berechnet.

Natürlich nicht. In die Zeile "Kriterien" gehören ebensolche (z.B. "Ist
nicht Null" bei "Geburtstag", wenn es nicht in jedem Feld einen Wert gibt.)
und sonst garnichts.
Nochmal (siehe oben):
Die Formel steht in der *Entwurfsansicht* in der Zeile "Feld".

mfg
Claus

Hans-Reginald Ernst

unread,
May 6, 2012, 2:08:36 PM5/6/12
to
In den ausgedruckten Berichten kritzle ich, so viel ich will, herum. Und
die geänderten, wichtigen Daten werden bei Gelegenheit/Bedarf in der DB
geändert. Es sind alles nur "private" DBs. Kein anderer muss/darf darauf
zugreifen. Ich habe sie alle selbst erstellt. Es sind alles Adressen-DBs
für unterschiedliche Belange (private, Firmen-Kontakte,...), auch, um
(Serien-)Briefe zu schreiben. Und eben, um (Geburtstags-)Berichte oder
Berichte von Ärzten/Krankenhäusern/Handwerkern u.s.w. auszudrucken.

--
Gruß

Hans-Reginald

Hans-Reginald Ernst

unread,
May 6, 2012, 2:18:07 PM5/6/12
to
Am Sun, 6 May 2012 20:07:02 +0200 schrieb Claus Maier:

> Hans-Reginald Ernst wrote:
>
>> Am Sun, 6 May 2012 14:16:38 +0200 schrieb Claus Maier:
>
>>> Ich habe eine Abfrage (Access2000) mit den Feldern "Geburtstag" und
>>> "Alter" (und "Name", "Vorname" usw.)
>>>
>>> In "Geburtstag" steht natürlich das Geburtsdatum.
>>> Im Feld "Alter" steht die Formel:
>>> Alter:
>>> DatDiff("yyyy";[Geburtstag];Datum())+(Format(Datum();"mmdd")<Format
>>> ([Geburtstag];"mmdd"))
>>>
>>> (Die Formel steht in der *Entwurfsansicht* in der Zeile "Feld".)
>> [...]
>> Wenn ich die verkürzte Formel (die für mich auszureichen scheint)
>> DatDiff("yyyy";[Geburtstag];Datum()) in der Entwurfsansicht der
>> Abfrage in die Zeile "Feld" eingebe, wird das Alter zwar korrekt
>> berechnet, aber es erscheint eine neue Spalte mit der Bezeichnung
>> "Ausdr1".
>
> Natürlich, ich vergass (ist auch bei mir lange her):
> Beim Aufbau der Formel erscheint erstmal "Ausdr1", Access weiss ja nicht,
> um was es geht. "Ausdr1" ersetzt man natürlich durch was aussagekräftiges,
> in diesem Fall also "Alter".
[...]

Du bist mein Oberheld!!!!!!!!!! Mit deiner wirklichen Hilfe habe ich das
Problem gelöst. Vielen herzlichen Dank!!!

Ich habe in SQL die Ausdr1...6 in Alter1...6 geändert - und schon läuft
alles so, wie ich es haben wollte. Die SQL schaut jetzt so aus:

SELECT DateDiff("yyyy",[Geb1],Now()) AS Alter1,
DateDiff("yyyy",[Geb2],Now()) AS Alter2, DateDiff("yyyy",[Geb3],Now()) AS
Alter3, DateDiff("yyyy",[Geb4],Now()) AS Alter4,
DateDiff("yyyy",[Geb5],Now()) AS Alter5, DateDiff("yyyy",[Geb6],Now()) AS
Alter6, *
FROM tblPrivat
WHERE (((tblPrivat.Anmerkung) Like "*xxx*") AND
((tblPrivat.Geburtstag1)>"") AND ((tblPrivat.Geb1)<>0)) OR
(((tblPrivat.Anmerkung) Like "*xxx*") AND
((tblPrivat.Geburtstag2)>"") AND ((tblPrivat.Geb2)<>0)) OR
(((tblPrivat.Kind1)>"") AND ((tblPrivat.Geb3)<>0)) OR
(((tblPrivat.Kind2)>"") AND ((tblPrivat.Geb4)<>0)) OR
(((tblPrivat.Kind3)>"") AND ((tblPrivat.Geb5)<>0)) OR
(((tblPrivat.Kind4)>"") AND ((tblPrivat.Geb6)<>0))
ORDER BY tblPrivat.Monat, tblPrivat.Tag;

Ganz herzliche Dank nochmals.

--
Gruß

Hans-Reginald

Claus Maier

unread,
May 6, 2012, 2:20:23 PM5/6/12
to
Hans-Reginald Ernst wrote:

> [...]
> werden die 6 Altersangaben unter Ausdr1...6 angezeigt, wenn ich
> "Anzeigen" aktiviere. Ich möchte sie aber unter Alter1...6 angezeigt
> bekommen. Das ging früher (A2000) ja mal.

Ersetze "Ausdr1....6" durch: "Alter1....6" und gut.

<Meine Oma seelig>:
"Des Menschen Wille ist sein Himmelreich"
</Meine Oma seelig>

Daß dieses DB-Design suboptimal ist, wurde ja schon verschiedentlich gesagt.

mfg
Claus

Winfried Sonntag

unread,
May 6, 2012, 1:49:18 PM5/6/12
to
Am 06.05.2012 schrieb Hans-Reginald Ernst:

> Ich mache normalerweise Leute nicht an. Aber wenn sie mir keine
> Hilfestellung oder einen Hinweis geben, sondern nur an meinem "falschen"
> Veständnis im Umgang mit DBs herummaulen, dann kann ich mir so eine
> Antwort eben nicht verkneifen.

Und wenn Du etwas lernen willst, solltest Du dich zurück halten mit
solchen Antworten. Und außerdem, was soll man dir bei so einem kleinen
Häppchen anworten?

> Übrigens: Worin lag die "Hilfe" von Lars bzw. Mark, ja und auch von dir?

Das Datenbankdesign ist einfach kaputt. Wenn Du schon eine Tabelle mit
Mitgliedern/Personen hast, dann trag einfach *jeden* ein. Zusätzlich
gibt es ein Feld Familie. Und eine Tabelle Familie. In der Tabelle
Familie hast Du einen PrimaryKey, der wird in der Tabelle Personen bei
allen Personen eingetragen, die zu der Familie gehören. Und in
Berichten oder Formularen kannst Du ab sofort nach Familien sortiert
alle Familienmitglieder anzeigen lassen.

Zeig doch einfach die vollständige Abfrage, evtl. kommt dann mehr.

> Bisher habe ich dich als ziemlich guten Ratgeber hier in den NGs
> kennengelernt.

BTW: Es gibt noch andere Filehoster, such doch einfach mal danach.

Lars P. Wolschner

unread,
May 6, 2012, 2:45:04 PM5/6/12
to
Hans-Reginald Ernst <bueroor...@web.de>:

> Am 06 May 2012 16:37:55 GMT schrieb Lars P. Wolschner:

>> Hans-Reginald Ernst <bueroor...@web.de>:

>>> Aber manche habe eben kein besonderes Vorstellungsvermögen,
>>> oder?
>>
>> Um ehrlich zu sein, erweiterst Du mein Vorstellungsvermögen im
>> Hinblick auf schlechtes Datenbankdesign.
>
> Danke für deine tolle "Hilfe".

Das Usenet ist keine zusätzliche Online-Hilfe und die Mitschreiber
keine rechtlosen Auskunftsmaschinen, die entweder zu helfen oder die
Klappe zu halten haben. Es ist nicht nur erlaubt, sondern sogar der
Hauptzweck des Usenet, weitergehend zu diskutieren. Du bist weder
gezwungen, Dich daran zu beteiligen noch mußt Du Deine Datenbank in
Ordnung bringen.

Aber glaube mir, daß derartige Designs früher oder später schwer
bestraft werden.

Mark Doerbandt

unread,
May 6, 2012, 4:30:13 PM5/6/12
to
Hallo, Hans-Reginald,

Hans-Reginald Ernst:

> Also ich lege bei einem Addressbuch nicht für jedes Familienmitglied einen
> eigenen Datensatz an. Sondern bei z.B. Fam. Müller gibt es - bei den
> Geburtstagen - Hr. un Fr. Müller und evtl. 4 Kinder oder 2 Kinder und 2
> Hochzeitstage oder...

doch, das solltest Du tun. Datenbanken, die

> Aber manche habe eben kein besonderes Vorstellungsvermögen, oder?

Ich habe Dir nur eine ernst gemeinte Frage gestellt. (Auch wenn ich es
mir tatsächlich nicht vorstellen konnte, hätte es ja vielleicht
konkrete Gründe für das Design geben können. Der nun von Dir genannte
ist keiner.)

Der Weg zur Hilfe gestaltet sich nicht immer so, wie es sich der
Fragende vorstellt. Wenn Du jemanden fragst, der es besser weiß als Du
- und ich maße mir mal an, dass ich das in Bezug auf Datenbankdesign
tue - solltest Du vielleicht auf den Ratschlag hören. Wenn Du es nicht
tust, wirst a) Du mehr Arbeit haben und b) ich. a) ist mir letztlich
egal, aber b) nicht.

Ganz ehrlich: ich habe hier schon viele Leute gesehen, die so wie Du
meinen: ich will aber jetzt nur "das und das" wissen (und implizit
sagen: lass mich mit Deinem ganzen Grundsatzgerede doch in Ruhe). Und
genau diese Leute sind es dann, die mit jedem Folgeproblem hier wieder
auftauchen und denen man wieder ellenlang Grundsatzerklärungen
vorbringt. Das ist mühsam...

Wenn Du Auto fahren lernen willst, sagst Du dann zu Deinem Fahrlehrer:
"ich will aber schieben!"?

Viele Grüße - Mark

Hans-Reginald Ernst

unread,
May 7, 2012, 6:14:24 AM5/7/12
to
Am Sun, 6 May 2012 22:30:13 +0200 schrieb Mark Doerbandt:

> Hallo, Hans-Reginald,
>
> Hans-Reginald Ernst:
>
>> Also ich lege bei einem Addressbuch nicht für jedes Familienmitglied einen
>> eigenen Datensatz an. Sondern bei z.B. Fam. Müller gibt es - bei den
>> Geburtstagen - Hr. un Fr. Müller und evtl. 4 Kinder oder 2 Kinder und 2
>> Hochzeitstage oder...
>
> doch, das solltest Du tun. Datenbanken, die
>
>> Aber manche habe eben kein besonderes Vorstellungsvermögen, oder?
>
> Ich habe Dir nur eine ernst gemeinte Frage gestellt. (Auch wenn ich es
> mir tatsächlich nicht vorstellen konnte, hätte es ja vielleicht
> konkrete Gründe für das Design geben können. Der nun von Dir genannte
> ist keiner.)
>
[...]

Ich würde euch ja gerne Screenshots von ein paar meiner DBs schicken, aber
die mir bekannten Uploader funktionieren nicht (mehr). Vielleicht nennt
ihr mir eine Seite, damit ich einen Link euch schicken kann.

Access habe ich mir von Grund auf selber beibringen müssen. Ich habe zuvor
mit Works 3.0 gearbeitet. Nachdem Works 4.0 anders (hierarchisch)
aufgebaut wurde, funktionierten meine 3.0-wdbs damit nicht mehr. So blieb
mir nur übrig, meine wdbs auf 4.0 umzustricken oder eben auf Access
umzusteigen und alles neu zu schreiben. Dafür habe ich mich dann
entschieden.

Es dauerte über ein halbes Jahr, bis alle DBs, wie gewünscht,
funktionierten. Bei "New Horizons" habe ich einen Access-Kurs belegt. Mit
deren dicken Unterlagen und dem Handbuch "Das Einsteigerseminar Access 97"
von Bettina Weßelmann habe ich losgelegt. Alle VBAs habe ich selber
gezimmert (auf der Basis von den Works-Formeln). Und wenn ich nicht
weiterkam, habe ich in der NG nachgefragt. Damals wurde mir ganz toll
geholfen Und keiner hat den "falschen" Aufbau meiner DBs bemängelt.

Und jetzt wird mir halt gelegentlich gesagt, ich hätte meine DBs von Grund
auf falsch aufgebaut (keine FE/BE, nicht für jede Person einen eigenen DS
angelegt,...). Dabei entsprechen meine DBs genau meinen Vorstellungen und
tun einfach das, wofür sie gedacht sind: Berichte erstellen und in
Verbindung mit Word Briefe drucken. Fertig. Zu mehr brauche ich sie nicht.

Vielleicht sind DBs im eigentlichen Sinne zu etwas Andereem gedacht, aber
ich verwende sie nun mal so. Man könnte Vieles auch mit Excel machen, aber
dann würden mir die Formulare für die Eingabe fehlen. Excel - zumindest
das 1997er Office, mit dem ich alles erstellt habe, bot/bietet da nur ganz
begrenzte Möglichkeiten. Und meine VBA-Formeln würden vermutlich in Excel
auch nicht reinpassen. Keine Ahnung. Interessiert mich auch nicht weiter.

Dies alles soll keine "Rechtfertigung", sondern nur eine kleine Begründung
für mein Verhalten sein. Aber wenn man meint, nur über die Art/den
Aufbau/den Sinn meiner DBs diskuieren zu wollen, anstatt Lösungen
anzubieten, bitteschön. Aber dazu stelle ich eigentlich nicht mein OP.

Und ich werde gewiss nicht meine ganzen DBs (ca. 15 Stück, basierend auf 2
Grundschematas) auf FE/BE (Da müsste ich mich erst komplett neu
einarbeiten. Und ich habe deren Sinn für meine Bedürfnisse noch garnicht
verstanden, obwohl ich ein paar Links durchgelesen habe.) u.s.w.
umstricken, nur weil bei einem Wechsel von A2000 auf A2003 ein
klitzekleines Problemchen auftauchte, bei deren Lösung mir Claus Maier so
toll geholfen hat.

Bin gespannt auf die bestimmt folgende "offene" Diskussion, die ja wohl
"Sinn" von NGs sein soll... Bei Problemen soll man sich - nach Meinung
Einiger - an den Hersteller oder bestimmte Foren wenden. Oder bei
Access-Fragen auf der Kalr Donkarl-Seite tummeln.

Ich habe mir die Problemlösung, also die SQL, in Word gespeichert und habe
sie so im Bedarfsfall wieder zur Hand. Vielleicht kann ich damit einem
anderen OP mal helfen...

--
Gruß

Hans-Reginald

Hans-Reginald Ernst

unread,
May 7, 2012, 6:20:25 AM5/7/12
to
Am Mon, 7 May 2012 12:14:24 +0200 schrieb Hans-Reginald Ernst:

[...]

> Oder bei Access-Fragen auf der Kalr Donkarl-Seite tummeln.
>
[...]

Nachtrag: Große Entschuldigung. Der Autor der Seite "www.donkarl.com"
heißt natürlich Karl Donaubauer und nicht wie von mir falsch angegeben!

--
Gruß

Hans-Reginald

Mark Doerbandt

unread,
May 7, 2012, 6:53:20 AM5/7/12
to
Hallo, Hans-Reginald,

Hans-Reginald Ernst:

> Und ich werde gewiss nicht meine ganzen DBs (ca. 15 Stück, basierend auf 2
> Grundschematas) auf FE/BE (Da müsste ich mich erst komplett neu
> einarbeiten. Und ich habe deren Sinn für meine Bedürfnisse noch garnicht
> verstanden, obwohl ich ein paar Links durchgelesen habe.) u.s.w.
> umstricken, nur weil bei einem Wechsel von A2000 auf A2003 ein
> klitzekleines Problemchen auftauchte, bei deren Lösung mir Claus Maier so
> toll geholfen hat.

naja, wie ich schon schrieb: Du machst Dir unnötig viel Arbeit. Im
konkreten Fall mußt Du Dein SQL sechs mal schreiben, weil Du das nicht
normalisiert hast. Und spätestens wenn Du Dir eine Geburtstagsliste
bauen möchtest, mußt Du ellenlanges SQL schreiben, das völlig
überflüssig wäre, wenn die Datenbank "korrekt" aufgebaut wäre.

In meiner Erfahrung werden Datenbanken, die "leben", sowieso alle paar
Jahre neu entwickelt, weil sich Erkenntnisse gesammelt haben, wie man
etwas besser machen könnte. Aber das willst Du nicht und gut - es ist
Deine Entscheidung. Du bräuchtest wahrscheinlich nur eine oder
höchstens zwei Datenbanken.

Btw: eine FE-BE-Aufteilung dauert keine Stunde.

> Bin gespannt auf die bestimmt folgende "offene" Diskussion, die ja wohl
> "Sinn" von NGs sein soll... Bei Problemen soll man sich - nach Meinung
> Einiger - an den Hersteller oder bestimmte Foren wenden. Oder bei
> Access-Fragen auf der Kalr Donkarl-Seite tummeln.

Nein, das ist Unsinn. Weder die "offene Diskussion" noch Flamewars
gehören hierher. Der Support ses Herstellers ist äußerst mäßig und ich
denke, Du wirst hier nicht oft dorthin verwiesen. Auf die FAQ wird man
immer dann verwiesen, wenn man nicht richtig gesucht hat, denn ein
Problem, das in die FAQ kommt, wurde bestimmt schon oft thematisiert.

Schöne Grüße - Mark

Winfried Sonntag

unread,
May 7, 2012, 2:11:36 PM5/7/12
to
Am 07.05.2012 schrieb Hans-Reginald Ernst:


> Ich würde euch ja gerne Screenshots von ein paar meiner DBs schicken, aber
> die mir bekannten Uploader funktionieren nicht (mehr). Vielleicht nennt
> ihr mir eine Seite, damit ich einen Link euch schicken kann.

Wirf doch die Begriffe Filehoster kostenlos in eine Suchmaschine
deines geringsten Misstrauens.

Claus Maier

unread,
May 7, 2012, 6:32:08 PM5/7/12
to
Hans-Reginald Ernst wrote:

> Am Sun, 6 May 2012 22:30:13 +0200 schrieb Mark Doerbandt:
>
>> Hallo, Hans-Reginald,
>>
>> Hans-Reginald Ernst:
>>
>>> Also ich lege bei einem Addressbuch nicht für jedes
>>> Familienmitglied einen eigenen Datensatz an. Sondern bei z.B. Fam.
>>> Müller gibt es - bei den Geburtstagen - Hr. un Fr. Müller und evtl.
>>> 4 Kinder oder 2 Kinder und 2 Hochzeitstage oder...
>>
>> doch, das solltest Du tun. Datenbanken, die
>>
>>> Aber manche habe eben kein besonderes Vorstellungsvermögen, oder?
>>
>> Ich habe Dir nur eine ernst gemeinte Frage gestellt. (Auch wenn ich
>> es mir tatsächlich nicht vorstellen konnte, hätte es ja vielleicht
>> konkrete Gründe für das Design geben können. Der nun von Dir genannte
>> ist keiner.)
>>
> [...]
>
> Ich würde euch ja gerne Screenshots von ein paar meiner DBs schicken,

Ich glaube, das ist garnicht nötig. Ich vermute, die Profis hier haben ein
ausreichendes Vorstellungsvermögen.

> Access habe ich mir von Grund auf selber beibringen müssen. Ich habe
> zuvor mit Works 3.0 gearbeitet. Nachdem Works 4.0 anders
> (hierarchisch) aufgebaut wurde, funktionierten meine 3.0-wdbs damit
> nicht mehr. So blieb mir nur übrig, meine wdbs auf 4.0 umzustricken
> oder eben auf Access umzusteigen und alles neu zu schreiben. Dafür
> habe ich mich dann entschieden.
>
> Es dauerte über ein halbes Jahr, bis alle DBs, wie gewünscht,
> funktionierten. Bei "New Horizons" habe ich einen Access-Kurs belegt.
> Mit deren dicken Unterlagen und dem Handbuch "Das Einsteigerseminar
> Access 97" von Bettina Weßelmann habe ich losgelegt.

Und in dem Handbuch von Bettina stand nichts über "Normalisierung"?

> Alle VBAs habe
> ich selber gezimmert (auf der Basis von den Works-Formeln). Und wenn
> ich nicht weiterkam, habe ich in der NG nachgefragt. Damals wurde mir
> ganz toll geholfen Und keiner hat den "falschen" Aufbau meiner DBs
> bemängelt.

Schade.

> Und jetzt wird mir halt gelegentlich gesagt, ich hätte meine DBs von
> Grund auf falsch aufgebaut (keine FE/BE, nicht für jede Person einen
> eigenen DS angelegt,...).

FE/BE sind wohl nur in Mehrbenutzer-Umgebungen (Firmen) notwendig.
Normalisierung dagegen fordert jede DB, die auf Dauer funktionieren und
erweiterbar sein soll.

> Dabei entsprechen meine DB genau meinen Vorstellungen und tun einfach das,
> wofür sie gedacht sind: Berichte erstellen und in Verbindung mit Word Briefe
> drucken. Fertig. Zu mehr brauche ich sie nicht.

Meine DBs tun auch, was sie tun sollen - noch. Denn sie sind auch nicht nach
der reinen Lehre entworfen und entsprechen deshalb *nicht* meinen Vorstellungen -
ich bin mir der Mängel durchaus bewußt. Und deswegen wäre ich nicht so hartleibig,
jede Kritik bzw. jeden guten Rat von Leuten, die von DBn wesentlich mehr verstehen
als ich, grundsätzlich abzuschmettern.

mfg
Claus

Hans-Reginald Ernst

unread,
May 8, 2012, 4:30:23 AM5/8/12
to
Am Mon, 7 May 2012 20:11:36 +0200 schrieb Winfried Sonntag:

> Am 07.05.2012 schrieb Hans-Reginald Ernst:
>
>
>> Ich würde euch ja gerne Screenshots von ein paar meiner DBs schicken, aber
>> die mir bekannten Uploader funktionieren nicht (mehr). Vielleicht nennt
>> ihr mir eine Seite, damit ich einen Link euch schicken kann.
>
> Wirf doch die Begriffe Filehoster kostenlos in eine Suchmaschine
> deines geringsten Misstrauens.
>
> Servus
> Winfried

So,jetzt habe ich einen Filehoster gefunden. Der nervt zwar mit
Werbeeinblendungen, ist dafür aber kostenlos.

Hier das Bild einer Adress-DB (Standard1):
http://www.uploadarea.de/upload/t3lc3zhcl2besr9p27he89kvu.html

Und hier das Bild einer Miet/Firmen/...-DB (Standard2):
http://www.uploadarea.de/upload/1wnrnhkdln6zm6k5je2xgr2k6.html

--
Gruß

Hans-Reginald

Winfried Sonntag

unread,
May 8, 2012, 2:45:27 PM5/8/12
to
Am 08.05.2012 schrieb Hans-Reginald Ernst:

> So,jetzt habe ich einen Filehoster gefunden. Der nervt zwar mit
> Werbeeinblendungen, ist dafür aber kostenlos.

Ich weiß ja nicht, wie Du suchst bzw. welche Suchmaschine Du nutzt,
aber wenn ich das eingebe steht der hier ganz oben:
http://www.file-upload.net/

> Hier das Bild einer Adress-DB (Standard1):
> http://www.uploadarea.de/upload/t3lc3zhcl2besr9p27he89kvu.html

Das ist ein Formular, nützt also nichts.

> Und hier das Bild einer Miet/Firmen/...-DB (Standard2):
> http://www.uploadarea.de/upload/1wnrnhkdln6zm6k5je2xgr2k6.html

Hast Du dir dieses Bild selbst mal angesehen? Wenn nein, solltest Du
tun. Man (ich) kann nichts erkennen. Außerdem sind die Tabellen
interessant.

Hans-Reginald Ernst

unread,
May 9, 2012, 4:28:07 AM5/9/12
to
Am Tue, 8 May 2012 20:45:27 +0200 schrieb Winfried Sonntag:

> Am 08.05.2012 schrieb Hans-Reginald Ernst:
>
>> So,jetzt habe ich einen Filehoster gefunden. Der nervt zwar mit
>> Werbeeinblendungen, ist dafür aber kostenlos.
>
> Ich weiß ja nicht, wie Du suchst bzw. welche Suchmaschine Du nutzt,
> aber wenn ich das eingebe steht der hier ganz oben:
> http://www.file-upload.net/
>
>> Hier das Bild einer Adress-DB (Standard1):
>> http://www.uploadarea.de/upload/t3lc3zhcl2besr9p27he89kvu.html
>
> Das ist ein Formular, nützt also nichts.
>
>> Und hier das Bild einer Miet/Firmen/...-DB (Standard2):
>> http://www.uploadarea.de/upload/1wnrnhkdln6zm6k5je2xgr2k6.html
>
> Hast Du dir dieses Bild selbst mal angesehen? Wenn nein, solltest Du
> tun. Man (ich) kann nichts erkennen. Außerdem sind die Tabellen
> interessant.
>
> Servus
> Winfried

Hallo Winfried,

Die Standard1-DBs enthalten je nur 1 Tabelle mit den erkennbaren
"Rubriken" Name1, Vorname1, Name2, Vorname2, Str., PLZ, Ort,... Sortiert
wird nach Anmerkung, Feld1 (Eingabe Feld1=0, wenn ich an den DS einen
Brief/ein Fax schreiben will) oder GebFilter.

Die Standard2-DBs sind beruflich genutzt (Ich bin Immo-Makler). Sie
besitzen i.d.R. 2 Tabellen: Eine für die "Anbieter"- und
"Interessenten"-Daten und eine für die Objekte. Die Objet-Tabelle ist mit
anderen DBs verknüpft, da sie auch dort benötigt wird. Es bestehen noch
verknüpfte Tabellen, zu denen ich Datensätze "schicken" könnwn will. Bei
dieser Funktion weiß ich, dass man das bestimmt hätte anders/besser lösen
können. Aber beim Aufbau der 1. so gearteten DB hatte ich nicht alle
Möglichkeiten vorher gedanklich durchgespielt, um sie für alle
erdenklichen Möglichkeiten zu erstellen. Bei bestimmten Aktionen wäre ich
auch auf Probleme gestoßen (Einmal erhält der Verkäufer, ein anderes Mal
der Käufer die Rechnung). Mit den Verknüpften Tabellen klappt es
jedenfalls ganz toll. Alles läuft bestens.
In den Standard2-DBs wird eigentlich nur nach Feld1=0 (Die 0 wird in den
jeweiligen DS nur für eine bestimmte Aufgabe eingegeben und danach wieder
gelöscht.) gefiltert, manchmal nach Objekten (für Serienbriefe).

Habe ich alles verständlich geschildert oder gibt es noch Fragen?

--
Gruß

Hans-Reginald
0 new messages