2017-01-26 1 views
0

먼저이 사본 (찾을 수 없음)이 유감입니다.Access 2016 보고서에서 VBA 코드를 변경하면 페이지가 인쇄되지 않습니다.

나는이 문제에 대한 답변을 위해 일주일 이상을 찾고 있습니다.

프런트 엔드 (fe) 백엔드 (be)와 데이터를 보유하는 세 번째 db가있는 Access 2003 데이터베이스가 있습니다. 나는 이것이 이상하게 보인다는 것을 알고있다. 그러나 그 길의 독일의 지어지는 Access DB.

여기에 문제가 있습니다. 주요 데이터 입력 양식에는 다른 양식을 호출하는 인쇄 버튼이 있습니다. 이 두 번째 양식에는 시작 및 종료 주문 번호 필드가있는 두 개의 텍스트 상자가 있습니다. 시작 번호는 기본 양식에서 전달됩니다.

두 번째 양식에 다른 인쇄 단추가있어서이를 클릭하면 보고서가 만들어지고 인쇄됩니다. 보고서는 문제가있는 곳입니다. 모든 vba 코드를 보고서에 추가하면 레이블 만 표시하더라도 보고서는 아무 것도 인쇄하지 않습니다. 무언가를 보내는 것처럼 프린터 대화 상자 창이 나타나지만 아무 것도 인쇄되지 않습니다.

PDF로 보내려고했지만 아무 것도하지 않았습니다. 이제 보고서 코드로 가서 해당 행을 주석 처리하면 레이블이 표시되고 보고서가 제대로 인쇄됩니다. 나는 DB의 시간을 함께 일해 왔고 나는 이런 것을 본 적이 없다. 지옥, 나는 결코 이런 말을 들어 본 적이 없다.

이 코드에는 많은 독일어가 포함되어 있습니다.

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가 보이는 선이 보입니다. 이 줄을 주석으로 추가 한 경우, 보고서가 올바르게 작동합니다.

아, 최종 결과가 항상 동일하고 출력되지 않으므로 코드를 배치하는 위치는 중요하지 않습니다.

왜 이런 일이 일어나는 지 아는 사람이 있습니까? 나는이 벽에 부딪쳤다.

내가 얻을 수있는 제안 덕분에.

+0

'On Error GoTo Err_Detailbereich_Format 줄의 주석 처리를 제거하고 오류가 생성되는지 확인할 수 있습니다. –

+0

그냥 시도했지만 아무것도 변경되지 않았습니다. 그것은 오류를 던지지 않았다. – mbcharney

답변

0

컨트롤이 눈에 보이는 만들기위한 올바른 구문은 true 또는 false로 설정해야하므로

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

가 보이는 속성은 부울 값을 기대하고있다. 이렇게하면 문제가 해결 될 수 있습니다.

+0

좋아요. 그러면 보고서가 인쇄되었습니다. 이 두 줄로 인해 전체 보고서가 인쇄되지 않는 이유는 무엇이며 컴파일 할 때 오류가없는 이유는 무엇입니까? 나는 그것을 얻지 않는다. – mbcharney

+0

그래, 보고서가 실패하게하는 선이 생길 때까지 줄 단위로 필요한 코드를 추가하기 시작했습니다. – mbcharney

+0

그래서 당시 다음과 같이 무슨 일을 할 것 DAO.Recordset 설정 DB1 = CurrentDb 같은 희미한 RS1은() 위의 모든 라인이 잘 작동 DAO.Database 로 희미한 DB1. 그러나 다음은 실패합니다 ... rs1 = db1로 설정하십시오.OpenRecordset (sqlCmd) sqlCmd = "[orderNr], [mark] [orderNr] = ' "& ordNumber &"'[mark] = ' "& mrkNumber &"' " – mbcharney

관련 문제