Изменение кода VBA в отчете Access 2016 приводит к тому, что страницы не печатаются

Во-первых, если это дубликат (который я не могу найти), извините.

Я искал более недели для ответа на этот вопрос.

У меня есть база данных Access 2003 с интерфейсом (fe), серверной частью (be) и третьей базой данных, в которой хранятся данные. Я знаю, это кажется странным, но это давняя немецкая база данных Access.

Вот в чем проблема. Из основной формы ввода данных есть кнопка печати, которая вызывает другую форму. Эта вторая форма имеет два текстовых поля с полями начального и конечного номера заказа. Стартовый номер передается из основной формы.

Во второй форме есть еще одна кнопка печати, при нажатии на которую создается и печатается отчет. В отчете и есть проблема. Если я добавлю в отчет ЛЮБОЙ код vba, даже просто сделав метку видимой, отчет ничего не напечатает. Появляется диалоговое окно принтера, как будто он что-то отправляет, но ничего не печатается.

Я пытался отправить в PDF, но ничего. Теперь, если я перейду к коду отчета и закомментирую строку, которая делает метку видимой, отчет будет распечатан нормально. Я работал с БД долгое время, и я никогда не видел ничего подобного, черт возьми, я даже никогда не слышал ничего подобного.

Имейте в виду, что в этом коде много немецкого языка.

    Option Compare Database
Option Explicit

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer) 'Detail Area Format

'On Error GoTo Err_Detailbereich_Format

Dim dbDatenbank As Database
Dim dtPPSDaten, dtEinfassung, dtToleranz As Recordset
Dim sql As String


Dim T                   As Double       'Angepasste Tragstablänge
                                            'Adjusted Bearing Bar rod-length

Dim TA                  As Double       'Anzahl Tragstäbe
                                            'Number of Bearing Bar rods

Dim TA_Anzahl           As String       'Zwischenfeld für Tragstabanzahlberechnung ohne Rundung
                                            'Inter-field for Bearing Bar-number-calculation of curve

Dim FA_Anzahl           As String       'Zwischenfeld für Füllstabanzahlberechnung ohne Rundung
                                            'Inter-field for Cross Bar-number-calculation of curve

Dim Komma               As Byte         'Zwischenfeld zum Filtern der Dezimalzalen
                                            'Inter-field to filtering the decimal zal en

Dim FA                  As Double       'Füllstabanzahl
                                            'Cross Bar-number

Dim TEM                 As Double       'Tragstabendmasche
                                            'Bearing Bar Mesh

Dim FEM                 As Double       'Füllstabendmasche
                                            'Cross Bar Mesh

Dim ZFEM                As Double       'Zusatzwert Füllstabendmasche
                                            'Addition-value Cross Bar Mesh

Dim MEMT                As Double       'Mindestendmasche Tragstab (Toleranz)
                                            'Bearing Bar Mesh Tolerance

Dim MEMF                As Double       'Mindestendmasche Füllstab (Toleranz)
                                            'Cross Bar Mesh Tolerance

Dim Rand1_2             As Double       'Technologischer Abzug Rand1+2 (Toleranz)
                                            'Technological departure edge

Dim Rand3_4             As Double       'Technologischer Abzug Rand3+4 (Toleranz)
                                            'Technological departure edge

Dim Einfassungsdicke    As Single       '(aus Tabelle: Einfassung)
                                            'Banding Thickness

Dim Einfassungsmaterial As String * 35  '(aus Tabelle: Einfassung)
                                            'Banding Material

Dim Toleranz_Füllstab   As Single       '(aus Tabelle: Toleranz)
                                            'Cross Bar Tolerance

Dim Toleranz_Tragstab   As Single       '(aus Tabelle: Toleranz)
                                            'Bearing Bar Tolerance

Dim ProdAuftrag         As Long         '(aus Tabelle: PPS_Daten_IN)

Dim PositionsNr         As String * 3   'Zwischenfeld zum auffüllen der PositionsNr mit Nullen
                                            'Position Number with zeros

Dim Auffüllen           As Long         'Zwischenfeld
Dim Barcode_ProdAuftrag As String * 9   'Zwischenfeld
Dim Artikeltyp          As Byte         'Zwischenfeld
Dim Durchlauf           As Byte         'Zwischenfeld

