Newsgroup: it.comp.appl.access
Titolo: dritta per funzione

ho queste 2 funzioni
Public Function iMin(ParamArray p()) As Variant
 
    Dim i As Long
    Dim v As Variant
 
 
    v = p(LBound(p))
 
    For i = LBound(p) + 1 To UBound(p)
      If v > p(i) Then
         v = p(i)
      End If
    Next
    iMin = v
  End Function
 
Public Function iMax(ParamArray p()) As Variant
 
    Dim i As Long
    Dim v As Variant
 
    v = p(LBound(p))
    For i = LBound(p) + 1 To UBound(p)
      If v < p(i) Then
         v = p(i)
      End If
    Next
    iMax = v
  End Function
mi interessa prendere il valore massimo e il minimo di 2 campi
in report per pagina
se inserisco la funzione imin nella intestazione pagina prende il valore 
invece se inserisco la funzione imax mi prende sempre il valore minimo.
mi date una spiegazione
grazie 
Denny
 
 

Ma tu hai fatto DEBUG...?
Devi seguire il ciclo FOR riga per rica elemento per elemento e capire cosa accade...
Alla fine è quello che dovremmo fare noi per dirti come mai non funziona... sempre sia vero...
 
Quindi prima lo fai tu, ci dici che errori strani emergono e poi vediamo.
 
@Alex

errore strano quanto inserisco la funzione
se inserisco la funzione imin nella intestazione pagina report prende il 
valore
se inserisco la funzione imax nella intestazione pagina report non prende il 
valore
invece se la inserisco nel pie di pagina report prende il valore
quello che interessa è nel intestazione di pagina mi deve riportare id min 
id max data min data max di ogni pagina
sarebbe possibile?
grazie a tutti voi
spero in una soluzione
eventualmente ci sarebbe un altro modo per prelevare le informazioni sopra 
citate
accetto qualsiasi consiglio
grazie
debug eseguito
mi da il dato giusto ma nella casella di testo della intestazione pagina 
report prende sempre il primo valore
 
 
"@Alex"  ha scritto nel messaggio 
news:a78caeac-a74d-40a8...@googlegroups.com...


 in report per pagina
 
Qui non ti seguo : chi (cosa) passa l' array alle tue funzioni
di volta in volta ? E come viene costruito quell' array ? E in
base a quale evento (o condizione) viene eseguito ? 
 


Scusa se mi permetto : tu sei Alessandro Barale, quel signore di cui
mi ha parlato nell' altro 3D Alessandro Cara ? 
 

ho un report con gruppo  x mese
campi report
id      nome    data e altro
ho suddiviso il report che visualizza per pagina 15 record con questo codice 
sottostante
nella intestazione di pagina con 4 casella di testo dovrei prelevare per 
pagina
idmin  id max   data min    data max
id min e data min lo fa in intestazione pagina
mente id max e data max non lo fa in intestazione pagina
invece se inserisco in pie di pagina
esegue  id max e data max
a me servirebbe tutto in intestazione pagina  cosi facendo se in un mese ho 
150 record
e devo archiviare 15 cartelle ogni faldone
suddiviso x 15 record avrei 10 pagine con la relativa intestazione pagina su 
tutte le pagine con
id min id max data min  data max  della pagina corrente.
 
il tutto è finalizzato all'archivio di faldoni di cartelle, in questi 
faldoni viene stampato un frontespizio che ripota le informazioni che cerco
aiuto e soluzione da voi
grazie a tutti voi se riusciamo a trovare una soluzione
 
Option Compare Database
Option Explicit
 
Dim x As Double
Dim y As Integer
Dim datamax As Date
Dim idmax As String
Dim intCR As Integer        'contatore di righe
Dim intCP As Integer        'contatore di pagine per gruppo
Const intNR As Integer = 15 'numero di righe da stampare
 
 
 
Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
intCR = intCR + 1
    If intCR = intNR Then
        'se il numero di riga coincide con il numero max di righe stampabili
            'se il numero di riga e' maggiore dell'ultimo record
            'rende invisibili i controlli testo nel corpo
        If intCR + intNR * intCP > Me.txtTRec Then 
ControlliAssociatiVisibili False
        'imposta l'interruzione di pagina se non e' l'ultima pagina
        If intCP + 1 < Me.txtTRec / intNR Then Me.IntPagina.Visible = True
    ElseIf intCR + intNR * intCP = Me.txtTRec Then
        'se il numero di riga coincide con l'ultimo record
        'evita lo spostamento sul record successivo
        Me.NextRecord = False
    ElseIf intCR + intNR * intCP > Me.txtTRec Then
        'se il numero di riga e' maggiore dell'ultimo record
        'evita lo spostamento sul record successivo
        'e rende invisibili i controlli testo nel corpo
        Me.NextRecord = False
        ControlliAssociatiVisibili False
    End If
 
