| |
VB & DatenbankenVerknüpfungen / Beziehungen per VBA bzw. Makro setzten | | | Autor: vba_noob | Datum: 14.08.15 12:01 |
| Hallo ihr Lieben!
Ich hab da eine Abfrage die mir 5 Parameter zueinander filtert.
Kunde /-/ Projekt /-/ Typ /-/ Art.Nr. /-/ Ausführung
Als Grundlage für hab ich eine RIESIGE Datenbank in der für jeden einzelenen Artikel in jedem Projekt ein Datensatz existiert, ich hab eine Tabelle (Zusammenfürhung) mithilfe einer Erstellungsabfrage gemacht, die eben nur diese Informationen drinnen haben (Kunde, Projekt,....). Außerdem Hab ich jeweils eine Abfrage für die Parameter gemacht, die mir sozusagen eine Liste der Kunden(bzw. Projekt,...) macht. Die Tabelle habe ich mit diesen Abfragen verknüpft (Typ 2 ist glaub ich 1:n)
So weit so gut, ich hab ein Auswahlfeld und einen Filterbutton, wenn ich z.B. einen Kunden anklicke und dann den button, zeigt es mir nur noch die Projekte, Typen, Art.Nr. und Ausführungen an die dieser Kunde auch hat.
Es funktioniert also hervorragend, genau so soll es sein.
Das Problem jetzt, wenn Neue Daten dazu kommen. Es kommt ein neuer Kunde dazu. in der Kundenabfrage ist er gleich drinnen (eh klar) aber in meiner Tabelle (Zusammenführung) natürlich nicht, wenn ich aber meine Erstellungsabfrage ausführe, sind ja die Verknüpfungen mit den Listenabfragen weg... Dann geht das filtern logischwerweise nichtmehr...
Kann ich iwie die Verknüpfungen als Makro bzw. VBA automatisch setzen?
Beitrag wurde zuletzt am 14.08.15 um 12:03:57 editiert. | |
Re: Verknüpfungen / Beziehungen per VBA bzw. Makro setzten | | | Autor: vba_noob | Datum: 18.08.15 10:56 |
| Hab mir da sowas in die Richtung vorgestellt...
Public Function fcBeziehungen()
Dim DB As DAO.Database
Dim newRelK As Ralation
Dim newRelP As Ralation
Dim newRelT As Ralation
Dim newRelA As Ralation
Dim newRelAs As Ralation
Set DB = CurrentDb
Relations.DelateRelations (0)'wie geht das?
DB.Execute "Zusammenführung_Abfrage"
Set newRelK = DB.CreateRelation("ZusammenführungKunde", "Zusammenführung", _
"Kunde")'Wo lege ich den Verknüpfungstyp 1:n fest ???
Set newRelP = DB.CreateRelation("ZusammenführungProjekt", _
"Zusammenführung", "Projekt")
Set newRelT = DB.CreateRelation("ZusammenführungTyp", "Zusammenführung", _
"Typ")
Set newRelA = DB.CreateRelation("ZusammenführungArt", "Zusammenführung", _
"Artikel_Nr")
Set newRelAs = DB.CreateRelation("ZusammenführungAusführung", _
"Zusammenführung", "Ausführung")
Set DB = Nothing
End Function Leider weiß ich aber auch nicht, wie ich die Beziehungen lösche.... | |
Re: Verknüpfungen / Beziehungen per VBA bzw. Makro setzten | | | Autor: vba_noob | Datum: 18.08.15 11:52 |
| Weiß nicht genau wie das ganze funktioniert, aber.... es funktioniert^^
Public Function fcBeziehungen()
Dim DB As DAO.Database
Dim REL As DAO.Relation
Dim newRelK As Relation
Dim newRelP As Relation
Dim newRelT As Relation
Dim newRelA As Relation
Dim newRelAs As Relation
Set DB = CurrentDb
For Each REL In DB.Relations
DB.Relations.Delete REL.Name
Next REL
DoCmd.DeleteObject acTable, "Zusammenführung"
DB.Execute "Zusammenführung_Abfrage"
Set newRelK = DB.CreateRelation("ZusammenführungKunde", "Zusammenführung", _
"Kunde")
Set newRelP = DB.CreateRelation("ZusammenführungProjekt", _
"Zusammenführung", "Projekt")
Set newRelM = DB.CreateRelation("ZusammenführungTyp", "Zusammenführung", _
"Typ")
Set newRelE = DB.CreateRelation("ZusammenführungArt_Nr", "Zusammenführung", _
"Art_Nr")
Set newRelps = DB.CreateRelation("ZusammenführungAusführung", _
"Zusammenführung", "Ausführung")
Set DB = Nothing
End Function | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|