Dim Inch                As Single
Dim Feet                As Single

Feet = 10.764
Inch = 25.4
ZFEM = 0
Komma = 0
Durchlauf = 1

'Einfassungsbereich sichtbar machen, evtl. durch Mattenfertigung ausgeblendet
' Border-area visible does, evtl. through mat-production faded out

[Report_Fertigungszettel]![Jahreszahl].Visible = True
[Report_Fertigungszettel]![AuftragsNr].Visible = True
[Report_Fertigungszettel]![Kunde].Visible = True
[Report_Fertigungszettel]![txtEinfassung_Einfassung].Visible = True
[Report_Fertigungszettel]![Position].Visible = True
[Report_Fertigungszettel]![Rostbezeichnung].Visible = True
[Report_Fertigungszettel]![Bestellmenge].Visible = True


'********************************************************************
'Unterschiedliche Einblendung zwischen SP- und P-Rosten
[Report_Fertigungszettel]![lbl_ef_lob1].Visible = True
[Report_Fertigungszettel]![lbl_ef_lob2].Visible = True
[Report_Fertigungszettel]![lbl_ef_lob3].Visible = True
[Report_Fertigungszettel]![Einfassungslänge].Visible = True
[Report_Fertigungszettel]![EinfassungslängeTS].Visible = True
[Report_Fertigungszettel]![EinfassungslängeFS].Visible = True
[Report_Fertigungszettel]![Einfassungslänge_Inch].Visible = True
[Report_Fertigungszettel]![EinfassungslängeTS_Inch].Visible = True
[Report_Fertigungszettel]![EinfassungslängeFS_Inch].Visible = True
[Report_Fertigungszettel]![MaterialbezeichnungTS].Visible = True
[Report_Fertigungszettel]![MaterialbezeichnungEF2].Visible = True
[Report_Fertigungszettel]![lbl_ef_quantity1].Visible = True
[Report_Fertigungszettel]![lbl_ef_quantity2].Visible = True
[Report_Fertigungszettel]![lbl_ef_quantity3].Visible = True
[Report_Fertigungszettel]![Einfassungsanzahl].Visible = True
[Report_Fertigungszettel]![EinfassungsanzahlTS].Visible = True
[Report_Fertigungszettel]![EinfassungsanzahlFS].Visible = True
'********************************************************************

Set dbDatenbank = DBEngine.Workspaces(0).Databases(0)

'Technologische Werte aus Tabelle Toleranz übernehmen
' Update Tolerance Information
    sql = "SELECT * FROM Toleranz WHERE Toleranz = " & Toleranz
    Set dtToleranz = dbDatenbank.OpenRecordset(sql)

        MEMT = dtToleranz![Tol_Tragstab_Min_Masche] 'Bearing Bar Mesh

        MEMF = dtToleranz![Tol_Füllstab_Min_Masche] 'Cross Bar Mesh

        Rand1_2 = dtToleranz![Tol_Rand1+2] 'Banding Thickness for sides 1 & 2
        Rand3_4 = dtToleranz![Tol_Rand3+4] 'Banding Thinckness for sides 3 & 4
        Toleranz_Füllstab = dtToleranz![Tol_Füllstab] 'Cross Bar
        Toleranz_Tragstab = dtToleranz![Tol_Tragstab] 'Bearing Bar

    dtToleranz.Close

'Einfassungswerte aus Tabelle Einfassung übernehmen
' Update Banding Information
    sql = "SELECT * FROM Einfassung WHERE Einfassung = " & Einfassung
    Set dtEinfassung = dbDatenbank.OpenRecordset(sql)

        Einfassungsdicke = dtEinfassung![Einf_Dicke] '
        Einfassungsmaterial = dtEinfassung![Einf_Materialbezeichnung]
        txtEinfassung_Einfassung.Value = dtEinfassung![Einf_Bezeichnung]
        txtFüllstab_Einfassung = dtEinfassung![Einf_Bezeichnung]
        txtTragstab_Einfassung = dtEinfassung![Einf_Bezeichnung]

        If Einfassungsdicke = 0 Then
        txt_hide_banding.Visible = True
        txt_hide_banding = "NO BANDING"
        End If

    dtEinfassung.Close

