Office: (Office 2010) Nach Abfrage selektierte Datensätze für weitere Abfrage deaktivieren

Helfe beim Thema Nach Abfrage selektierte Datensätze für weitere Abfrage deaktivieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo! Wenn man das Beispiel von Eberhard noch auf eine (vielleicht doch eher theoretische) Möglichkeit, dass 2 Anwender zur gleichen Zeit einen... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von mgoffice-soleil, 21. April 2016.

  1. Nach Abfrage selektierte Datensätze für weitere Abfrage deaktivieren


    Hallo!

    Wenn man das Beispiel von Eberhard noch auf eine (vielleicht doch eher theoretische) Möglichkeit, dass 2 Anwender zur gleichen Zeit einen Export starten, absichern will, könnte man eine Tabelle mit einer ExportID verwenden.

    Tabelle "ExportProtokoll"
    - idExport (autowert, PK)
    - ExportZeitpunkt datetime
    - User ...
    - ...

    1. Export-ID anfordern
    in VBA (Luftcode!)
    Code:
    2. Daten mit Export-ID kennzeichen
    (Code wie in #15 gezeigt .. nur Datum gegen ExportID tauschen)

    3. Die mit der ExportID markierten Daten exportieren
    (Code wie in #15 gezeigt .. nur Datum gegen ExportID tauschen)


    Mit der ExportID sollte eine auch in einer Mehrbenutzer-Umgebung eindeutige Unterscheidung möglich sein.

    Eine ebenso brauchbare Alternative zur Hilfstabelle mit einem Autowert wäre der Einsatz von GUID-Werten, die direkt im Client erstellt werden können.
    Die Export-Tabelle liefert aber nebenbei die Möglichkeit, den Export zu dokumentieren.

    mfg
    Josef
     
    Josef P., 25. April 2016
    #16
  2. Hi Eberhard, unter normale Abfrage habe ich bis jetzt immer das angehängte Bild verstanden. (siehe normale_abfrage.jpg).

    Deinen VBA Code habe ich verstanden. Durch dein Script wird sozusagen, die Aktualisierungsabfrage und das Selektieren der markierten Datensätze in einem Vorgang durchgezogen. Ich habe dazu aber noch eine Frage/Denkfehler. Schau dir dazu bitte die angehängte Datei (komplette_Tabelle.jpg) an. So sieht meine Beispieltabelle/Datenbank aus. Beim Ausführen deines Codes würde doch die Spalte Exportzeitpunkt komplett mit dem Datum befüllt. Richtig?

    Wie muss der Code aber verändert werden, damit beim Ausführen des Codes zunächst nach Wert1 gefragt wird (hier z. B. nach 80011502) und dann das Datum in der Spalte Exportzeitpunkt nur in den Zeilen eingefügt wird, in denen in der Spalte Wert1 (z. B. 80011502) eingetragen wurde. Diese Datensätze (also mit dem soeben erstelleten Exportzeitpunktdatum) sollen dann anschließend in eine Exceltabelle übertragen werden.

    Hoffe habe das jetzt nicht zu umständlich ausgedrückt.

    @josef:

    Den GUID Wert habe ich meiner Tabelle auch eingefügt. So viel ich weiß, wird durch den GUID Wert ein Datensatz eindeutig gekennzeichnet, also genauer als der Primärschlüssel. Richtig?
     
    mgoffice-soleil, 26. April 2016
    #17
  3. Ein Feld kann nur als Primärschlüssel für eine Tabelle dienen und verwendet werden, wenn die Inhalte eindeutig sind. Das können fortlaufende Zahlen, beliebige Ausdrücke und eben auch GUID's sein.
    Der Zustand einer Eindeutigkeit ist nur als ja oder nein zu definieren, eine Genauigkeit spielt da keine Rolle.

    Da aber über einen Schlüssel laufend Vergleiche ausgeführt werden, ist es für die Performance dabei durchaus relevant, ob da Long-Zahlen vorliegen (4 Byte Bedarf pro Wert) oder ein Datum (8 Byte) oder ein String (2 Byte pro Zeichen + 10 Byte für die Verwaltung des Ganzen). Weil Menge Arbeit macht, ist der Vergleich von 4 Byte schneller erledigt als z.B. von durchschnittlich 30 Byte.

    Nach dem Bild: Richtig. Genau werden aber nur die Datensätze aktualisiert, wo das Feld Exportzeitpunkt leer ist. Das wären also die neuen, noch nicht erfassten Datensätze.
    Diesen Filter kann man natürlich erweitern, z.B. um die Vorgabe für Werte in zusätzlichen Feldern:
    Code:
    Da es verschiedene Varianten gibt, sollte die entstehende Exceltabelle genauer beschrieben werden, um einen passenden Weg zu formulieren.
    Beispielsweise kann man auch Inhalte einer Auswahlabfrage exportieren und braucht da keine zusätzliche Tabelle zum Anfügen oder aus einer Tabellenerstellungsabfrage heraus - was zu bevorzugen wäre, weil man keinen temporären Mülle erzeugt.
     
  4. Nach Abfrage selektierte Datensätze für weitere Abfrage deaktivieren

    Hi Eberhard,

    kannst du dir die angehängte Fehlermeldung anschauen. Weiss momentan nicht, wo der Fehler im Code/ oder meiner Access Datei liegt.
     
    mgoffice-soleil, 27. April 2016
    #19
  5. An Deiner Stelle würde ich darauf schauen, womit genau der Fehler erzeugt wird.
    1.1 hast Du jedenfalls nicht obigen Vorschlag umgesetzt.
     
  6. Hallo,

    ich habe deinen Code testweise in meine Datenbank eingefügt und entsprechend die Tabelle in "Testen" umbenannt und das Format geändert.

    Dein Code muss doch wie in Excel als Modul eingefügt werden. Habe dann die Tabelle Testen geöffnet und deinen Code gestartet.

    Bekomme nun die angehängte Fehlermeldung.

    Bitte um Hilfe.
     
    mgoffice-soleil, 28. April 2016
    #21
  7. Sorry ich muss das Thema nochmals pushen, weil ich den Fehlet nicht erkenne. Den Code habe ich verstanden, bekomme dennoch immer Fehlermeldung.
    Bitte um Hilfe.
     
    mgoffice-soleil, 30. April 2016
    #22
  8. Nach Abfrage selektierte Datensätze für weitere Abfrage deaktivieren

    Ein Bild einer Fehlermeldung, das sich zumal in meinen Fall als fehlerhaft und nicht anzeigbar zeigt, beschreibt wohl nicht, was GENAU Du MACHST.
     
  9. Hallo,

    anbei nun die Testdatenbank inklusive des Fehlers als Snapshot. Funktioniert bei mir nicht. Oder ist Flüchtigkeitsfehler, den ich über übersehe. Über den Play Button des Editor starte ich und erhalte die angehängte Fehlermeldung.

    Könnt ihr das bitte mal checken?
     
    mgoffice-soleil, 10. Mai 2016
    #24
  10. Code:
     
    ebs17, 11. Mai 2016
    #25
  11. Ich streiche auch noch etwas mit.*Smilie
    Code:
     
    Nouba, 11. Mai 2016
    #26
  12. Hallo!

    @nouba:
    Bei Verwendung von Now() im SQL musst du dann aber sicherstellen, dass das Update so schnell läuft, dass das Now() in der 2. Anweisung gleich ist.
    Ich würde diese "Ausstreichung" wieder rückgängig machen. *wink.gif*


    Ansonsten:
    Eventuell wäre eine Transaktion um die Ausführung beider SQL-Anweisungen überlegenswert.

    mfg
    Josef
     
    Josef P., 11. Mai 2016
    #27
  13. Nach Abfrage selektierte Datensätze für weitere Abfrage deaktivieren

    \@Josef,

    hast Recht - bei ungünstiger Konstellation kann das schief gehen.
     
    Nouba, 11. Mai 2016
    #28
  14. Hallo,

    habe es jetzt so wie Eberhard im Beitrag vom 11.05.2016 12:50 gemacht hat und das funktioniert!

    Jetzt habe ich noch eine Frage, was im Gegensatz zu Excel VBA noch anders erscheint.

    Wenn ich beispielsweise den genannten VBA Code ausführen möchte ohne Start des VBA Editor / Drücken des Play Buttons.

    Habe versucht in Access ein Makro (Ausführen Code) zu erstellen. Aber Access fragt dann beim Ausführen nach dem Funktionsnamen.

    ABer es handelt sich doch hierbei um eine SUB Prozedur. Wenn ich nun unter FUnktionname den Namen der SUB also "MachEs" eingeben und ausführe. Dann gibt Access eine Fehlermeldung aus. Kann Namen nicht finden.

    ALso kurzgefragt: Was muss in Access eingestellt werden, damit er den VBA Code per Makro ausführt?
     
    mgoffice-soleil, 12. Mai 2016
    #29
  15. Zum Ausführen eines Codes braucht man ein Ereignis.

    In Access verwendet man typischerweise Formulare zur Programmsteuerung. Ein Export wie im Thread ist i.d.R. eine Aktion, die ein Nutzer gezielt veranlassen will, dabei vorher sicher auch Parameter auswählen will.


    Daher wäre hier eine Schaltfläche geeignet, die mit Klick das benötigte Ereignis liefert. In dessen Ereignisprozedur kann man die gezeigte Sub aufrufen bzw. den Code der Sub unmittelbar übernehmen.
     
    ebs17, 13. Mai 2016
    #30
Thema:

Nach Abfrage selektierte Datensätze für weitere Abfrage deaktivieren

Die Seite wird geladen...
  1. Nach Abfrage selektierte Datensätze für weitere Abfrage deaktivieren - Similar Threads - Abfrage selektierte Datensätze

  2. Abfrage: Anzahl von Kriterium >0

    in Microsoft Access Hilfe
    Abfrage: Anzahl von Kriterium >0: Hallo, [ATTACH] Ich versuche gerade, die Anzahl der belegten Plätze auf einem LKW per Abfrage zu ermitteln. Dabei wäre dann FSPal > 0. Leider zeigt er mir die Anzahl der Plätze an. [ATTACH]...
  3. Teil des Zellinhaltes abfragen in VBA

    in Microsoft Excel Hilfe
    Teil des Zellinhaltes abfragen in VBA: Guten Tag, ich möchte in Zelle E1 den linken 4-stelligen Teil in Zelle A3 abfragen. Habs versucht mit IF (LEFT(R[2]C[-3],4) = "8396") then ... Else ... End If Wer kann...
  4. Verliert irgendwann die Selektive Abfrage von UFO

    in Microsoft Access Hilfe
    Verliert irgendwann die Selektive Abfrage von UFO: Guten Tag Ich habe ein HF mit darin befindlichem UF. Die Abfrage der Teilnehmer im Uf bezieht sich immer auf den Kurs-Typ im HF Solang ich das Formular neu erstelle, funktioniert das...
  5. automatische Abfrage URL via Artikelnummer

    in Microsoft Access Hilfe
    automatische Abfrage URL via Artikelnummer: Guten Tag Bei der Aktualisierung der Homepage und aufgrund eines Plugin-Wechsels des Üebersetzungstools hat wordpress alle Permalinks der Produkte verändert. Unserem Webmaster war nicht bekannt,...
  6. Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern

    in Microsoft Access Hilfe
    Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern: Hallo Community, ich habe folgendes Problem beim Nutzen einer Access-Datenbank. Zunächst die Datenstruktur: [ATTACH] Dies sind die Tabellen meiner Datenbank. In der Tabelle "Adressliste"...
  7. mit String aus Formular Übereinstimmung in Abfrage prüfen

    in Microsoft Access Hilfe
    mit String aus Formular Übereinstimmung in Abfrage prüfen: Hallo liebe Mitglieder Ich verzweifle wieder einmal fast und wende mich an Euch. Ich möchte gern aus einem Formular heraus (Click) prüfen, ob übereinstimmende Datensätze in einer Abfrage vorhanden...
  8. RowSource aus Abfrage mit Kriterien

    in Microsoft Access Hilfe
    RowSource aus Abfrage mit Kriterien: Hallo, ich bin dabei eine Bundesliga-Datenbank zu erstellen, in der es auch eine Menge Statistiken geben soll. Ich will z.B. in einem Listenfeld die Namen der Schiedsrichter und deren Einsätze...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden