Vraag : De knoopcode van het einde als de voorwaarde in Module wordt voldaan aan.

Droevig over de titel, was niet zeker hoe te om het te zeggen. Ik heb een module die verifi�ërt een lijst gegevens heeft:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
Public SubCheckTable ()
    Schemerige fIsTableEmpty zoals Van Boole
    Schemerige db als Gegevensbestand
    Schemerige rs als Recordset
    Vastgesteld db = DBEngine (0) (0)
    Reeks rs = db.OpenRecordset („Schroot“, dbOpenTable)
    Als rs.RecordCount = 0 toen
        fIsTableEmpty = Waar
        MsgBox „niets in de lijst, te voeren gelieve rapport Cognos in“
        Op Fout GoTo Error_Handler
    Schemerige fdg als FileDialog, vrtSelectedItem als Variant
    Schemerige strSelectedFile als Koord
    
    Reeks fdg = Application.FileDialog (msoFileDialogFilePicker)
    
    Met fdg
        . Filters.Clear
        . Filters.Add de „Dossiers van Excel“, „*.xls“
        . Filters.Add „Excel 2007“, „*.xlsx“
        .AllowMultiSelect = Vals
        .InitialView = msoFileDialogViewDetails
        Als. Toon = -1 toen
            Voor Elke vrtSelectedItem in .SelectedItems
            strSelectedFile = vrtSelectedItem
        Volgende vrtSelectedItem
        Anders
        Eind als
'Als niet (strSelectedFile) IsEmpty toen
        Als Len ((strSelectedFile) Versiering & "") > 0 toen
        Schemerige StrSQL als Koord
        StrSQL = „Schrapping * van Schroot; “
        DoCmd.SetWarnings Vals
        DoCmd.RunSQL StrSQL
        DoCmd.SetWarnings Waar
        DoCmd.TransferSpreadsheet acImport, Vals Ware acSpreadsheetTypeExcel12, „Schroot“, strSelectedFile,
        Anders
        DoCmd.OpenForm „FileNotSelected“, acNormal, Vals
        Eind als
        
        

        
    Eind met
        Vastgestelde f-d = niets
Exit_Procedure:
     Sub van de uitgang


I roepen het van een vormknoop:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Private SubbtnTotal_Click ()
        CheckTable
        DoCmd.Hourglass Waar
        'Draaien van de de waarschuwingsberichten van de Toegang
        DoCmd.SetWarnings Vals
        DoCmd.OpenQuery „TotalScrapQry“
        DoCmd.Hourglass Vals
        'Zet terug de de waarschuwingsberichten aan van de Toegang
        DoCmd.SetWarnings Waar
        
        
        DoCmd.OpenForm „ByTotalScrap“, acNormal, Vals
Sub van het eind


What die ik heb willen om gebeuren ben als de module vindt dat er geen gegeven is ophouden lopend de knoopcode inzake de vorm. In plaats daarvan, hervat het en blijft de knoopcode beëindigen en terug de vorm openen „ByTotalScrap“. Dat is fijn als de gebruiker een dossier van Excel van binnen de code van de Module selecteert, maar als de gebruikers de Cancel knoop wanneer het selecteren van een dossier klikt van Excel de vorm nog wordt geopend en er geen gegeven is. Hoop die steek houdt. Dank voor om het even welke hulp op this.

Antwoord : De knoopcode van het einde als de voorwaarde in Module wordt voldaan aan.

U kon CheckTable () veranderen in een functie en Waar terugkeren als de lijst gegevens heeft.  Dan klikt uw knoop code zou zijn iets in die aard:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Privé SubbtnTotal_Click ()
      ALS  CheckTable toen
        DoCmd.Hourglass Waar
        'Draaien van de de waarschuwingsberichten van de Toegang
        DoCmd.SetWarnings Vals
        DoCmd.OpenQuery „TotalScrapQry“
        DoCmd.Hourglass Vals
        'Zet terug de de waarschuwingsberichten aan van de Toegang
        DoCmd.SetWarnings Waar
        
        
        DoCmd.OpenForm „ByTotalScrap“, acNormal, Vals
     Eind als
Sub van het eind
Andere oplossingen  
 
programming4us programming4us