Scrivo di seguito il codice che uso per generare il report singolo per ogni id, nel quale cerco i collegamenti alle immagini e li scrivo nelle etichette di controllo:
Dim db As DAO.Database
Dim t, c, r As DAO.Recordset
Dim F As String
Dim P As String
Dim trig As Integer
Dim Z, x, W, y, a1, a2, a3, a4, m, n, o As String
Set db = CurrentDb
Set t = CurrentDb.OpenRecordset("imgq")
Set c = CurrentDb.OpenRecordset("zaqm")
Set r = CurrentDb.OpenRecordset("resq")
a4 = c.Fields("Comune")
x = 219
m = 234
o = 234
a2 = CurrentProject.Path
W = "*"
y = 219
Controls("Etichetta" & y).Caption = W
y = y + 1
Controls("Etichetta" & y).Caption = W
y = y + 1
Controls("Etichetta" & y).Caption = W
y = y + 1
Controls("Etichetta" & y).Caption = W
y = y + 1
Controls("Etichetta" & y).Caption = W
Controls("Etichetta" & m).Caption = W
m = m + 1
Controls("Etichetta" & m).Caption = W
m = m + 1
Controls("Etichetta" & m).Caption = W
m = m + 1
Controls("Etichetta" & m).Caption = W
'IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI IMMAGINI
If DCount("*", "imgq") = 0 Then Exit Sub
t.MoveFirst
Do Until t.EOF 'Ripete il codice fino alla fine della t
Z = t.Fields("limg")
a1 = Mid$(Z, InStrRev(Z, "\") + 1, InStrRev(Z, ".") - InStrRev(Z, "\") + 3) ' nome immagine completo di estensione
a3 = Mid$(Z, InStrRev(Z, "media"), InStrRev(Z, ".") - InStrRev(Z, a4) + 10) 'Mid$(Z, InStrRev(Z, "media"), InStrRev(Z, ".") - InStrRev(Z, a4) - 2) ' nome percorso
Controls("Etichetta" & x).Caption = a2 & "\" & a3 '& "\" & a1
t.MoveNext
x = x + 1
If x > 224 Then
Exit Do
End If
Loop
' FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI FINE IMMAGINI
'RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF RESISTOGRAF
If DCount("*", "resq") = 0 Then GoTo L2
r.MoveFirst
Do Until r.EOF 'Ripete il codice fino alla fine della tst
n = r.Fields("resist")
a1 = Mid$(n, InStrRev(n, "\") + 1, InStrRev(n, ".") - InStrRev(n, "\") + 3) ' nome immagine completo di estensione
a3 = Mid$(n, InStrRev(n, "media"), InStrRev(n, ".") - InStrRev(n, a4) + 10) 'Mid$(n, InStrRev(n, "media"), InStrRev(n, ".") - InStrRev(n, a4) - 2) ' nome percorso
Controls("Etichetta" & o).Caption = a2 & "\" & a3 '& "\" & a1
r.MoveNext
o = o + 1
If o > 237 Then
Exit Do
End If
Loop
'FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH FINE RESISTOGRAPH
L2:
If Me.Etichetta219.Caption = "*" Then 'Or "*" Then
Me.Etichetta219.Left = 10
Me.Etichetta219.Top = 10
Me.Etichetta219.Visible = False
Me.Immagine228.Visible = False
Else
Me.Immagine228.Picture = Me.Etichetta219.Caption
Me.Immagine228.Visible = True
End If
If Me.Etichetta220.Caption = "*" Then 'Or "*" Then
Me.Etichetta220.Left = 10
Me.Etichetta220.Top = 10
Me.Etichetta220.Visible = False
Me.Immagine229.Visible = False
Else
Me.Immagine229.Picture = Me.Etichetta220.Caption
Me.Immagine229.Visible = True
End If
If Me.Etichetta221.Caption = "*" Then 'Or "*" Then
Me.Etichetta221.Left = 10
Me.Etichetta221.Top = 10
Me.Etichetta221.Visible = False
Me.Immagine230.Visible = False
Else
Me.Immagine230.Picture = Me.Etichetta221.Caption
Me.Immagine230.Visible = True
End If
If Me.Etichetta222.Caption = "*" Then 'Or "*" Then
Me.Etichetta222.Left = 10
Me.Etichetta222.Top = 10
Me.Etichetta222.Visible = False
Me.Immagine231.Visible = False
Else
Me.Immagine231.Picture = Me.Etichetta222.Caption
Me.Immagine231.Visible = True
End If
If Me.Etichetta223.Caption = "*" Then 'Or "*" Then
Me.Etichetta223.Left = 10
Me.Etichetta223.Top = 10
Me.Etichetta223.Visible = False
Me.Immagine232.Visible = False
Else
Me.Immagine232.Picture = Me.Etichetta223.Caption
Me.Immagine232.Visible = True
End If
If Me.Etichetta224.Caption = "*" Then 'Or "*" Then
Me.Etichetta224.Left = 10
Me.Etichetta224.Top = 10
Me.Etichetta224.Visible = False
Me.Immagine233.Visible = False
Else
Me.Immagine233.Picture = Me.Etichetta224.Caption
Me.Immagine233.Visible = True
End If
If Me.Etichetta237.Caption = "*" Then
Me.Immagine241.Top = 10
Me.Immagine241.Left = 10
Me.Immagine241.Height = 3
Me.Immagine241.Width = 3
Me.Immagine241.Visible = False
End If
If Me.Etichetta236.Caption = "*" Then
Me.Immagine240.Top = 10
Me.Immagine240.Left = 10
Me.Immagine240.Height = 3
Me.Immagine240.Width = 3
Me.Immagine240.Visible = False
End If
If Me.Etichetta235.Caption = "*" Then
Me.Immagine239.Top = 10
Me.Immagine239.Left = 10
Me.Immagine239.Height = 3
Me.Immagine239.Width = 3
Me.Immagine239.Visible = False
End If
If Me.Etichetta234.Caption = "*" Then
Me.Immagine238.Top = 10
Me.Immagine238.Left = 10
Me.Immagine238.Height = 3
Me.Immagine238.Width = 3
Me.Immagine238.Visible = False
End If
If Me.Etichetta225.Caption = "*" Then 'Or "*" Then
Me.Etichetta225.Height = 600
Me.Etichetta225.Left = 10
Me.Etichetta225.Top = 10
Me.Etichetta225.Visible = False
End If
End Sub
è sicuramente poco elegante e sicuramente ottimizzabile, ma purtroppo mi hanno messo delle scadenze serratissime e al momento punto a raggiungere il risultato, poi sistemerò la forma....