End Sub
 
Private Sub ControlliAssociatiVisibili(blnStato As Boolean)
    Me.Testo6.Visible = blnStato
    Me.Pippo.Visible = blnStato
    Me.ID.Visible = blnStato
    Me.Paziente.Visible = blnStato
    Me.Data_Ricovero.Visible = blnStato
End Sub
 
Private Sub IntestazioneGruppo0_Format(Cancel As Integer, FormatCount As 
Integer)
    'incrementa il contatore di pagine per gruppo
    intCP = 0
 
End Sub
 
Private Sub IntestazionePagina_Format(Cancel As Integer, FormatCount As 
Integer)
  y = 1
   'azzera il contatore di righe
    intCR = 0
    'incrementa il contatore di pagine per gruppo
    intCP = intCP + 1
    'elimina l'interruzione di pagina
    Me.IntPagina.Visible = False
End Sub
 
Private Sub IntestazionePagina_Print(Cancel As Integer, PrintCount As 
Integer)
Me!maxdata = datamax
MsgBox datamax
 
End Sub
 
Private Sub PièDiPaginaPagina_Print(Cancel As Integer, PrintCount As 
Integer)
datamax = Me!Testo15
MsgBox datamax
End Sub
 
Private Sub Report_Open(Cancel As Integer)
datamax = datamax
x = 0
y = 1
DoCmd.Maximize
End Sub
Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)
Me!Pippo = y
y = y + 1
 
End Sub
 
 
 
ha scritto nel messaggio 
news:2f8f281a-53c2-4e11...@googlegroups.com...


 ho un report con gruppo  x mese
 
Non c' ho capito niente. Dovrei vederlo nel concreto ma t'avevo
chiesto : 
 
chi (cosa) passa l' array alle tue funzioni di volta in volta ?
E come viene costruito quell' array ? E in base a quale evento
(o condizione) viene eseguito ? 
 
Io credo che il busillis risieda in ciò.
 

 mi ha parlato nell' altro 3D Alessandro Cara ?
 
Il cognome è differente.
 
Invito te ed altri ad evitare di scrivere il nome e cognome altrui(almeno il mio) con così libera iniziativa... se volessi inserirlo nel NG lo farei io di mia sponte.
Tutti gli altri abbiano l'educazione del rispetto su queste cose senza nemmeno sentirsi di chiedere il perchè...!
 
In ogni caso si sono io.
 
@Alex

report access
nelle varie caselle di testo inserite in intestazione pagina richiamo la 
funzione :
 
minid                                   maxid                    mindata 
maxdata
imin([id]]                             imax([id]             imin([data]) 
imax([data])
med_ord16/0001          med_ord16/0001      01/01/2016          01/01/2016
ok                                    sbagliato                    ok 
sbagliato
               dato giusto   med_ord16/0015         dato giusto 
med_ord16/0015
 
l'array passa sempre il valore minimo in intestazione pagina
funzione inserita in modulo1 la richiamo nelle varie caselle inserite in 
intestazione pagina report
ho provato a inserire al evento
Private Sub IntestazionePagina_Print(Cancel As Integer, PrintCount As 
Integer)
non funziona
per me non sono tanto esperto in vba
non riesco a farla funzionare
accetto qualsiasi consiglio, ditemi a che evento o condizione la devo 
eseguire
 
grazie per la dritta
 
ha scritto nel messaggio 
news:4abfe24e-cbaa-4809...@googlegroups.com...

Io credo che il busillis risieda in ciň. 
 


Ti chiedo scusa
 
Siccome (come vedi) io ci metto nome, cognome e fotografia ho
arbitrariamente pensato (sbagliando) che anche gli altri non 
avessero alcuna remora. 
 
Ho fatto un gaffe
 

 Ho fatto un gaffe
 
Sul fatto che tu stia utilizzando Nome e Cognome io non ho alcun motivo nè per congratularmi nè per non condividere, ritengo siano altri gli elementi distintivi... ma se per te è importante identificare con nome e cognome... 
Ciao sono MARIO ROSSI.
 
In ogni caso non è un problema.
Saluti
@Alex

 in ogni caso non è un problema.
 
Scusa ancora