'Unterscheidung Artikeltyp/Rosttyp
' Case statement based on the part type, keyed off of the first digit of the machine part number
    Artikeltyp = Left(Rosttyp, 1)
    Select Case Artikeltyp

    Case "1"

        lblPW1.Visible = False
        lblPW2.Visible = True
        lblPW3.Visible = True


    'Berechnung P-Rost
    ' Calc BB MFG Length
    Tragstablänge = Tragstab - Einfassungsdicke - Einfassungsdicke - Toleranz_Tragstab
    Tragstablänge_Inch = Tragstablänge / Inch

    ' Calc CB MFG Length
    Füllstablänge = Füllstab - Toleranz_Füllstab
    Füllstablänge_Inch = Füllstablänge / Inch


  '  MaterialbezeichnungEF1 = Einfassungsmaterial
    MaterialbezeichnungEF2 = Einfassungsmaterial

    ' Calc CB Banding Length
    EinfassungslängeFS = Füllstab - Rand3_4
    EinfassungslängeFS_Inch = EinfassungslängeFS / Inch

    ' Calc BB Banding Length
    EinfassungslängeTS = Tragstab - Rand1_2
    EinfassungslängeTS_Inch = EinfassungslängeTS / Inch

    ' Calc Total Banding Qty (Qty * 2)
    EinfassungsanzahlTS = Bestellmenge * 2
    EinfassungsanzahlFS = Bestellmenge * 2

    '******************************************************************
    'FIX
    ' Add Comments for LARGE BB pieces (over 1800mm)
   '     If (Tragstablänge > 1800) Or (Füllstablänge > 1800) Then

   '         lblcommentsBand = "OVER 1800mm, ENTER BANDING MANUALLY in 2 PIECES.  " & lblcommentsBand
    '    Else

           ' lblcommentsBand = Comments
    '    End If
    '*******************************************************************



    TA_Anzahl = Füllstab / Tragstabteiler
    Komma = InStr(1, TA_Anzahl, ".", vbTextCompare)
    If Komma <> 0 Then
        TA = CInt(Left(TA_Anzahl, (Komma - 1)))
    Else
        TA = CInt(TA_Anzahl)
    End If

    Komma = 0

    FA_Anzahl = Tragstab / Füllstabteiler
    Komma = InStr(1, FA_Anzahl, ".", vbTextCompare)
    If Komma <> 0 Then
        FA = CInt(Left(FA_Anzahl, (Komma - 1)))
    Else
        FA = CInt(FA_Anzahl)

    End If

    TEM = (Tragstablänge - ((FA - 1) * Füllstabteiler)) / 2

    If TEM < MEMT Then
        FA = FA - 1
        TEM = (Tragstablänge - ((FA - 1) * Füllstabteiler)) / 2
        If TEM < MEMT Then
            FA = FA - 1
            TEM = (Tragstablänge - ((FA - 1) * Füllstabteiler)) / 2
        End If
    End If

    If TEM < ((Füllstabteiler / 2) + (Füllstabteiler * 0.05)) Then
        FA = FA - 1
        TEM = (Tragstablänge - ((FA - 1) * Füllstabteiler)) / 2
    End If

    FEM = (Füllstablänge - ((TA - 1) * Tragstabteiler)) / 2
    If FEM < MEMF Then
        TA = TA - 1
        FEM = (Füllstablänge - ((TA - 1) * Tragstabteiler)) / 2
        If FEM < MEMF Then
            TA = TA - 1
            FEM = (Füllstablänge - ((TA - 1) * Tragstabteiler)) / 2
        End If
    End If
    If FEM < ((Tragstabteiler / 2) + (Tragstabteiler * 0.05)) Then
        TA = TA - 1
        FEM = (Füllstablänge - ((TA - 1) * Tragstabteiler)) / 2
    End If

    Füllstabendmasche = Format(FEM, "###0.00")
    Füllstabendmasche_Inch = Füllstabendmasche / Inch
    füllstabendmasche_1 = Format(FEM, "###0.00")
    Füllstabendmasche_1_Inch = füllstabendmasche_1 / Inch



    '********************************************************************
    'Unterschiedliche Einblendung zwischen SP- und P-Rosten
    [Report_Fertigungszettel]![lbl_ef_lob1].Visible = False
    [Report_Fertigungszettel]![Einfassungslänge].Visible = False
    [Report_Fertigungszettel]![MaterialbezeichnungTS].Visible = False
    [Report_Fertigungszettel]![lbl_ef_quantity1].Visible = False
    [Report_Fertigungszettel]![Einfassungsanzahl].Visible = False
    'Ausblendung Stückzahlen bei T-Einfassung - Wunsch von Hr. Johann wegen Verwirrung bei Produktion Ohio

    If Toleranz = 1 Then
        [Report_Fertigungszettel]![EinfassungsanzahlTS].Visible = False
        [Report_Fertigungszettel]![EinfassungsanzahlFS].Visible = False
        [Report_Fertigungszettel]![lbl_ef_quantity2].Visible = False
        [Report_Fertigungszettel]![lbl_ef_quantity3].Visible = False
    End If


