Newsgroup: it.comp.appl.access
Titolo: impostare TopMargin

ciao a tutti
 
è possibile semplificare questo codice?
nRec = Me!SM_DettFatturaFornitore.Form.Recordset.RecordCount
qui va Recordset o Recordsetclone?
 
grazie
 
    Dim stDocName As String
    Dim nRec As Long
 
    nRec = Me!SM_DettFatturaFornitore.Form.Recordset.RecordCount
 
 
    stDocName = "Rpt_StpDettagliosuFattura"
    DoCmd.OpenReport stDocName, acPreview, , "IdFatturaFo= " & Nz(Me!IdFatturaFo, 0)
 
    Select Case nRec
    Case 1
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 14435
    Case 2
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 14200
    Case 3
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 13965
    Case 4
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 13730
    Case 5
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 13495
    Case 6
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 13260
    Case 7
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 13025
    Case 8
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 12790
    Case 9
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 12555
    Case 10
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 12320
    Case 11
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 12085
    Case 12
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 11850
    Case 13
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 11615
    Case 14
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 11380
    Case 15
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 11145
    Case 16
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 10910
    Case 17
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 10675
    Case 18
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 10440
    Case 19
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 10205
    Case 20
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 9970
    Case 21
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 9735
    Case 22
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 9500
    Case 23
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 9265
    Case 24
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 9030
    Case 25
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 8795
    Case 26
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 8560
    Case 27
        Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 8325
    End Select

 ...
 >      Case 26
 >          Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 8560
 >      Case 27
 >          Report_Rpt_StpDettagliosuFattura.Printer.TopMargin = 8325
 >      End Select
 
Prova di sostituire il Select Case con
 
If nRec > 0 And nRec < 28 Then
 
   Reports(stDocName).Printer.TopMargin = 14670 - 235 * nRec
 
End If
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
Access Lobby: 
http://www.AccessDevelopers.org
 


Grazie Karl
perfetto
 
qui va
  nRec = Me!SM_DettFatturaFornitore.Form.Recordset.RecordCount 
oppure RecordsetClone.RecordCount?