Hallo und viele Grüße an alle ...
Ich bin neu hier im Forum, da ich mich seit ein paar Wochen mit Access beschäftige.
Jetzt drehe ich mich gerade seit Tagen im Kreis mit einem Problem - in der Hoffnung, Ihr könnt mir einen Lösungsweg aufzeigen oder mich in die richtige Richtung schubsen ;-)
Ich muss dazu sagen - ich kann kein VBA ... ich versuche gerade Access (etwas) zu verstehen ... und lerne mit jedem Schritt hinzu - also bitte um "etwas Nachsicht" ;-)
Ich weiss nicht ganz, wie ich es besser aufzeigen soll - wenn was infotechnisches fehlt - einfach schreiben, ich werde es gerne nachliefern.
Also mein Aufgabe:
Es ist (soll) eine eine Projektdatenbank werden.
Und mein Problem:
Ich möchte in mein Hauptformular ein Feld erzeugen, welches aus anderen Tabellen und Tabellenfeldern stückweise eine Projektnummer "zaubert" ...
So solls aussehen: BREMREMB-0001-FM
Aus der Haupttabelle "tab_bauort" die ersten 4 Buchstaben aus Stadt und die ersten 4 aus der Strasse (Also aus Bremen und Rembertiring).
Dann soll ein Minus dazwischen.
Weiterhin (und jetzt kommt wohl das schwierigste) kommt eine hochzählende Zahl. Wenn es BREMREMB noch nicht gibt ist es die 001. Wenn es BREMREMB-003 schon gibt also in Form von 3 Projekten, soll es das neue in 004 machen (also BREMREMB-004).
Dann soll ein Minus dazwischen.
Und weiterhin aus der tab_nachweis muss ich die Anfangsbuchstaben des Mitarbeiters nehmen - oder macht es Sinn, schon in der tab_nachweis dieses Kürzel per Handeingabe anzulegen (das sind unsere Mitarbeiter - d. h. ich würde es einmal für ein paar Mitarbeiter anlegen) ?
- Keine Duplikate ...
- Primärschlüsssel ist eine einfache laufende Zahl (Feld ID_Bauort).
- Der Projektname zB "BREMREMB-0001-FM" darf -nicht- editierbar und löschbar sein.
Grober Aufbau des Projektes:
tab_bauort (haupttabelle) ... mit Stadt, Strasse, Flurnummer, etc
tab_nachweis (in haupttabelle als unterformular) ... unsere Firma mit Namen, Adressen, Telefonnummern, etc.
tab_bauherr (in haupttabelle als unterformular) ... Fremdfirma mit Namen, Adressen, Telefonnummern, etc.
tab_entwurf (in haupttabelle als unterformular) ... Fremddienstleister mit Namen, Adressen, Telefonnummern, etc.
tab_pruefer (in haupttabelle als unterformular) ... Prüfer mit Namen, Adresse, Telefonnummer, etc.
tab_buero (in haupttabelle als unterformular) ... unsere Firma mit Rechnungstellung, Projektfortschritt, Informationen, etc.
zwi_tab_anrede (als zwischentabelle) .. wie Herr, Frau, etc
zwi_tab_grad (als zwischentabelle) .. wie Dr., Prof., etc
zwi_tab_plzort (als zwischentabelle) .. wie Plz, Stadt, etc
... habe ich was vergessen? ....
Muss ich eine komplette Tabelle mit allen Daten errichten? Ich bin der Meinung nein ... kann ich ja über eine Abfrage in einem Bericht oder dem Hauptformular später darstellen.
Ich danke schon mal im voraus!
VLG
Hallo,
Dein Aufbau ist etwas unlogisch.
Wieso steht beim Bauherr die Fremdfirma ?
Entwurf > Fremddienstleister ?
Büro > Eure Firma ?
Was verstehst Du unter Zwischentabellen ?
Die gezeigten Zwischentabellen sind einfache Tabellen die als Nachschlagetabellen dienen. Das sind einfache 1:n Beziehungen.
Eine Zwischentabelle ist eine Tabelle zwischen 2 Tabellen die als Verbindung für eine n:m Beziehung dient. Das liegt hier aber nicht vor.
Warum willst Du eine solche komplizierte Projektnummer ?
Die man übrigens nicht speichern würde, sondern immer nur zusammensetzt und anzeigen. Nur die laufende Nr. würde man speichern.
Und die 4 Tabellen für Nachweis, Bauherr, Entwurf und Prüfer gehören in eine Tabelle (an den gleichen Feldnamen zu erkennen). Die Tabelle erhält ein Kennzeichen (Zahl) zur Unterscheidung. Für die Personen/Firmenart ist eine Tabelle erforderlich mit der Zahl (für die Unterscheidung) als Primärschlüssel.
PS:
Das Thema kommt mir bekannt vor, hatten wir das vor einiger Zeit nicht schon mal ?
Und das gleichzeitige Fragen im verschiedenen Foren ist unerwünscht, kannst Du in den Forumsregeln (Nettiquette) nachlesen.
hallo,
ok - das mit dem "gleichzeitige Fragen im verschiedenen Foren" war/ist blöd.
ich entschuldige mich hiermit dafür - sorry.
ich werde es im anderen forum weiter bearbeiten.
aufbau ... unlogisch ...
;-) für mich klingt (naja - jetzt klang) der super ... wahrscheinlich aus der position eines anfängers ...
- bauherr/fremdfirma ... das ist eine externe firma ... daher fremdfirma. das ist kein feld oder ähnliches ...
- entwurf/fremddienstleister ... gleiches in grün
-Büro/ unsere firma ... ja. ich wusste nicht wie ich es beschreiben sollte. da dieses projekt auch optisch zur abrechnung irgendwann laufen soll (also projekt fertig, rechnung raus ... oder so ähnlich) ...
mir den zwischentabellen habe ich in dem anderen forum auch gelesen und ich werde sie auf "ganz normale tabellennamen" ändern.
komplizierte Projektnummer .... "willst" ist gut ;-)
aus dieser bezeichnung können alle (auch ohne datenbank) in kurzform ersehen, wo das projekt ist und wer es bearbeitet. diese nummer steht später u. a. auf dokumenten und plänen ...
die laufende nummer speichern ...
mhhh - das habe ich auch in dem anderen forum gelesen ... ich verstehe grundsätzlich, das man das zur berechnung benötigt - aber wieso dann nur die nummer speichern? kann man nicht beides/alles in einem rutsch speichern?
Und die 4 Tabellen für Nachweis, Bauherr, Entwurf und Prüfer gehören in eine Tabelle ......... ???? mhhhhh... ja, alle haben str. orte etc ... da habe ich wohl falsch und zu kompliziert gedacht ... aber kann denn "aus einer" tabelle 4 verschiedene datensätze in einem formular angezeigt - und gespeichert werden?
Für die Personen/Firmenart ....... du meinst eine weitere tabelle nur mit personen? die ich dann einer firma zuordne aus der anderen firmentabelle (s.o.)?
PS:
Das Thema kommt mir bekannt vor, hatten wir das vor einiger Zeit nicht schon mal ?
... jein ::) ... fast ... da habe ich mir über grundsätzliches gedanken gemacht....
ich bin halt anfänger ... und versuche access etwas näher zu kommen ... geht aber nicht, wenn ich von grund auf was falsch mache ... daher die "vorabinformationen" ...
bist du denn auch in dem anderen forum (office-loesung)? könnten wir denn da weiter lösen?
ich danke dir auf jeden fall, das du dir für mich bzw. dem problem zeit genommen hast.
VG
Hallo,
Zitataber wieso dann nur die nummer speichern? kann man nicht beides/alles in einem rutsch speichern?
Du willst doch diese Nummer hochzählen, also muss das eine Zahl sein, damit man 1 addieren kann. Wenn Du das zusammen speicherst, musst Du erst wieder die Zahl aus dem langen Text herauslösen und dann erst kannst Du addieren. Daher speichert man nur die reine Zahl. In einer Abfrage kannst Du die gewünschte Projektnummer einfach aus den Bestandteilen (die ja vorhanden sind) zusammensetzen. Auch dann kannst Du die so erzeugte Projektnummer überall verwenden und auch aufdrucken. Das komplette Speichern ist kontraproduktiv.
Zitataber kann denn "aus einer" tabelle 4 verschiedene datensätze in einem formular angezeigt - und gespeichert werden?
ja, problemlos. Gespeichert würde ohnehin nur der Primärschlüssel als Fremdschlüssel.
ZitatFür die Personen/Firmenart ....... du meinst eine weitere tabelle nur mit personen?
nein so nicht. Eine Tabelle für die Personenart bzw. Firmenart. In der Tabelle gibt es dann 4 Datensätze (Nachweis, Bauherr, Entwurf und Prüfer) mit je einem Primärschlüssel. Dieser Primärschlüssel kommt dann als Fremdschlüssel in die eine Firmen/Personentabelle, damit man diese unterscheiden kann.
Zitatbist du denn auch in dem anderen forum
kommt Dir der Vorname bekannt vor ?
Ich würde vorschlagen, wir machen hier weiter, hier ist schon am meisten genörgelt. ;D ;D
Hi,
ok - das ist plausibel mit der zahl / bzw umweg mit dem herauslösen.... also die nummer speichern - ok.
-----
nein so nicht. Eine Tabelle für die Personenart bzw. Firmenart. In der Tabelle gibt es dann 4 Datensätze (Nachweis, Bauherr, Entwurf und Prüfer) mit je einem Primärschlüssel. Dieser Primärschlüssel kommt dann als Fremdschlüssel in die eine Firmen/Personentabelle, damit man diese unterscheiden kann.
------
so ähnlich ... allerdings weil es ja eine projektdatenbank sein soll - mit dem bezug auf den bauort .... habe ich das in die tab_bauort reingepackt ... siehe anhang (tab_bauort-pic01) ....
an beziehungen / verknüpfungen habe ich noch nichts gemacht.
----
kommt Dir der Vorname bekannt vor ?
------
wie soll ich unter "Autor: MzKlMu" einen klaus vermuten? ;-()
es soll auch noch andere klaus - ausser klaus - in diesem universum geben ;-)
... hast du jetzt eine ungefähre vorstellung, was ich damit möchte und wie es nachher aussschauen soll? oder habe ich zu sehr durcheinander ge- und beschrieben?
VG
Hallo,
bitte benutze den Zitatbutton, damit man das unterscheiden kann.
Zitatso ähnlich ... allerdings weil es ja eine projektdatenbank sein soll - mit dem bezug auf den bauort .... habe ich das in die tab_bauort reingepackt
das hat damit nichts zu tun, die Tabelle benötigst Du zur Unterscheidung der Personen/Firmen. Wenn Du einen Bauher auswählst, willst Du ja nur die Bauherren sehen, also benötigst Du ein Unterscheidungsmerkmal.
Text als Datentyp für die ID_... ist übrigens falsch, denn Du musst Dich auf den Primärschlüssel der Tabelle beziehen und das ist ein Autowert (LongInteger) und das muss auch der Fremdschlüssel sein.
Das Feld "lfd_Projektnummer" wird per VBA berechnet und nicht über den Feldatentyp "berechnet" das würde auch nicht gehen. Und natürlich ist das eine Zahl und kein Text, zu Text kann man wie gesagt nichts addieren.
Zitatwie soll ich unter "Autor: MzKlMu" einen klaus vermuten? ;-()
es soll auch noch andere klaus - ausser klaus - in diesem universum geben ;-)
weil es in meiner Signatur steht.
Außerdem sind wie hier nicht im Universum sondern in 2 Foren. Und so viele Klaus gibt es da nicht. Aber das nur nebenbei.
Jetzt machst Du mal die Änderungen, legst Beziehungen an und zeigst mal diese Beziehungsbild. Im Beziehungsbild keine zu großen Leerräume und die Tabellen so groß ziehen, dass man alle Felder sieht. Beziehungen mit referentieller Integrität anlegen, weil das bereits die ersten Fehler offen legt wenn es nicht geht.