'********************************************************************
    Case 2

        lblPW1.Visible = True
        lblPW2.Visible = False
        lblPW3.Visible = False


    'Entscheidungskriterium für Mattenfertigung
    'Adjournment-criterion for mat-production
        If Einfassungsdicke = 0 Then
            T = Tragstab - Rand3_4
        Else
            T = Tragstab - (Tragstabdicke * 2) - Rand3_4
        End If

    'Berechnung SP-Rost
    'Calculation SP-Rost

        'TA-Anzahl = ((CrossBar - BearingBarThickness) / BearingBarPitch
        TA_Anzahl = ((Füllstab - Tragstabdicke) / Tragstabteiler)

        Komma = InStr(1, TA_Anzahl, ".", vbTextCompare)

        If Komma <> 0 Then
            'NumberOfBearingBars = CInt(Left(TA_Anzahl, (Komma - 1))) + 2
            TA = CInt(Left(TA_Anzahl, (Komma - 1))) + 2
        Else
            'NumberOfBearingBars = CInt(TA_Anzahl) + 2
            TA = CInt(TA_Anzahl) + 2
        End If

        'CrossBarNumber = MFG BearingBar Length \ CrossBarPitch
        FA = T \ Füllstabteiler

        'CrossBarNumber = (CrossBarNumber \ 2) * 2
        FA = (FA \ 2) * 2

        'BearingBarMesh = (MFGBearingBarLength - (CrossBarNumber-1)*CrossBarPitch)/2
        TEM = (T - (FA - 1) * Füllstabteiler) / 2

        'If BearingBarMesh >= (CrossBarPitch + BearingBarMeshTolerance) Then
        If TEM >= (Füllstabteiler + MEMT) Then
            'CrossBarNumber = CrosbarNumber + 2
            FA = FA + 2
            'BearingBarMesh = (MFBearingBarLength - (CrossBarNumber - 1) * CrossBarPitch) / 2
            TEM = (T - (FA - 1) * Füllstabteiler) / 2
        End If

        'If BearingBarMesh < BearingBarMeshTolerance then
        If TEM < MEMT Then
            'CrossBarNumber = CrossBarNumber - 2
            FA = FA - 2
            'BearingBarMesh = (MFGBearingBarLength - (CrossBarNumber - 1) * CrossBarPitch) /2
            TEM = (T - (FA - 1) * Füllstabteiler) / 2
        End If

        Select Case Tragstabteiler 'BearingBarPitch
            Case 30.15
                'CrossBarMesh = CrossBarLength - (NumberofBearingBars - 2) * BearingBarPitch - Side3&4 banding thickness - (2 * Bearing Bar Thickness)
                FEM = Füllstab - (TA - 2) * Tragstabteiler - Rand3_4 - (2 * Tragstabdicke)
                'If CrossBarMesh < 16.6 AND CrosbarMesh > = 1 then
                If FEM < 16.6 And FEM >= 1 Then
                    'CrossBarMesh = CrosbarMesh + 15.07
                    FEM = FEM + 15.07
                    'CrossBarMesh plus value = 15
                    ZFEM = 15.07
                End If

                'If CrossBarMesh < 1 then
                If FEM < 1 Then
                    'CrossBarMesh = CrossBarMesh + 30.15
                    FEM = FEM + 30.15
                    'NumberOfBearingBarRods = NumberOfBearingBarRods - 1
                    TA = TA - 1
                End If

            Case 30.16
                'CrossBarMesh = CrossBarLength - (NumberofBearingBars - 2) * BearingBarPitch - Side3&4 banding thickness - (2 * Bearing Bar Thickness)
                FEM = Füllstab - (TA - 2) * Tragstabteiler - Rand3_4 - (2 * Tragstabdicke)
                'If CrossBarMesh < 16.6 AND CrosbarMesh > = 1 then
                If FEM < 16.6 And FEM >= 1 Then
                    'CrossBarMesh = CrosbarMesh + 15.07
                    FEM = FEM + 15.07
                    'CrossBarMesh plus value = 15
                    ZFEM = 15.07
                End If

                'If CrossBarMesh < 1 then
                If FEM < 1 Then
                    'CrossBarMesh = CrossBarMesh + 30.15
                    FEM = FEM + 30.15
                    'NumberOfBearingBarRods = NumberOfBearingBarRods - 1
                    TA = TA - 1
                End If

        Case Else
                'CrossBarMesh = 9999
                FEM = 9999
                TA = TA - 1
        End Select


         ' Calc CB MFG Length
         'CrossBarLength = CrossBar + CrossBarTolerance
         Füllstablänge = Füllstab + Toleranz_Füllstab

         'CrosBarLength = CrossBarLength / 25.4
         Füllstablänge_Inch = Füllstablänge / Inch


         ' Calc BB MFG Length
         'BearingBarLength = (BearingBar - Side3&4BandThickness - (2 * BandingThickness)
         Tragstablänge = (Tragstab - Rand3_4 - (2 * Einfassungsdicke))
         Tragstablänge_Inch = Tragstablänge / Inch


         MaterialbezeichnungEF2 = Einfassungsmaterial
        ' Calc CB Banding Length
         EinfassungslängeFS = Füllstab - Rand3_4
         EinfassungslängeFS_Inch = EinfassungslängeFS / Inch

         ' Calc BB Banding Length
         EinfassungslängeTS = Tragstab - Rand1_2
         EinfassungslängeTS_Inch = EinfassungslängeTS / Inch

         ' Calc Total Banding Qty (Qty * 2)
         EinfassungsanzahlTS = Bestellmenge * 2
         EinfassungsanzahlFS = Bestellmenge * 2


        'INCH Anpassung nicht vergessen
         Füllstabendmasche = Format(FEM, "###0.00") '& " : " & Format(ZFEM, "###0.00")
         füllstabendmasche_1 = Format(FEM, "###0.00") '& " : " & Format(ZFEM, "###0.00")

         Füllstabendmasche_Inch = Format(FEM / Inch, "###0.00") & " : " & ZFEM
         Füllstabendmasche_1_Inch = Format(FEM / Inch, "###0.00") & " : " & ZFEM






        'Bei Mattenfertigung wird Einfassunsbereich nicht angedruckt
        If Einfassungsdicke = 0 Then
            [Report_Fertigungszettel]![Jahreszahl].Visible = False
            [Report_Fertigungszettel]![AuftragsNr].Visible = False
            [Report_Fertigungszettel]![Kunde].Visible = False
            [Report_Fertigungszettel]![txtEinfassung_Einfassung].Visible = False
            [Report_Fertigungszettel]![Position].Visible = False
            [Report_Fertigungszettel]![txtTragstab].Visible = False
            [Report_Fertigungszettel]![txtFüllstab].Visible = False
            [Report_Fertigungszettel]![Rostbezeichnung].Visible = False
            [Report_Fertigungszettel]![Bestellmenge].Visible = False
            [Report_Fertigungszettel]![Einfassungslänge].Visible = False
            [Report_Fertigungszettel]![Einfassungsanzahl].Visible = False
            [Report_Fertigungszettel]![MaterialbezeichnungTS].Visible = False
        Else
            Einfassungslänge = Füllstab
            Einfassungslänge_Inch = Einfassungslänge / Inch

            Einfassungsanzahl = Bestellmenge * 2
        End If

    Case Else
                FEM = 9999
                TEM = 9999
    End Select
