Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Neueste Beiträge

#31
Formular / Formular mit Zwischentabelle? ...
Letzter Beitrag von Zobel - Januar 25, 2026, 15:07:52
Hallo zusammen
Für einen Sportverein muss ich die Trainings- und Wettkampfteilnahmen der Sportler erfassen und auswerten. Hierzu möchte ich mich an Access heranwagen.

Gerne hätte ich ein Formular, in dem ich alle Trainings aufgelistet habe, eines davon auswähle und für dieses eine Training die Sportler aus einer ebenfalls dargestellten Liste auswähle, die daran teilnehmen werden. Meine Vorstellung habe ich mal als Grafik dargestellt. Geht so etwas überhaupt?

Zur Zeit gibt es in meiner Datenbank die Tabellen tblSportler, tblTrainings und als Zwischentabelle tblTrainingsteilnahme, welche mit den anderen beiden in einer Beziehung steht. Doch genau diese Zwischentabelle zeigt mir eben nur jene Sportler an, bei denen ich das Kontrollkästchen "Teilnahme" (zu Testzwecken in der Tabelle) angekreuzt habe. Alle anderen zeigt es mir natürlich nicht an - was ich auch verstehe, da ja keine Teilnahme erfasst wurde.

Ich hoffe, ihr könnt mir hierbei weiterhelfen. Für eure Unterstützung und eure (für einen Access-Laien verständliche  ;D ) Erklärungen danke ich euch bereits bestens.

Beste Grüsse
Zobel
#32
Access Programmierung / Re: Filter nach Wert in Zahlen...
Letzter Beitrag von TonyMotion - Januar 24, 2026, 15:43:32
.
Nochmal Hallo Knobbi38!
Genau das ist es...
Das Endlosformular soll NUR das Filterergebnis aus den Kombis anzeigen.
Für den Eintrag eines neuen Titel wird ein Einzelformular geöffnet.
Weitere Formulare gibt es für Korrektur und Löschen.
Das ist aber alles in einer anderen Datei schon erledigt.
Vielleicht habe ich mich da auch ein bisschen schwierig ausgedrückt.
Nochmals Vielen Dank für Deine Geduld und Hilfsbereitschaft!
Gruß! Tony
.
#33
Access Programmierung / Re: Filter nach Wert in Zahlen...
Letzter Beitrag von Knobbi38 - Januar 24, 2026, 13:38:55
Hallo Tony,

das Datenmodell ist ja so noch nicht vollständig, z.B. gibt es noch keine n:m Beziehung bezügl. der Titel/Interpreten.
Der Vorschlag mit einem HF und einem UF dient eher zum Erfassen/Ändern von Datenbankeinträgen. Zum Suchen oder für eine Übersicht ist vielleicht das Formular aus deinem 1. Beitrag ansprechender (nur Readonly!).

Ich schau mir das bei Gelegenheit nochmal genauer an und mache dann mal ein kl. Beispiel (nur für Kommentare) fertig.

Knobbi38
#34
Access Programmierung / Re: Filter nach Wert in Zahlen...
Letzter Beitrag von TonyMotion - Januar 24, 2026, 10:53:50
.
Hallo Knobbi38!
Dein Vorschlag mit 2 Forms und 2 Abfragen kommt mir irgendwie bekannt vor.
Sowas ähnliches habe ich vor ein paar Jahren schon mal versucht.
Kann mich aber nicht mehr so genau daran erinnern.
Eines weiss ich noch: dass der Filter nur das Formular berücksichtigt hat,
welches sich im Vordergrund befindet.
Filtern von Unterformular/Unterabfrage (mit Kommentar) war nicht möglich.
Hatte zwar eine Lösung gefunden. War aber damit nicht zufrieden.
Um mir das nochmal anzuschauen, hole ich meinen alten PC aus dem Ruhestand.
Hoffentlich finde ich die Datei noch.
Außerdem wage ich mal einen neuen Versuch.
Gibt es denn vielleicht mit VBA nicht doch eine Möglichkeit,
die entsprechende Prozedur und/oder Klassenmodule anzupassen?
Könnte das nicht der direkteste Weg sein?
Hier mal drei von vielen meiner vergeblichen Versuchen:
'    .FilterAdd Me.kmbKommentar, "KomFK", vbLong, _
    "SELECT Ko.KomID, Ko.KomName FROM atblKommentar AS Ko WHERE Ko.KomID IN (" _
    & "SELECT Tt.KomFK FROM abfrTitel2 AS Tt WHERE Tt.KomFK LIKE '*" & Me.kmbKommentar & "*');"
