TBL_CondizioniContratto
idcondizionicontratto
idstampante
idserialnumber
idcontratto
.....
....
TBL_Stampanti
idstampanti
codicestampante
.....
TBL_Serialnumber
idsn
idstampante
....
....
le relazioni
lato 1 TBL_Contratti.idcontratti lato molti TBL_CondizioniContratto.idcontratto
lato 1 TBL_Stampanti.idstampanti lato molti TBL_CondizioniContratto.idstampante
lato 1 TBL_Serialnumber.idsn lato molti TBL_CondizioniContratto.idserialnumber
lato 1 TBL_Stampanti.idstampanti lato molti TBL_Serialnumber.idstampante
ho creato una maschera con una sottomaschera
la maschera principale ha una la seguente query
SELECT TBL_Contratti.IDContratti, TBL_Contratti.DataContratto, TBL_Contratti.NumeroContratto, TBL_Contratti.cliente, TBL_Contratti.agente, TBL_Contratti.finanziaria, TBL_Contratti.TotaleFinanziamento, TBL_Contratti.CodicePratica, TBL_Contratti.DurataContratto, TBL_Contratti.DecorrenzaContrattodal, TBL_Contratti.DecorrenzaContrattoAl, TBL_Contratti.Fatturazionecanoni, TBL_Contratti.FattCopieEccedenti, TBL_Contratti.tipopagamento, TBL_Contratti.scadenzapagamento, TBL_Clienti.idclienti, TBL_Clienti.RSClienti, TBL_Clienti.Pivaclienti, TBL_Clienti.CodFiscClienti, TBL_Clienti.Viasedelegale, TBL_Clienti.IdComuneClienti, TBL_Clienti.TelClienti, TBL_Clienti.FaxClienti, TBL_Clienti.MailClienti, TBL_Clienti.Viadestinazionemerce, TBL_Clienti.IdComuneDestinazionemerce, TBL_Clienti.Iban, TBL_Clienti.Banca, TBL_Clienti.Filiale, TBL_Clienti.Codicecliente
FROM TBL_Clienti INNER JOIN TBL_Contratti ON TBL_Clienti.[idclienti] = TBL_Contratti.[cliente];
la sottomaschera punta invece a TBL_CondizioniContratto
in questa sotto maschera ho creato 3 caselle combinate
1) SELECT TBL_Stampanti.Idstampanti, TBL_Stampanti.CodiceStampanti
FROM TBL_Stampanti
ORDER BY TBL_Stampanti.[CodiceStampanti];
2)SELECT TBL_Stampanti.Idstampanti, TBL_Stampanti.DescrizioneStampanti
FROM TBL_Stampanti
ORDER BY TBL_Stampanti.[DescrizioneStampanti];
quella che mi da problemi è questa
SELECT TBL_SerialNumber.idsn, TBL_SerialNumber.SerialNumber, TBL_SerialNumber.Noleggiata, TBL_SerialNumber.IdStampante, TBL_SerialNumber.Prezzo
FROM TBL_SerialNumber
WHERE (((TBL_SerialNumber.IdStampante)=[Maschere]![FRM_Contratti]![FRM_ContrattiDettagli]![idstampante]))
ORDER BY TBL_SerialNumber.SerialNumber;
in realtà come inizio l'inserimento della prima riga seleziono il codice e mi da la descrizione stampante vado su seriali e mi da solo i seriali di quella stampante, fin quà tutto bene
se cambio codice stampante poichè ho attivato il requery al click sulla casella combinata codice si aggiorna il seriale e mi da i seriali del nuovo codice stampante
il problema nasce come inserisco nella sottomaschera FRM_ContrattiDettagli un secondo record come clicco sulla casella combinata codice e scelgo un codice di un'altra stampante automaticamente anche
la prima riga o le righe dei record superiori nella casella combinata dei seriali prendono come query quella casella combinata seriali quelli corrispondenti al codice dell'ultimo record
esempio
codice descrizione s/n
m300 stampante1 s/n stampante1 cosi funziona bene
codice descrizione s/n
m300 stampante1 s/n stampante2
1440 stampante2 s/n stampante2 cosi invece da errore
codice descrizione s/n
m300 stampante1 s/n stampante3
1440 stampante2 s/n stampante3
m356 stampante3 s/n stampante3 cosi l'errore è acnora pi' evidente
Mi andrebbe bene anche poter aprire una nuova maschera con doppio click cliccando magari su s/n dove già o creato una casella combinata che filtra per id stampanti i rispettivi seriali il problema che non so come poi passare il seriale selezionato alla maschera sottostante non attiva FRM_ContrattiDettagli
spero di essere stato chiaro.
grazie per l'aiuto