Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe
zurück: SQL - Skript zum Löschen von Feldinhalten weiter: Projekt: Trainingsplan Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
shakespear
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Jul 2009, 21:17
Rufname:

n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe - n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe

Nach oben
       Version: Office 2003

Ich habe kein n:m Problem, sondern ein n:n Problem.
Ich weiß, 2 Tabellen + 1 Verknüpfungstabelle(Primär+Fremdschlüssel)

1.Tabelle: "Arbeiter" [Arbeiter]
2.Tabelle: "Maschine" [Maschine]
3.Tabelle: "Erlaubnis" [Arbeiter] [Maschine] [x]


\/3.Tabelle
z.B.:Schorsch..Drehmaschine1...x
.......Schorsch..Säge..................x
.......Schorsch..Drehmaschine2...o
.......Bauer......Drehmaschine2....x
...
Möglichkeit 1: Es wird für jede Möglichkeit ein Datensatz angelegt und dann mittels [x] anklicken gewählt ob der Arbeiter die Maschine benutzen darf
Möglichkeit 2: Wenn der Arbeiter die Maschine nicht benutzen darf, gibt es keinen Datensatz dazu.

MEINE FRAGE: WIE WÜRDET IHR ein Formular erstellen, bei dem mittels einer Art Kreuztabelle(Matrix) angeklickt wird ob der Arbeiter die Maschine benutzen darf, und somit den Datensatz in der Tabelle [Erlaubnis] zu aktualisieren/hinzuzufügen/löschen ??

>>Keine bloße Ansicht, sondern "bearbeitbare Kreuztabelle"

........................|Schorsch Schuster Bauer|
Drehmaschine1|.....x.............o..........x...|
Drehmaschine2|.....o.............x..........o...|
Fräsmacshine1.|.....o.............x..........x...|
Säge................|.....x.............o..........o...|

Wichtig: Anzahl der Maschinen, Anzahl der Arbeiter sind variabel
>> Ich kann also nicht einfach ne Toolbox-Checkbox-Matrix zeichnen+ VBA machen.

MEIN ANSATZ WÄRE eine dynamische Tabelle im Formular, die beim Laden von der Tabelle3 gespeist wird, und beim Beenden die Tabelle3 mittels VBA aktualisiert wird/ gelöscht und neu geschrieben. Was haltet ihr davon?/Wie füge ich eine dynamische "Matrix/ExcelTabelle" ins Formular ein?(OLE Objekt??)
astern
Datenmodell-Missionar


Verfasst am:
04. Jul 2009, 10:39
Rufname: Andreas
Wohnort: Rastede


AW: n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe - AW: n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe

Nach oben
       Version: Office 2003

Hallo!
Das würde mich auch sehr interessieren! Bin mal gespannt auf Antworten!

A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!
Willi Wipp
Moderator


Verfasst am:
05. Jul 2009, 20:09
Rufname:
Wohnort: Raum Wiesbaden

Re: n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe - Re: n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe

Nach oben
       Version: Office 2003

Hi shakespear,

mein 1. Ansatz waere die Daten entweder Maschienen oder Benutzer abhaengig zuz pflegen.
Im Standardansatz wuerde das ja z.B. ueber ein Unterformular und ein Kombinationsfeld gemacht.
Etwas "Bedienerfreundlicher" koennte etwa der Ansatz aus LieferungenNeu.zip
im Beitrag Re: Formularerstellung mit flexibler Anzahl an Eingabefelder
Ansonsten bliebe noch eine Kreutztabellenabfrage mit entsprechendem Formular.
Hier muesste man dann direkt auf den Klick auf das Steuerelement reagieren und den Rest selbst programmieren.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
shakespear
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. Jul 2009, 00:05
Rufname:

AW: n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe - AW: n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe

Nach oben
       Version: Office 2003

Erst mal danke für die Antwort.
Das zip kann ich öffnen, aber 2 Formulare nicht ausführen wegen Fehlern im VBA Code.
Natürlich kann ich die Eingabe über ein Unterformular mit Wahl der Maschine und Wahl des Arbeiters erstellen, will aber Matrizenform.

Bei der Kreuztabelle kann ich ja nichts eingeben... Und um auszuwerten wo hingeklickt wurde, brauch ich ja sowohl die Position, als auch, ob soviele Datensätze da sind, dass gescrollt wird. Oder kann ich da den Zeilen/Spaltennamen auslesen, wo ich grad bin? >> Dann wärs ne Alternative...

