Office: Variable in verschiedenen Sub's anwenden

Helfe beim Thema Variable in verschiedenen Sub's anwenden in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich brauche wieder einmal Eure Erfahrung: Ich habe im Listing einer Form die Variable Public varFBVoucherID as Long angelegt. In dem... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Anna Karl, 17. Juli 2025.

  1. Variable in verschiedenen Sub's anwenden


    Hallo, ich brauche wieder einmal Eure Erfahrung:
    Ich habe im Listing einer Form die Variable Public varFBVoucherID as Long angelegt.
    In dem Listboxereignis CLICK übergebe ich Den Wert einer Spalte an diese Variable
    Mit MsgBox varFBVoucherID wird wird mir der Spaltenwert angezeigt.

    In dem Schaltflächenereignis CLICK möchte ich einen Bericht mit der Variable als Filter aufrufen
    DoCmd.OpenReport "rptFBVoucher", acViewReport, , wherecondition:="FB_ID=" & vFBVoucherID

    Der Bericht wird nicht geöffnet, da in der Variable der Wert "verloren gegangen", also nichts ist!
    Das Eigenartige ist, dass es vor einer Änderung in einem Bezeichnungsfeld den Text um ein Wort geändert habe noch funktioniert hat. Und diese Änderung hat ja keine Verbindung mit der Variable.
    Kennt wer von Euch diese Reaktion?
    Liebe Grüße Anna
     
    Anna Karl, 17. Juli 2025
    #1
  2. bbfromgb Neuer User
    in Deiner Where-Condition rufst Du die Variable 'vFBVoucherID' auf, sonst heißt die Variable 'varFBVoucherID'?
     
    bbfromgb, 18. Juli 2025
    #2
  3. Doming
    Doming Erfahrener User
    Hallo Anna,

    was passiert denn, wenn Du in die obige Codezeile eine feste ID reinschreibst, also z.B.
    DoCmd.OpenReport "rptFBVoucher", acViewReport, , wherecondition:="FB_ID = 1234"
    Läuft es dann durch?

    Edit: die Frage von bb ist berechtigt, kann es sein, dass Du kein Option Explicit in das Modul gesetzt hast? Dann wären falsche Variablennamen dem Compiler aufgefallen

    Gruß
    Doming
     
    Doming, 18. Juli 2025
    #3
  4. Variable in verschiedenen Sub's anwenden

    Hallo
    vielen Dank für Eure Hilfe.
    Option Explicit hab ich angegeben
    vFBVoucher und varFBVoucher war ein Gedanken-Tippfehler beim Erstellen der Anfrage (im Listing gilt vFBVoucher)
    Eine direkte FB_ID-Übergabe klappt auch nicht.
    Mir ist aber jetzt eines aufgefallen ich habe in der Datensatzquelle eine Abfrage stehen, die ich ja gar nicht bräuchte, wenn ich direkt den DS über die ID aufrufen will - oder?
    Variable in verschiedenen Sub's anwenden upload_2025-7-19_9-47-24.png
    Woher der Eintrag in Filter kommt - weiß ich nicht, es ändert sich auch nicht, wenn ich eine andere ID aus der Liste wähle.

    LG
    Anna
     
    Anna Karl, 19. Juli 2025
    #4
  5. Nachtrag:
    Ich habe die Inhalte der beide Zeilen gelöscht.
    Im Direktfenster wird der Inhalt der Variable angezeigt
    Ich habe statt der Variable direkt aus der Listbox den Spalteninhalt übernommen
    Code:
    DoCmd.OpenReport "rptFBVoucher", acViewReport, , whereCondition:="FB_ID=" & Me.lbFortbildungenValidiert.Column(8)
    
    Ergebnis NICHTS
    Ich habe das Ereignis im Btn gelöscht und neu geschrieben - NICHTS
    Im Klickereignis vom Btn kommt nichts an (msgbox vFBVoucherID) oder msgbox Me.lbFortbildungenValidiert.Column(8) wird nicht aufgerufen
    Erkenntnis: VBA ignoriert die Sub btnDetails_Click() Variable in verschiedenen Sub's anwenden :(Variable in verschiedenen Sub's anwenden :mad:
     
    Anna Karl, 19. Juli 2025
    #5
  6. Doming
    Doming Erfahrener User
    Hallo,
    was steht in Column(8)? Wie viele Felder hast Du in Deiner Listbox?
    Weißt Du, was eine Haltemarke (oder Stoppmarke) ist? Damit kannst Du Dir die Listboxen sparen.
     
    Doming, 19. Juli 2025
    #6
  7. Hallo doming!
    In der Spalte 8 steht die FB_ID
    Wenn ich direkt in der ListBox_Klick per If msgbox(....) = vbYes den Bericht aufrufe und in der Berichtqatenquelle die Abfrage mit FB_ID = Forms!frmStart!lbFortbildungenvalidiert.Column(8) aufrufe funktionierts!
    Ich könnte es ja so lassen, aber ich habe eine andere Aufgabe mit einem Doppelklick in der Listbox programmiert und die funktioniert logischerweise nicht mehr.
    Sobald ich mit Einfachklick in der Listbox die Spalte 8 in eine Variable schreibe (das funktioniert) und miteinem Button den Bericht aufrufen will, klappts nicht. Die Variable ist in dem btnEreignis Klick leer (getestet mit msgbox Variable). Eine Variable in einer Abfrage kann ich ja nur per fctSendvar von Donkarl verwenden.
    Mit der Anwendung einer Haltemarke kenne ich micht nicht aus Wieso kann ich mir eine Listbox sparen?
    Mir ist das ein Rätsel - es hat ja bereits geklappt. Bei der neuen Version wollte ich einen Anwenderwunsch im Bericht bezüglich eines Bezeichnungsfeldes hinzufügen, jetzt geht nichts mehr. UND DAS ist mir schleierhaft!?

    Danke für Deine Unterstützung!!
    Anna
     
    Anna Karl, 20. Juli 2025
    #7
  8. Doming
    Doming Erfahrener User

    Variable in verschiedenen Sub's anwenden

    oh, sorry, da war ich wohl mit den Gedanken woanders... die Messageboxen kannst Du Dir sparen

    Haltemarke meint:
    Variable in verschiedenen Sub's anwenden upload_2025-7-20_18-26-59.png

    Du klickst neben dem Aufruf auf den grauen Rahmen und bekommst so einen Punkt. Ein weiteres Draufklicken löscht ihn wieder. Wenn Du jetzt die Prozedur aufrufst, stoppt der Code an der Stelle und Du kannst, in dem Du mit der Maus auf die Variable gehst, deren Status abfragen.
    Weiterhin kannst Du dann mit F8 den Code zeilenweise weiterlaufen lassen, dann weißt Du, was nach jeder Zeile mit den Variablen passiert. Alternativ kannst Du mit F5 den Code wieder bis zum Schluss laufen lassen.

    Achja, die Haltemarke bleibt bestehen, bis Du sie wieder entfernst.

    Edit: Wenn der Code gestoppt ist, kannst Du die Variablen auch im Direktfenster abfragen, mit ?Variablenname
     
    Doming, 20. Juli 2025
    #8
  9. Hallo Doming, danke für den Tipp. Da erspare ich mir zur Überprüfung von Variablen eine Menge Tastenklopperei. Hab bis dato mit einem Haltepunkt nicht viel anfangen können.
     
    Anna Karl, 21. Juli 2025
    #9
  10. Doming
    Doming Erfahrener User
    Moin,

    hast Du die Prozedur durch Doppelklick auf das Ereignis erstellt oder vielleicht händisch? Ich hatte es schon einige Male, dass ich bei mehreren Buttons einfach das Ereignis der Buttons kopiert und die Namen dann manuell geändert habe. Häufig stand dann beim Ereignis „Beim Klicken” nichts. Erst nach Korrektur wurde der Code dann angesprochen.
    Variable in verschiedenen Sub's anwenden upload_2025-7-22_6-11-33.png
    Gruß
    Doming
     
    Doming, 22. Juli 2025
    #10
  11. Hallo Domnig,
    ich habe sogar einen neuen Btn mit neuem Namen und neuer Erstellung des Listings probiert. Das Ereignis werden nicht ausgeführt. Dann habe ich ein Bezeichnungsfeld (BzF) eingefügt und ins Klickereignis des BzF das Listing aus dem Btnereignis kopiert und es funktioniert!! Variable in verschiedenen Sub's anwenden :confused:
    Füge ich in dem Projekt in einer anderen Form eine Btn hinzu funktionieren die Ereignisse, nur bei der einen Form ist es nicht möglich. Ich nehms zur Kenntnis Variable in verschiedenen Sub's anwenden :rolleyes:, und lasse das BzF als Link erscheinen - wichtig ist es funktioniert der Aufruf des Vouchers.
    LG Anna
     
    Anna Karl, 23. Juli 2025
    #11
  12. Doming
    Doming Erfahrener User
    ...eigenartige Dinge geschehen...
     
    Doming, 23. Juli 2025
    #12
