Ilja: Access, mehrere Datensätze gleichzeitig anzeigen

yo,

ich habe unter anderen zwei tabellen in einer access datenbank. in der einen stehen die systeme drinn und in der zweiten die hardware zu einen system, sprich eine typsiche 1:n beziehung. Beispiel:

System
-----------
Testrechner

Hardware
---------
Monitor NEC Multisync 1770GX
Drucker HP LaserJet 1320
Rechner Vetra VL420

was ich nun erreichen will ist, dass ich in einem formular, welches die jeweiligen systeme anzeigt, auch alle zugehörige hardware-elemente des systems angezeigt bekomme, sprich alle drei hardwarebeispiele des system 'Testrechner'. natürlich kenne ich die genaue anzahl der entsprechenden hardware-elemente nicht, sie ist variabel.

über php und html würde ich das einfach mit einer schleife realisieren. aber in access bin ich doch noch recht wackelig auf den beinen, was solche konstrukte betrifft.

vielen dank schon mal im vorraus.

Ilja

  1. Hallo Ilja,

    ich habe unter anderen zwei tabellen in einer access datenbank.

    welch' ein Abstieg von Oracle. Du bist zu bedauern. *bg*

    in der einen stehen die systeme drinn und in der zweiten die hardware zu einen system, sprich eine typsiche 1:n beziehung. Beispiel:

    was ich nun erreichen will ist, dass ich in einem formular, welches die jeweiligen systeme anzeigt, auch alle zugehörige hardware-elemente des systems angezeigt bekomme,

    Wenn Du gebundene Access-Formulare verwendest, dann könntest Du für die Hardware-Elemente ein Unterformular verwenden.

    Wenn Du Dir eine entsprechende "Auswahlabfrage" zusammengeklickt hast, dann kriegt der Formularassistent das sogar von alleine hin :-)

    Freundliche Grüße

    Vinzenz

    1. yo Vinzenz,

      welch' ein Abstieg von Oracle. Du bist zu bedauern. *bg*

      naja, muss nehmen was da ist... ;-)

      Wenn Du gebundene Access-Formulare verwendest, dann könntest Du für die Hardware-Elemente ein Unterformular verwenden.

      ich habe mich da falsch ausgedrückt. ich will in einen zweiten formular die hardware darstellen. man klickt quasi auf einen button und dann öffnet sich ein zweites formular, in dem alle hardware-elemente des akuellen systems angezeigt werden. geht man dann im system-formular einen datensatz weiter, sollte sich auch gleichzeitig das zweite formular aktuallisieren.

      der grund keine unterformulare zu verwenden ist recht einfach. in dem formular für systeme verwende ich schon zuviele unterformule (4 an der zahl) und ich will es nicht noch weiter überfüllen.

      Ilja

      1. Hallo Ilja,

        ich habe mich da falsch ausgedrückt. ich will in einen zweiten formular die hardware darstellen. man klickt quasi auf einen button und dann öffnet sich ein zweites formular, in dem alle hardware-elemente des akuellen systems angezeigt werden.

        das "Beim Klicken"-Ereignis hast Du doch sicher gefunden. Damit läßt sich leicht ein Formular öffnen.

        geht man dann im system-formular einen datensatz weiter, sollte sich auch gleichzeitig das zweite formular aktuallisieren.

        Kein Problem. Das sollte ähnlich wie bei Unterformularen gehen. Setze in diesem zweiten Formular die Datenherkunft in Abhängigkeit von Deinem steuernden Formular.

        Freundliche Grüße

        Vinzenz

        1. yo,

          das "Beim Klicken"-Ereignis hast Du doch sicher gefunden. Damit läßt sich leicht ein Formular öffnen.

          jau, das ist der einfache part.

          Kein Problem. Das sollte ähnlich wie bei Unterformularen gehen. Setze in diesem zweiten Formular die Datenherkunft in Abhängigkeit von Deinem steuernden Formular.

          hmm, dann bekomme ich aber alle hardware-elemente einzeln dargestellt. ich würde sie aber gerne alle auf einmal sehen. ok, datenblattansicht sollte das erledigen. werde das mal so ausprobieren.

          vielen dank für die hilfe.

          Ilja

          1. Hallo Ilja,

            hmm, dann bekomme ich aber alle hardware-elemente einzeln dargestellt. ich würde sie aber gerne alle auf einmal sehen. ok, datenblattansicht sollte das erledigen. werde das mal so ausprobieren.

            oder ein Endlosformular. Die sehen etwas hübscher aus.

            Freundliche Grüße

            Vinzenz

            1. yo,

              muss nochmal nachfragen. wenn ich das zweite formular an das erste binde, dann aktualisiert sich das zweite von alleine, ohne dass ich es erst per makro oder VB einstellen müßte, wenn ich zum nächsten dansatz im haupformular gehe ?

              und noch eine frage, muss ich mal ausnutzen. nehmen wir an, ich habe eine SQL abfrage mit einem wert als rückgabe, welches ich beim formular darstelle. es ist eine einfache count abrage. wenn ich jetzt einen datensatz weiter gehe, dann aktualisiert sich die abfrage, sprich der wert leider nicht. geht das einfach über ein makro und wie mache ich das am besten ?

              Ilja

              1. Hallo Ilja,

                muss nochmal nachfragen. wenn ich das zweite formular an das erste binde, dann aktualisiert sich das zweite von alleine, ohne dass ich es erst per makro oder VB einstellen müßte, wenn ich zum nächsten dansatz im haupformular gehe ?

                du könntest den Formularassistenten verwenden, um das synchronisierte Formular zu erstellen. Wenn schon Access, dann richtig :-) Die Methode von Hand zu Fuß verwendet das Current-Ereignis des Steuerformulars um das andere Formular zu synchronisieren. Dazu könntest Du z.B. die Requery-Methode des zweiten Formulars aufrufen

                und noch eine frage, muss ich mal ausnutzen. nehmen wir an, ich habe eine SQL abfrage mit einem wert als rückgabe, welches ich beim formular darstelle. es ist eine einfache count abrage. wenn ich jetzt einen datensatz weiter gehe, dann aktualisiert sich die abfrage, sprich der wert leider nicht.

                Verwendet Deine SQL-Abfrage einen im Formular angezeigten Wert? Auch hier könnte Requery weiterhelfen.

                Freundliche Grüße

                Vinzenz

                1. yo,

                  Verwendet Deine SQL-Abfrage einen im Formular angezeigten Wert? Auch hier könnte Requery weiterhelfen.

                  ja, ein wert im formular wird in der sql-query mit eingefügt. noch eine anfänger-frage. werde das mal mit der requery versuchen, vorrausgesetzt, ich finde herraus, wie ich sie aufrufe.....

                  Ilja

                2. yo,

                  du könntest den Formularassistenten verwenden, um das synchronisierte Formular zu erstellen. Wenn schon Access, dann richtig :-) Die Methode von Hand zu Fuß verwendet das Current-Ereignis des Steuerformulars um das andere Formular zu synchronisieren. Dazu könntest Du z.B. die Requery-Methode des zweiten Formulars aufrufen

                  mit dem assistenten habe ich es hinbekommen, hat aber leider ein paar nachteile. zum einen will ich ein vorhandenes formular verwenden. zum anderen würde ich gerne mehr als nur ein syncronisiertes formular per click öffnen. dies gelingt mir aber leider nicht mit dem assitenten. sobald mehr als zwei tabellen dabei sind, bietet er mir die funktion nicht mehr an. was muss ich alles tun, um bestehende formulare per hand zu sycronisieren ?

                  Ilja

                  1. Hallo Ilja,

                    zum einen will ich ein vorhandenes formular verwenden. zum anderen würde ich gerne mehr als nur ein syncronisiertes formular per click öffnen.

                    kann ich verstehen.

                    dies gelingt mir aber leider nicht mit dem assitenten. sobald mehr als zwei tabellen dabei sind, bietet er mir die funktion nicht mehr an. was muss ich alles tun, um bestehende formulare per hand zu sycronisieren ?

                    Erster Schritt:
                    Versuche zu verstehen, wie das Current-Ereignis funktioniert.
                    Erstelle Dir ein einfaches Formular, es reicht wenn ein Eingabefeld drin ist.
                    Öffne dieses Formular von Deinem Steuerformular heraus.
                    Verschaffe Dir Zugriff auf das Formularobjekt.
                    Im Current-Ereignishandler überprüfst Du ob Du auf das Formular zugreifen kannst. Wenn ja, schreibe z.B. die aktuelle id in dieses eine Eingabefeld.

                    Soweit mitgekommen? Teste das aus. Bei Problemen einfach nachfragen.

                    Freundliche Grüße

                    Vinzenz, dessen Access-Zeiten schon ein paar Jahre her sind.