Office: Access 2010 - Vba Verschachtelte If Anweisung

Helfe beim Thema Access 2010 - Vba Verschachtelte If Anweisung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Morgen, ich mal wieder mit einem Problem :confused: Es gibt ein Access Makro, das nicht mehr funktioniert und ich versuche rauszufinden... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Manta, 10. Februar 2015.

  1. Manta
    Manta Erfahrener User

    Access 2010 - Vba Verschachtelte If Anweisung


    Guten Morgen,

    ich mal wieder mit einem Problem Access 2010 - Vba Verschachtelte If Anweisung :confused:

    Es gibt ein Access Makro, das nicht mehr funktioniert und ich versuche rauszufinden warum. Explizit geht es um diese If Anweisung.

    Code:
     If bImport = False Then
            MsgBox "Es wurde ein neuer Datenbestand gefunden. Die neuen Daten werden importiert. Dieser Vorgang kann einige Zeit dauern." & vbCrLf & "Aktueller Stand wird in der Statuszeile angezeigt.", vbInformation, "Info"
            
            If getFileTime(getFilePath("txt_seisslager")) <> Nz(DLookup("bdTime", "tblBasisdaten", "bdKey='txt_seisslager'"), DateSerial(1900, 1, 1)) Then Call importSeisslagerTXT
            If getFileTime(getFilePath("xls_gf")) <> Nz(DLookup("bdTime", "tblBasisdaten", "bdKey='xls_gf'"), DateSerial(1900, 1, 1)) Then Call modImportDaten.importWerberegelnGF
            If getFileTime(getFilePath("xls_nf")) <> Nz(DLookup("bdTime", "tblBasisdaten", "bdKey='xls_nf'"), DateSerial(1900, 1, 1)) Then Call modImportDaten.importWerberegelnNF
            Me.Requery
            MsgBox "Import wurde abgeschlossen.", vbInformation, "Info"
        End If
    
    
    Mein Problem dabei ist, das er das Call.. im Then teil nicht ausführt. Jetzt wollte ich ein Else einbauen, um zusehen ob die Bedinung von den If Teilen überhaupt war ist. Und genau da hänge ich. In den oberen Teil springt er rein, aber bei den If teilen stimmt anscheinend die Bedinung nicht.

    Ich wollte jetzt ein Else zu jeder Bedinung einbauen, aber er bezieht dann das Else glaube ich auf den äußeren IF teil, weil er da nicht reinspringt.
    Oder wie kann ich sonst rausfinden, ob meine Bedingungen wahr sind?

    Hoffentlich ist das jetzt einigermaßen verständlich Access 2010 - Vba Verschachtelte If Anweisung :eek:

    Dankeschön!
     
  2. miriki Erfahrener User
    Moinsens!

    Wenn Du ein
    Code:
    IF {bedingung} THEN {anweisung}
    in einer Zeile hälst, brauchst Du kein END IF, kannst es am Ende aber trotzdem auch mit ELSE erweitern:
    Code:
    IF {bedingung} THEN {anweisung} ELSE {anweisung}
    Ich würde aber immer empfehlen, alleine schon aus Gründen der Übersichtlichkeit, aber auch aus Gründen der Erweiterbarkeit, IF .. THEN auf mehrere Zeile aufzutrennen, auch wenn nur eine Anweisung in den Blöcken ist:
    Code:
    IF {bedingung} THEN
        {anweisungsblock}
      ELSE
        {anweisungsblock}
    END IF
    Dein Code wäre dann so in der Art möglich:
    Code:
        If bImport = False Then
        
            MsgBox "Es wurde ein neuer Datenbestand gefunden. Die neuen Daten werden importiert. Dieser Vorgang kann einige Zeit dauern." & vbCrLf & "Aktueller Stand wird in der Statuszeile angezeigt.", vbInformation, "Info"
            
            If getFileTime(getFilePath("txt_seisslager")) <> Nz(DLookup("bdTime", "tblBasisdaten", "bdKey='txt_seisslager'"), DateSerial(1900, 1, 1)) Then
                Call importSeisslagerTXT
              Else
                MsgBox "1 nicht"
            End If
            If getFileTime(getFilePath("xls_gf")) <> Nz(DLookup("bdTime", "tblBasisdaten", "bdKey='xls_gf'"), DateSerial(1900, 1, 1)) Then
                Call modImportDaten.importWerberegelnGF
              Else
                MsgBox "2 nicht"
            End If
            If getFileTime(getFilePath("xls_nf")) <> Nz(DLookup("bdTime", "tblBasisdaten", "bdKey='xls_nf'"), DateSerial(1900, 1, 1)) Then
                Call modImportDaten.importWerberegelnNF
              Else
                MsgBox "3 nicht"
            End If
            
            Me.Requery
            MsgBox "Import wurde abgeschlossen.", vbInformation, "Info"
        
        End If
    Gruß, Michael
     
  3. Manta
    Manta Erfahrener User
    Vielen Dank, das hat mir sehr weitergeholfen :D

    jetzt weiß ich wenigstens schonmal, das er nicht in den Then teil geht, sonder zum Else und kann mit Lösungfinden weitermachen.
     