Thema:

Variable in verschiedenen Sub's anwenden

Die Seite wird geladen...
  1. Variable in verschiedenen Sub's anwenden - Similar Threads - Variable verschiedenen Sub's

  2. Übergabe von Variablen

    in Microsoft Access Hilfe
    Übergabe von Variablen: Hallo folgende Probleme habe ich: Ich habe eine Access Datenbankmit verschiedenen Tabellen. In einer Tabelle Systemvariablen sind mehrere Felder mit Werte. z.B. Gebühr, Zuschlag, Pfad, u.a. Diese...
  3. Combobox einbinden

    in Microsoft Excel Hilfe
    Combobox einbinden: Hallo, ich bastele an einer Funktion, bei der ich an einer Stelle im Programm eine Combobox aufrufen möchte, die dann mit bestimmten Werten aus einer Tabelle gefüllt ist und dann den gewählten...
  4. VBA:Laufzeitfehler beim Einlesen in Variable

    in Microsoft Excel Hilfe
    VBA:Laufzeitfehler beim Einlesen in Variable: Hallo Excel Freaks, ich habe eine Frage, ein Problem wo ich nicht mehr weiter weis.... In eine Exceldatei kopiere ich mir über Makro auf ein Tabellenblatt von anderen Exceldateien das...
  5. Variable Abfrage auf verschiedene Tabellenblätter

    in Microsoft Excel Hilfe
    Variable Abfrage auf verschiedene Tabellenblätter: Hallo zusammen, bitte um Hilfe bei folgendem Problem: Ausgangssituation: Tabelle "Artikel" mit allgemeinen Stammdaten, darunter je eine Spalte "Artikelnummer" und "Sachmerkmalnummer" Tabellen...
  6. Hyperlink zu verschiedenen Arbeitsblättern mit Name als Variable

    in Microsoft Excel Hilfe
    Hyperlink zu verschiedenen Arbeitsblättern mit Name als Variable: Hallo Forum, leider stehe ich voll auf dem Schlauch und benötige eure Hilfe. Wie kann ich per vba für jede Zelle eine Hyperlink zum gleichnamigen Arbeitsblatt erzeugen. Hier mein Versuch! Code:...
  7. Verschiedene Variablen für verschiedene Front Ends

    in Microsoft Access Hilfe
    Verschiedene Variablen für verschiedene Front Ends: Hi, ich habe für verschiedene Standorte ein eigenes Frontend. Einzig und allein die in VBA genutzen Pfade für das öffnen/speichern von importen/exporten sollen sich unterscheiden. Diese habe ich...
  8. Variable Verweise in verschiedene Arbeitsmappen

    in Microsoft Excel Hilfe
    Variable Verweise in verschiedene Arbeitsmappen: Moin, ich habe eine Reihe von Arbeitsmappen mit gleichem Aufbau. In einer Zusammenfassung möchte ich nun die Dateinamen dynamisch aus vorhandenen Zellen zusammensetzen und hiermit dann die...
  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