Mein derzeitiger Stand:
Steuerelement OLE-Excel >> mit do while in die Zeilen die Arbeiter, in die Spalten die Maschinen;
Mein derzeitiger VBA Code funktioniert, füttert aber noch nicht mit Variablen.
Also geplant ist >> Einlesen in OLEExcel, am Ende Speichern >> Aktualisieren/Löschen/Hinzufügen vno Datensätzen in ArbeiterMaschine
Code:
Sub Befehl1_Click()
    Dim db As DAO.Database
    Dim Arbeiter As DAO.Recordset
    Dim Maschinen As DAO.Recordset
    Dim z As Integer
    Dim s As Integer
    Dim posleft As Integer
    Dim postop As Integer
    Dim Name As String
    Dim Zellenname As String
   
    Set db = CurrentDb
    Set Arbeiter = db.OpenRecordset("ArbeiterSortup")
    Arbeiter.MoveFirst
    z = 2
    Do Until Arbeiter.EOF
        Forms!Formular1!OLE1.Object.ActiveSheet.Cells(z, 1).Value = _
                                                                 Arbeiter!Name
        z = z + 1
        Arbeiter.MoveNext
    Loop
    Set Maschinen = db.OpenRecordset("MaschinenSortup")
    Maschinen.MoveFirst
    s = 2
    Do Until Maschinen.EOF
        Forms!Formular1!OLE1.Object.ActiveSheet.Cells(1, s).Value = _
                                                            Maschinen!Maschine
        s = s + 1
        Maschinen.MoveNext
    Loop
    Set Tabelle = Forms![Formular1]!OLE1.Object.ActiveSheet
    s = 2
    Do Until Tabelle.Cells(1, s).Value = ""
        z = 2
        Do Until Tabelle.Cells(z, 1).Value = ""
            Set AktiveZelle = Tabelle.Cells(z, s)
            posleft = AktiveZelle.Left
            postop = AktiveZelle.Top
            Name = "Checkbox" & z & s
            Zellenname = AktiveZelle.Address(False, False)
            Tabelle.OLEObjects.Add ClassType:="Forms.Checkbox.1", _
                                   Link:=False, DisplayAsIcon:=False, _
                                   Left:=posleft, Top:=postop, Width:=10, _
                                   Height:=10
            Tabelle.OLEObjects("CheckBox1").Name = Name
            Tabelle.OLEObjects(Name).LinkedCell = Zellenname
            z = z + 1
        Loop
        s = s + 1
    Loop
End Sub
Ist und bleibt eine Pfuscherlösung, weil keine direkten relationalen Verbindungen bestehen. Also sehr fehleranfällig >> viel Programmierarbeit

Bessere Vorschläge? Kann man die Zeilen und Spalten nicht irgendwie über eine direkte Verknüpfung benennen?
Willi Wipp
Moderator


Verfasst am:
06. Jul 2009, 00:27
Rufname:
Wohnort: Raum Wiesbaden

Re: n:n (m:m) Beziehung - dynamische Matrix zur... (II) - Re: n:n (m:m) Beziehung - dynamische Matrix zur... (II)

Nach oben
       Version: Office 2003

Hi shakespear,

1. bei welchen 2 Formularen hast Du Probleme? Sicher nicht bei denen mit frm am Anfang, oder?
Die sind das Beispiel! Die anderen waren ja nur die "Vorlage"!
2. wieso sollte es nicht moeglich sein bei einem Formular das auf einer Kreuztabellenabfrage basiert
zu ermitteln welche "Zeile" gewaehlt wurde?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Gast



Verfasst am:
06. Jul 2009, 17:45
Rufname:


AW: n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe - AW: n:n (m:m) Beziehung - dynamische Matrix zur Dateneingabe

Nach oben
       Version: Office 2003

Herzlichen Dank für die Antworten, habs nun schnell so gelöst, ist aber ein ganz cooles allround programm geworden. Zwar nicht volldynamisch, aber doch ganz lässig.

Habs gelöst =), Ist n lässiges Allroundprogramm geworden.
Der Quelltext wird nicht gepostet, da es ein Firmenprojekt ist, aber ich denke man kann sich aus der Beschreibung das übrige rauslesen, wer sich damit beschäftigen will. Bei Fragen, Postit.

Möglichkeit 1: Kreuztabelle mit Auslesen der gewählten Zelle: nicht umgesetzt
Möglichkeit 2: OLE-Excel Tabelle: Umgesetzt.
Vorteil: Es stehen bei der Bearbeitung ALLE Excel Funktionen, wie kopieren,... zur Verfügung, im Gegensatz zur Kreuztabelle, wo ich nur die Position auswerten kann. Somit ist das System auch für Werte, und nicht nur für Ja/Nein gedacht.