'********************************************************************


    'Berichtsfelder zuweisen - Bereich Füllstab
        Füllstabanzahl = FA * Bestellmenge & " / " & FA

    'Berichtsfelder zuweisen - Bereich Tragstab
    'Report-fields assign - area filling-rod
        Tragstabanzahl = TA * Bestellmenge & " / " & TA
        Tragstabendmasche = Format(TEM, "###0.00")
        Tragstabendmasche_Inch = Tragstabendmasche / Inch
        Klinkung = FA

    'Zeichnungskästchen anzeigen
    'Show Drawing Boxes
        If Zeichnung = -1 Then
            lblZeichnungBearing = "Review Traveler / DWG"
            lblZeichnungCross = "Review Traveler / DWG"
            lblZeichnungBand = "Review Traveler / DWG"
        Else
            lblZeichnungBearing = ""
            lblZeichnungCross = ""
            lblZeichnungBand = ""
        End If

    'Barcode links ausfüllen
    'Fill Barcode Links
        If Len(Position) <> 3 Then
            Auffüllen = 3 - Len(Position)
            PositionsNr = String(Auffüllen, "0") & Position
        End If

'********************************************************************

'Daten Fertigungszettel in Datenbank PPS-Daten.mdb schreiben
'Write the records to the PPS-Daten-IN db
    sql = "SELECT * FROM [PPS-Daten-IN] where Projekt = " & AuftragsNr & " and Artikel = """ & Mark & """"
    Set dtPPSDaten = dbDatenbank.OpenRecordset(sql)

    If dtPPSDaten.RecordCount = 0 Then
                ' Get the Seq number

            Dim db As Database
            Dim rs, ros As Recordset
            Dim dbSQL, rosSQL As String

            Set db = DBEngine.Workspaces(0).Databases(0)

            dbSQL = "SELECT SeqNum FROM [SEQNum] where ID = 1"
            Set rs = db.OpenRecordset(dbSQL)

           rosSQL = "SELECT HöheTS, DickeFS FROM Rostbezeichnung WHERE Rostbezeichnung = """ & Rostbezeichnung & """"
           Set ros = db.OpenRecordset(rosSQL)



                    With rs
                            .Edit
                            !SeqNum = !SeqNum + 1
                            .Update
                    End With

                    OpSeqBand.Caption = rs!SeqNum
                    OpSeqCB.Caption = rs!SeqNum
                    OpSeqBB.Caption = rs!SeqNum


            With dtPPSDaten
                    .AddNew
                    !Projekt = AuftragsNr
                    !Bez_Rost = Rostbezeichnung
                    !Artikel = Mark
                    !Arttext1 = rs!SeqNum
                    !Rost_TS = Tragstab
                    !Rost_FS = Füllstab
                    !Stück_S0 = Bestellmenge
                    !Bez_Komp_1 = Einfassungsmaterial
                    !Länge_1 = EinfassungslängeTS
                    !Länge_2 = EinfassungslängeTS
                    !Länge_3 = EinfassungslängeFS
                    !Länge_4 = EinfassungslängeFS
                    !Bez_Komp_5 = MaterialbezeichnungTS
                    !Länge_TS = Tragstablänge
                    !Endma_TS = Format(TEM, "###0.00")
                    !Stück_TS = TA
                    !Teilung_TS = Tragstabteiler
                    !Bez_Komp_6 = MaterialbezeichnungFS
                    !Länge_FS = Füllstablänge
                    !Endma_FS = Format(FEM, "###0.00")
                    !Stück_FS = FA
                    !Teilung_FS = Füllstabteiler
                    !Eintragsdatum = Forms![Fertigungskopf]![Datum]
                   !Höhe_TS = ros!HöheTS
                   !Stärke_FS = ros!DickeFS
                    ProdAuftrag = !Prodauftr

                    .Update
            End With
            dtPPSDaten.Close
            rs.Close

        Else
            ' The to take into account the looping issue.  When this is the 2nd time through on the same
            ' Mark #, then get the Machine # for the report

                dtPPSDaten.Close
                sql = "SELECT Prodauftr, Arttext1 FROM [PPS-Daten-IN] where Projekt = " & AuftragsNr & " and Artikel = """ & Mark & """"
                Set dtPPSDaten = dbDatenbank.OpenRecordset(sql)

                ProdAuftrag = dtPPSDaten.Prodauftr
                OpSeqBand.Caption = dtPPSDaten.Arttext1
                OpSeqCB.Caption = dtPPSDaten.Arttext1
                OpSeqBB.Caption = dtPPSDaten.Arttext1

                dtPPSDaten.Close



        End If



    'End If


'********************************************************************
'Barcode rechts ausfüllen (nachgelagert wegen Produktionsauftragsnummer aus Tabelle PPS-Daten-IN)
    If Len(Trim(ProdAuftrag)) <> 9 Then
        Auffüllen = 9 - Len(Trim(ProdAuftrag))
        Barcode_ProdAuftrag = String(Auffüllen, "0") & ProdAuftrag
        Barcode_PA_Edgebanding = "*" & Barcode_ProdAuftrag & "*"
        Barcode_PA_crossbar = "*" & Barcode_ProdAuftrag & "*"
        Barcode_PA_Bearingbar = "*" & Barcode_ProdAuftrag & "*"
    Else
        Barcode_PA_Edgebanding = "*" & Barcode_ProdAuftrag & "*"
        Barcode_PA_crossbar = "*" & Barcode_ProdAuftrag & "*"
        Barcode_PA_Bearingbar = "*" & Barcode_ProdAuftrag & "*"
    End If


'------------------------------------------------------------------
    Me.Label444.Visible
    Me.Label445.Visible


Exit_Detailbereich_Format:
    Exit Sub

Err_Detailbereich_Format:
    MsgBox Err.Description
    Resume Exit_Detailbereich_Format

End Sub

Если вы прокрутите до самого конца, вы увидите строки, которые делают видимыми метки 444 и 445. Если я закомментирую эти строки, поскольку я добавил только их, отчет будет работать правильно.

О, и не имеет значения, где находится код, поскольку конечный результат всегда один и тот же, никакого вывода.

Кто-нибудь знает, почему это происходит?? Я ударил стену на этом.

Спасибо за любые предложения, которые я могу получить.


person mbcharney    schedule 26.01.2017    source источник
comment
Вы можете попробовать раскомментировать строку «On Error GoTo Err_Detailbereich_Format» и посмотреть, генерируется ли ошибка.   -  person J. Garth    schedule 26.01.2017
comment
Только что попробовал, но ничего не изменилось. Ошибку не выдало.   -  person mbcharney    schedule 26.01.2017


Ответы (1)


Правильный синтаксис для того, чтобы сделать элемент управления видимым:

Me.Label444.Visible = True
Me.Label445.Visible = True

Видимое свойство ожидает логическое значение, поэтому вы должны установить его либо в true, либо в false. Это может решить проблему.

person J. Garth    schedule 26.01.2017
comment
Итак, это сработало, и отчет был напечатан. Почему из-за этих двух строк не печатается весь отчет, а еще лучше почему нет ошибок при компиляции? Я не понимаю. - person mbcharney; 26.01.2017
comment
Хорошо, поэтому я начал добавлять код, который мне нужен, построчно, пока не доберусь до строки, которая приводит к сбою отчета. - person mbcharney; 26.01.2017
comment
Итак, что было бы не так со следующим, затем Dim db1 as DAO.Database Dim rs1 as DAO.Recordset Set db1 = CurrentDb() Все вышеперечисленные строки работают нормально. Но следующий терпит неудачу... Set rs1 = db1.OpenRecordset(sqlCmd) sqlCmd определяется следующим образом: sqlCmd = Select [orderNr], [mark], [bbqty], [bbed], [punches], [cbed] , [cbqty] From [tblOverRide] Где [orderNr] = ' & ordNumber & ' [mark] = ' & mrkNumber & ' - person mbcharney; 26.01.2017
comment
Я не знаю, почему это привело к тому, что отчет не распечатался и не вызвал ошибку. Это странное поведение. Что касается нового кода, вам нужен оператор AND между условиями предложения where. - person J. Garth; 27.01.2017
comment
Я понял это. Немцы отключили предупреждения в каком-то скрытом коде, чтобы не было видно никаких ошибок. Спасибо - person mbcharney; 28.01.2017