Thema:

Access 2010 - Vba Verschachtelte If Anweisung

Die Seite wird geladen...
  1. Access 2010 - Vba Verschachtelte If Anweisung - Similar Threads - Access 2010 Vba

  2. Abfrage mit den jüngsten Einträgen erstellen

    in Microsoft Access Hilfe
    Abfrage mit den jüngsten Einträgen erstellen: Hallo liebe Experten, ich bastel gerade an einer Access-Datenbank für die Besuche meiner Klienten. Aus meiner Tabelle "KlientenT" und einer weiteren Tabelle mit "BesucheT" möchte ich eine Abfrage...
  3. Access to SQL Server

    in Microsoft Access Hilfe
    Access to SQL Server: Hallo, ich bin aktuell mit der Aufgabe beschäftigt eine Access Datenbank in SQL zu migrieren. Soweit so gut. Da es aber eine Übergangszeit geben wird, wird ein Nächtlicher Datenbankabgleich...
  4. Acces FrontEnd und MS SQL-Server als BackEnd

    in Microsoft Access Hilfe
    Acces FrontEnd und MS SQL-Server als BackEnd: Hallo zusammen, möchte MS access 2010 als FrontEnd und MS SQL-Server als Backend verwenden. Die Backend Tabellen sind bereits auf dem Server. Mit welchem VBA-Code sollte ich nun die MS...
  5. Unter Access 2010 per VBA die akt. Datenbank kompr. u. rep.

    in Microsoft Access Hilfe
    Unter Access 2010 per VBA die akt. Datenbank kompr. u. rep.: Hallo Leute, ich habe hier ein Problem: Ich setze seit ein paar Tagen MS-Access 2010 ein (und kann auch nicht zurück, leider leider ...). Nun möchte ich aus dem VBA-Programmcode zwei Befehle...
  6. Access 2010 Web-Datenbanken – Roadmap

    in Microsoft Access Tutorials
    Access 2010 Web-Datenbanken – Roadmap: Access 2010 Web-Datenbanken – Roadmap Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Mehr... Weniger...
  7. Prozedur beim öffnen eines Formulars ausführen

    in Microsoft Access Hilfe
    Prozedur beim öffnen eines Formulars ausführen: Hallo, ich habe eine Frage. In Access 2010 habe ich ein Formular erstellt. Jetzt möchte ich eine Prozedur beim öffnen des Formulars ausführen, ohne das ein Button gedrückt werden muss. Wie...
  8. Mitarbeiterabrechnung mit Zuschlag -Access 2010

    in Microsoft Access Hilfe
    Mitarbeiterabrechnung mit Zuschlag -Access 2010: hallo, ich habe versucht eine Mitarbeiterabrechnung mit Zuschlagsberechnung durchzuführen. Dafür benötige ich die aktuellen Daten aus dem Bericht(gruppiert MitarbeiterNR) und Aus der Tabelle...
  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