collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 35
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13853
  • stats Beiträge insgesamt: 64924
  • stats Themen insgesamt: 8757
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Ereignisprozedur in Endlosformular  (Gelesen 64 mal)

Offline Baeny

  • Newbie
  • Beiträge: 4
Ereignisprozedur in Endlosformular
« am: Februar 19, 2018, 20:07:05 »
Liebes Forummitglieder
Ich bin neu im Access und erstelle ein Journal für meinen privaten Haushalt. Aus der Access-Datenbank erstelle ich dann im Excel mit Pivot-Tabellen praktische Auswertungen. Das Journalformular funktioniert bis auf die Kontierungsangaben. Nach Eingabe der Kontonummer im frmJournal.Kontonr, respektive beim Übergang zum nächsten Feld "Konto", sollten die Felder frm.Journal.Konto und frm.Journal.Kategorie als Text automatisch von der Abfrage AbfKonto_Kat, den der Kontonummer entsprechenden Text übernehmen.
 Im Fomular habe ich im Feld "Konto" im Eigenschaftsblatt den Auswahltyp "Kombinationsfeld". Datensatzherkunft ist AbfKonto_Kat, wo beide Texte enthalten sind. Im Tab Ereignis/BeimKlicken habe ich die folgende Prozedur integriert:
_________________________________________________ _
Option Compare Database
Option Explicite
Private Sub Konto_Click()
Update tblJournal
INNER JOIN tbl AbfKonto_Kat
ON tblJournal.Kontonr = AbfKonto_Kat.IDKonto
Set tblJournal.Konto = AbfKonto_Kat.Konto
Set tblJournal.Kategorie = AbfKonto_Kat.Kategorie
End Sub
_________________________________________________
Da ich das erste Mal nach 20 Jahren wieder etwas mit Access zu tun habe, fange ich praktisch wieder neu an. Wenn ich versucht habe die Prozedur auszuführen, hat sich im Formular nichts verändert.
Mit freundlichen Grüssen
Baeny
« Letzte Änderung: Februar 19, 2018, 20:11:42 von MzKlMu »
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7086
Re: Ereignisprozedur in Endlosformular
« Antwort #1 am: Februar 19, 2018, 20:11:26 »
Hallo,
wenn man mit einem Kombifeld etwas auswählt, wird der Fremdschlüssel der Zieltabelle gefüllt.
Weitere Felder des Kontos zu übertragen ist überflüssig.
Es wird auch nicht die Kontonummer übertragen, sondern die IDKonto.

Für das Schreiben geänderter/angelegter Daten in Tabellen benötigt man im Regelfall keine einzige Aktualisierungsabfrage. In der ganzen Datenbank nicht. Mir scheint daher, dass Du da eher ein grundsätzliches Problem hast.

Zeige mal ein Bild des Beziehungsfensters, damit man der Sache auf den Grund gehen kann. Auf dem Bild sollte man alle Tabellen sehen und die Tabellen so groß dass man alle Felder sieht.
« Letzte Änderung: Februar 19, 2018, 20:31:45 von MzKlMu »
Gruß
Klaus
 

Offline Baeny

  • Newbie
  • Beiträge: 4
Re: Ereignisprozedur in Endlosformular
« Antwort #2 am: Februar 19, 2018, 21:05:39 »
Hallo Mz
Beiliegend die Datenbankbeziehungen.
Mit freundlichen Grüssen
Baeny
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7086
Re: Ereignisprozedur in Endlosformular
« Antwort #3 am: Februar 19, 2018, 21:37:36 »
Hallo,
ich fürchte, das kannst Du alles in die Tonne treten. Da gibt es keine einzige richtige Beziehung. Eine Beziehung läuft immer über den Primärschlüssel und in der anderen Tabelle ein extra Feld als Fremdschlüssel. Niemals über den Klartext. Das ist ja der Sinn eines Primärschlüssels.
Im Anhang ein Bild mit einer Beziehung. Das gilt dann sinngemäß für die anderen Beziehungen auch. Für alle Beziehungen stellt man grundsätzlich den Typ 1 ein. Das ändert man bei Bedarf nur in Abfragen.
Was ist eigentlich der Unterschied zwischen tblKontierung und tblKonto ?
Die Tabellen für Monat und Jahr sind überflüssig, die Felder auch. Nimm statt dessen ein Datum. Das alles bedarf der gründlichen Überarbeitung, so kannst Du nicht weiter machen.

PS:
Lade Bilder bitte im Forum hoch.
« Letzte Änderung: Februar 19, 2018, 22:57:40 von MzKlMu »
Gruß
Klaus
 

Offline Baeny

  • Newbie
  • Beiträge: 4
