Buongiorno a tutti,
in una maschera con due caselle combinate a cascata attraverso query che scriverò tra poco qui sotto ho un problema nell'inserimento di nuovi record.
Vi spiego cosa dovrebbero fare queste due caselle combinate. Una cbo, che prende i dati dalla tabella an_produttori, mi filtra la seconda cbo, che invece prende i dati dalla tabella an_vigneti, in modo che vengano esposti solo i vigneti del produttore scelto nella prima cbo. A questo punto ho un requery della maschera in modo che vengano esposte le specie solo di quel particolare vigneto di quel produttore. Tutto funziona, ma solo se ci sono già dei dati. Vi scrivo qui di seguito le query che ho utilizzato:
1° cbo (produttore)
SELECT an_produttori.ID, an_produttori.[Nome produttore]
FROM an_produttori
GROUP BY an_produttori.ID, an_produttori.[Nome produttore]
ORDER BY an_produttori.[Nome produttore];
su "dopo aggiornamento" ho un me.cboVigneto.requery
2° cbo(vigneto)
SELECT an_vigneti.ID, [identificativo] & " " & [anno] AS [Id+Anno], an_produttori.ID
FROM an_produttori INNER JOIN an_vigneti ON an_produttori.ID = an_vigneti.ID_produttore
GROUP BY an_vigneti.ID, [identificativo] & " " & [anno], an_produttori.ID, an_vigneti.Identificativo, an_vigneti.Anno
HAVING (((an_produttori.ID)=[Forms]![m_an_specie]![cboProd]))
ORDER BY an_vigneti.Anno;
su "dopo aggiornamento" me.requery
e su "origine record maschera":
SELECT an_specie.ID, an_specie.ID_produttore, an_specie.ID_vigneto, an_specie.Tipologia, an_specie.Allegato, an_specie.Texture, an_specie.Bordi, an_specie.Colore, an_specie.Commento
FROM an_specie
WHERE (((an_specie.ID_produttore)=[Forms]![m_an_specie]![cboProd]) AND ((an_specie.ID_vigneto)=[Forms]![m_an_specie]![cboVigneto]));
Il mio problema è che, filtra correttamente se immetto i dati da tabella, ma non inserisce automaticamente id produttore e id vigneto se vado a creare un nuovo record da maschera.
Non so se ho esposto chiaramente il problema o se servono altre informazioni per capire meglio. In qualsiasi caso naturalmente resto a disposizione