Laufzeitfehler 3464: Datentypenkonflikt in Kriterienausdruck.

'    .FilterAdd Me.kmbKommentar, "KomID  Like '*t.KomFK*'", vbLong, _
    "SELECT Ko.KomID, Ko.KommentarName FROM atblKommentar AS Ko WHERE Ko.KomID in(" _
    & "SELECT "T.KomID LIKE '* & Me.kmbKommentar & *'" FROM abfrTitel2 AS T@);"
Fehler beim Kompilieren: erwartet Anweisungsende: & "SELECT "T. (T wird markiert)

'    .FilterAdd Me.kmbKommentar, "KomID", vbLong, _
    "SELECT T.KomID FROM abfrTitel2 AS T WHERE T.KomID IN (" _
    & "SELECT Tk.TitelFK FROM tblKommentar2 AS Tk INNER JOIN atblKommentar AS Ko " _
    & "ON Tk.KomFK = Ko.KomID " _
    & "WHERE ko.KomID = " & Me.kmbKommentar & ");"
Syntaxfehler in Abfrageausdruck: ...IN (SELECT Tk.TitelFK FROM...
Vielen Dank für Deine Unterstützung!
Gruß! Tony

PS: Bin Deiner Literaturempfehlung gefolgt und
    habe das Buch bestellt
.
#35
Sonstige Datenbanken / Re: EIne Tabelle aus einer SQL...
Letzter Beitrag von Knobbi38 - Januar 23, 2026, 23:18:49
Hallo Roger,

wenn ich das richtig interpretiere, ist der Fehler 3146 ein generischer Fehler, kann also mehrere Ursachen haben.
Wenn du dir sicher bist, das der Connectionstring richtig ist, muss natürlich die angesprochene Tabelle Access konform sein, also ein richtiger PK und entsprechend geeignete Datentypen für Access.

Zur Eingrenzung kannst du auch mal die DAO Fehler auslesen:
Sub CheckODBCError()
    Dim errLoop As Error
    On Error Resume Next
    ' Hier Ihren Code ausführen, der 3146 erzeugt
   
    If DBEngine.Errors.Count > 0 Then
        For Each errLoop In DBEngine.Errors
            MsgBox "ODBC Fehler: " & errLoop.Number & " - " & errLoop.Description
        Next errLoop
    End If
End Sub


Knobbi38
#36
Sonstige Datenbanken / EIne Tabelle aus einer SQLite....
Letzter Beitrag von MaTiUrTi - Januar 23, 2026, 21:09:03
Hi an die Spezialiste,
Ich versuche eine Tabelle einer SQLite.db mit Access 2007 zu verknüpfen.

   Set tdf = db.CreateTableDef(sTable)
   tdf.Connect = "ODBC;" & "DRIVER=SQLite ODBC (UTF-8) Driver;" & "Database=" & SQL_DB_Name & ";"
   tdf.SourceTableName = sTable
   db.TableDefs.Append tdf

--> ergibt Fehler 3146

Der richtige Treiber müßte eigentlich installiert sein.

Hoffentlich kann mir jemand weiterhelfen.
Freue mich auf hilfreiche Beiträge

Grüße Roger
#37
Formular / Re: Neue Rechnung mit bekannte...
Letzter Beitrag von trebuh - Januar 22, 2026, 19:29:21
Ich habe jetzt keine Antwort für den Fragesteller, aber Grundsätzlich zur Rechnung.

Also Lücken bei den Rechnungsnummern halte ich auch für sehr leichtsinnig.
Zum einen schaut ja der Steuerberater darauf, von wo bis wo die Rechnungsnummern des Geschäftsjahres gehen,
und zum anderen, ist so was bei einer Steuerprüfung ein gefundenes Fressen für den Prüfer.
Da könnte ja die ein oder andere Rechnung gelöscht und eventuell "Schwarz" abgerechnet worden sein?
Jedenfalls wird er schon genauer schauen.
Wenn Rechnungen einen Fehler haben, dann werden sie storniert.
Gut, im kleinen Rahmen kann man die Rechnung durch den Aktenvernichter lassen und den Rechnungsempfänger informieren, das selbe zu tun.
Aber bei größeren Firmen hast da Schwierigkeiten.
Und auf der anderen Seite, ist es ja auch programmtechnisch kein Problem.

Was auf jeden Fall sinnvoll ist, ist die erwähnte Adresstabelle.
Somit kann man einem Kunden mehrere Adressdaten zuordnen.

Als Beispiel mal ein Großwaldbesitzer.
Da kann (oder gibt es) mehrere Revierleiter.
Die Tätigkeiten sollen dann den jeweiligen Revierleitern zugeordnet werden können.

Oder anderes Beispiel, wenn die Rechnungen an eine Stadt oder Gemeinde gehen.
Mal geht die Rechnung an den Sachbearbeiter, und ein anderes Mal an einen anderen.
Das kann man dann wirklich toll über die Adresstabelle machen.

Wenn es für ein Firma einen Rechtsnachfolger gibt, und die Firma dann einen anderen Namen bekommt, so würde ich auch eine neue Kundennummer anlegen, und irgendwo in den Bemerkungen auf die alte Kundennummer (Firma verweisen).
 



#38
Access Programmierung / Re: Filter nach Wert in Zahlen...
Letzter Beitrag von Knobbi38 - Januar 22, 2026, 10:47:35
Hallo Tony,

ZitatEs sind jetzt aber erneut einige Titel bis zu 3mal vorhanden.
Ja klar, denn das ist ja die Datenlage. Für eine 1:n Beziehung wird i.d.R. eine Darstellung mit einem Unterformular gewählt. In diesem Fall erfolgt die Anzeige der Titel im Hauptformular und die Kommentare werden im Unterformular angezeigt, beide mit einer eigenen Abfrage. Die Verknüpfung erfolgt dann über die Verknüpfungseigenschaften des SubForm-Steuerelements, in diesem Fall über die TitelID und den dazu passenden Fremdschlüssel TitelFK in der Tabelle tblKommentar.

Knobbi38
#39
Access Programmierung / Re: Filter nach Wert in Zahlen...
Letzter Beitrag von TonyMotion - Januar 22, 2026, 05:50:24
.
Hallo Knobbi38!
OK, jetzt hat jeder Kommentar einen eigenen Key.
Es sind jetzt aber erneut einige Titel bis zu 3mal vorhanden.
Welche Daten werden denn an die beteiligten Objekte weiter gegeben?
Hier bekomme ich die vorhandenen Daten mit Abfrage, Formular
und den Filter (Klassenmodule) irgendwie nicht zusammen.
Für gewöhnlich habe ich keine größeren Probleme
eine mehr oder weniger aufwendige DB zu erstellen.
Einiges, was ich brauche, suche ich mir aus div. Foren zusammen.
Und lege wohl die Regeln der DB-Modellierung etwas breiter aus.
Gänzlich unbekannt sind sie mir also nicht.
Dennoch wird aus mir wohl kein Access-Guru/ -Großmeister mehr werden.
Soviel Zeit und Ehrgeiz steht mir auch ohnehin nicht zur Verfügung.
Vielleicht kommst Du mir mit der Fertigstellung etwas entgegen.
Vielen Dank! Tony
.
#40
Access Programmierung / Re: Filter nach Wert in Zahlen...
Letzter Beitrag von Knobbi38 - Januar 22, 2026, 00:08:50
Hallo Tony,

Zitat von: TonyMotion am Januar 21, 2026, 19:00:37Mir ist aber nicht klar, welche Funktion KomID in tblKommentar hat.
Es ist ja ein Autowert.
KomID ist eine eindeutige ID und der PrimaryKey für die tblKommentar. Darüber können die Kommentare eindeutig identifiziert werden. So etwas ist eigentlich Standard. Die Beziehung ist eine 1:n Beziehung mit der Tabelle tblTitel. Eine Tabelle mit Felder wie KomFK<Index>, also mit einem Index, widersprechen der normalisierten Form einer Tabelle und das ist eine Form, wie man das auflösen kann. Ein anderen Möglichkeit wäre eine n:m Beziehung, die ich aber hier nicht für notwendig halte. So etwas würde ich eher bei den Interpreten erwarten, da ein Titel mehrere Interpreten haben kann und ein Interpret auch für mehr als einen Titel in Betracht kommen kann.

Zitat von: TonyMotion am Januar 21, 2026, 19:00:37Wäre nett, wenn Du mir zeigen und/oder erklären könntest,
wie ein "richtiges" Datenmodell gestaltet werden muss.
Das kann ein Forum leider nicht leisten, da eine didaktische Heranführung an das Thema hier nicht möglich ist.
Zum Einstieg solltest du besser entsprechende Literatur zum Thema Datenbankmodellierung heranziehen, z. B.
Keine Angst  vor  Microsoft Access! von A.Stern

Knobbi38