Tabelle Tb1,Tb2
Tabelle Tb1-2 mit Primärschlüssel über die 2 Fremdschlüssel!!!! >> zeichnet eine n:n Verbindung aus.

Funktion: Buttons: Laden, Speichern; Kombobox: AuswahlTb1, Auswahl Tb2
Textbox: Verknüpfungstabelle Tb1-2

LADEN:
Die Werte aus Tb1 (Tb1.Fields(Tb1.Fields(AuswahlTb1).Name).Value
in Spalten
Die Werte aus Tb2
in Zeilen schreiben

>> Tb1-2.MoveFirst
Tb1-2.Fields(Tb1-2.Fields(0).Name).Value ist Zeile
Tb1-2.Fields(Tb1-2.Fields(2).Name).Value ist Spalte
Tb1-2.Fields(Tb1-2.Fields(3).Name).Value ist Wert
>> Zelle suchen in Excel >> Wert reinschreiben.
Finito.

SPEICHERN:
Zellen durchlaufen, solange Zeilen/Spaltenüberschrift besteht
in Tabelle 1-2 nach Zeilenname-Spaltenname Suchen,
Wenn gefunden, Wert aktualisieren
Wenn nicht, Hinzufügen.
Finito

Durch das System wird sofort eine Fehlermeldung angezeigt, wenn Der entsprechende Spaltenname/Zeilenname/Tabelle nicht existiert. Ich kann mit dem Programm nun Alle n:n Beziehung mit jeglicher Excelfunktion bearbeiten.
Zusätzlich werden alle Spalten/Zeilenüberschriften gesperrt, und nur der Arbeitsbereich freigegeben.
MFG
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: M:N 22 Hoffi3d 1412 08. Feb 2007, 21:35
hoffi3d M:N
Keine neuen Beiträge Access Tabellen & Abfragen: n:m -> Formular zum Auswaehlen 2 Blablub 595 06. Feb 2007, 10:05
Blablub n:m -> Formular zum Auswaehlen
Keine neuen Beiträge Access Tabellen & Abfragen: Beziehung mit verknüpfter Tabelle funktioniert nicht 4 Thom@s 680 09. Dez 2006, 16:15
Thom@s Beziehung mit verknüpfter Tabelle funktioniert nicht
Keine neuen Beiträge Access Tabellen & Abfragen: Beziehung mit einem zusammengesetzten Primärschlüssel 1 Ata 1214 04. Dez 2006, 09:54
rita2008 Beziehung mit einem zusammengesetzten Primärschlüssel
Keine neuen Beiträge Access Tabellen & Abfragen: Beziehung wird nicht richtig übernommen 2 Twister-3101 791 11. Sep 2006, 11:27
jens05 Beziehung wird nicht richtig übernommen
Keine neuen Beiträge Access Tabellen & Abfragen: m:n Beziehung 2 BlackNeo 1002 17. Aug 2006, 17:47
BlackNeo m:n Beziehung
Keine neuen Beiträge Access Tabellen & Abfragen: Dynamische INSERTS auf basis von einer Tabelle 5 ToxSox 698 04. Aug 2006, 16:54
rita2008 Dynamische INSERTS auf basis von einer Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Dynamische Abfrage auf Basis einer Matrix?? 0 blicki 2205 11. Feb 2006, 16:13
blicki Dynamische Abfrage auf Basis einer Matrix??
Keine neuen Beiträge Access Tabellen & Abfragen: Schreibschutz bei mehreren 1:n verknüpfungen 2 matze0815 810 23. Okt 2005, 21:25
matze0815 Schreibschutz bei mehreren 1:n verknüpfungen
Keine neuen Beiträge Access Tabellen & Abfragen: Dynamische Tabellenerstellung 1 Gast 594 19. Sep 2005, 16:01
lothi Dynamische Tabellenerstellung
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage und n:m Beziehung 3 Saib 596 05. Sep 2005, 12:57
Willi Wipp Abfrage und n:m Beziehung
Keine neuen Beiträge Access Tabellen & Abfragen: Importierte Tabelle mit vielen m:n Beziehungen aufteilen 6 joerg70 1001 12. Aug 2005, 19:23
joerg70 Importierte Tabelle mit vielen m:n Beziehungen aufteilen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps