Il programma che sto realizzando mi serve per la gestione del mio "orto", di circa 2000 mq che è stato suddivisi in strisce di terreno dette prode, per ognuna di queste registro su base annua le piante e lo spazio occupato.
Ho quindi creato una serie di tabelle tblProdeDim in cui sono registrare il numero prode e le relative dimensioni, TblProdeFile in cui sono registrati per numero proda le culture impiantate, ed altre tabelle in cui ho riporto il tipo di ortaggio e la famiglia botanica.
La maschera che mi proponevo di realizzare si basa sulla tabella tblProdeDim e ricerca per anno, nella tabella TblProdeFile tutte le prode e tramite la funzione dsum, in cui sono contenuti dei criteri, somma quanto terreno è stato coltivato quando è da coltivare e se vi sono culture già previste e non ancora messe a dimora. Nella fase successiva alla realizzazione di questa Maschera "UtilizzoProde" , mi proponevo di fare un ulteriore maschera "Culture" in cui visualizzo, per numero di prode tutte le culture in essere ho estirpate, queste due maschere le avrei poi riportate come sottomaschera in un unica maschera "Prode".
Per visualizzare nella maschera UtilizzoProde 4 anni di colture, che rappresenta il ciclo di rotazione delle piante sullo stesso terreno,
ho utilizzato, per selezionare l'anno che diventa uno dei criteri della Dsum, un Cbo chiamato "CboAnno" che popolo con una sua tabella, e sulla base dell'anno selezionato estraggo i dati dei quattro anni precedenti che riporto sulla maschera UtilizzoProde.
Questo il risultato
[img][
]
Per ogni colonna presente sulla maschera ho scritto nella query la seguente instruzione
A0Pia: Nz(DSum("[imp]";"tblprodfile";"[proda] ='" & [Proda] & "' and [anno]= '" &
[Maschere]![UtilizzoProde]![TxtA0] & "' and [Stato]='p'");0)
dove TxtAO è il valore ottenuto dalla CA mediante ottenuto mediante il comando click della stessa :
[Private Sub CboAnno_Click()
Me.TxtA0.Value = CboAnno.Column(0)
Me.TxtA1.Value = str(Val(CboAnno.Column(0)) - 1)
Me.TxtA2.Value = str(Val(CboAnno.Column(0)) - 2)
Me.TxtA3.Value = str(Val(CboAnno.Column(0)) - 3)
Me.Requery
End Sub][code]
Il problema e che quando vado ad inserire MA come sottomaschera in Prode mi da l'errore
[img][
]
Ringrazio Fratac per il suggerimento di cambiare il percorso alla query della maschera
[A0Pia: Nz(DSum("[imp]";"tblprodfile";"[proda] ='" & [Proda] & "' and [anno]= '" & [Maschere]![UtilizzoProde]![TxtA0] & "' and [Stato]='p'");0)][code]
ma così le due maschere non sarebbero indipendenti, non so se ci sono altri modi per evitare l'errore.