Re: Ereignisprozedur in Endlosformular
« Antwort #4 am: Februar 20, 2018, 19:06:36 »
Hallo
Die alte Datei ist nun in der Tonne. Eine neue DB aufgebaut. Siehe Beilage. Die Verknüpfungen kann ich jedoch nicht richtig herstellen, denn ich habe es noch nicht begriffen, das Endlosformular richtig zu machen. Zu sagen ist noch, dass ich für meine Zwecke die Eingaben Jahr und Monat so machen möchte wie gehabt im Excel, wo ich die Pivot-Tabellen nach Übertrag der Daten vom Access behandle. Die Kontoangaben habe ich noch nicht ins Formular übernommen. Nur Jahr und Monat. Sobald ich diese jedoch verknüpfen möchte mit der Journaltabelle, so kommt referentieller Integrität angeklickt, die Meldung "dieselbe Anzahl an Feldern mit denselben Datentypen erforderlich". Dies stimmt wohl. Aber im Journal will ich den Datentyp von Jahr und Monat als Text. Das System möchte jedoch Fremdschlüssel mit Primärschlüssel verbinden. Was soll ich da machen??
Die neu aufgebaute Datenbank liegt als Bild bei.
Gruss
Baeny
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7086
Re: Ereignisprozedur in Endlosformular
« Antwort #5 am: Februar 20, 2018, 19:30:03 »
Hallo,
Zitat
Aber im Journal will ich den Datentyp von Jahr und Monat als Text.
Wieso Text ? beides sind Zahlen, mit Text hast Du mindestens beim Monat keine sinnvolle Sortierung mehr.
Und warum die in die Tabelle sollen ist mir auch unklar, hast Du kein Datum im Journal ? Buchungen ohne Datum machen doch keinen Sinn ?
Zitat
Das System möchte jedoch Fremdschlüssel mit Primärschlüssel verbinden.
So ist es ja auch richtig. In die Das System möchte jedoch Fremdschlüssel mit Primärschlüssel verbinden. So ist es ja auch richtig. Der Fremdschlüssel ist mit einem Autowert als PS immer eine Zahl (Longinteger). Kontonr, Kat, Kto haben im Journal nichts zu suchen. Ins Journal kommt nur ein Fremdschlüssel zum Konto, sonst keine Felder.
Zitat
Zu sagen ist noch, dass ich für meine Zwecke die Eingaben Jahr und Monat so machen möchte wie gehabt im Excel,
Vergiss Excel, Access erfordert eine völlig andere Vorgehensweise.

Das Ganze ist immer noch ziemlich unbrauchbar.
Im Anhang mal ein Bild wie das im einfachsten Fall auszusehen hat.
« Letzte Änderung: Februar 20, 2018, 19:39:11 von MzKlMu »
Gruß
Klaus
 

Offline Baeny

  • Newbie
  • Beiträge: 4
Re: Ereignisprozedur in Endlosformular
« Antwort #6 am: Februar 20, 2018, 19:58:49 »
Hallo Klaus
Wieso Excel? Solche Auswertungen, die ich möchte und auch schon realisiert habe mit Power Pivot, kann Access nicht. Auf der anderen Seite bietet Access für das Handling der Daten viele Vorteile, wo Excel sehr umständlich ist. Apropos Datum: für meine private Buchhaltung genügt mir Monat und Jahr für die Ausgaben und Einnahmen, mindestens vorläufig, wie ich es im Excel bisher handhabte. Wie ich nun mit Deinem DB-Vorschlag umgehen werde, brauche ich jetzt etwas Zeit und eine Pause.
Jedoch vielen Dank für die bisherige Hilfe. Vielleicht werde ich später wieder darauf zurückkommen, wenn andere Probleme anstehen. Jedenfalls bleibe ich bei Access, welches so viele Möglichkeiten bietet.
Mit freundlichen Grüssen
Baeny
 
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7086
Re: Ereignisprozedur in Endlosformular
« Antwort #7 am: Februar 20, 2018, 20:17:02 »
Hallo,
Zitat
Zu sagen ist noch, dass ich für meine Zwecke die Eingaben Jahr und Monat so machen möchte wie gehabt im Excel,
Das halte ich für einen Fehler. Speicher das Datum, da lässt sich problemlos Jahr und Monat ableiten.
Eine Datenbank erfordert für eine vernünftige Arbeitsweise einen normalisierten Aufbau. Die Exporte macht man dann mit Abfragen die die Tabellen entsprechend den Anforderungen für Excel umstrukturieren.
Außerdem, glaube ich dass Du Deine Auswertungen bei korrektem Aufbau auch direkt in Access machen kannst.
Gruß
Klaus