Salve ho un problema con il seguente codice,
Inserendo il numero di rate nella casella di testo mi aggiunge i record nella sottomaschera
Private Sub NumeroRatePagamentoFatturaFornitore_AfterUpdate()
Me.Recordset.Edit
Me.Recordset.Update
Dim intRate As Integer
Dim intCiclo As Integer
If Me.NumeroRatePagamentoFatturaFornitore = 1 Then
intRate = 1
Else
intRate = Right(Me.NumeroRatePagamentoFatturaFornitore, 2)
End If
For intCiclo = 1 To intRate
CurrentDb.Execute "INSERT INTO TbFattureFornitoriDataScadenza ( [NumeroRataFattForn], [ID_FATTURA_FORNITORI] ) SELECT " & intCiclo & " AS Espr1, " & Me.IdFatturaFornitori & " AS Espr2"
Next
Me.SottomascheraFattureFornitoriDataScadenza.requery
End Sub
------------
Inserendo la data della prima rata mi incrementa i restanti record di un mese
Private Sub DataScadenzaPagFattForn_AfterUpdate()
If Me.NumeroRataFattForn = 1 Then
Dim intRate As Integer
Dim intCiclo As Integer
intRate = DLookup("Max([NumeroRataFattForn])", "TbFattureFornitoriDataScadenza", "ID_FATTURA_FORNITORI = " & Me.ID_FATTURA_FORNITORI)
For intCiclo = 2 To intRate
CurrentDb.Execute "UPDATE TbFattureFornitoriDataScadenza SET DataScadenzaPagFattForn = #" & Format(DateAdd("m", (intCiclo - 1) * 1, Me.DataScadenzaPagFattForn), "mm/dd/yyyy") & "# WHERE [NumeroRataFattForn] = " & intCiclo
Next
Me.requery
End If
End Sub
Il problema è che ad ogni inserimento mi modifica i dati su tutti record della tabella come da seguente esempio:
Relazione 1 a molti.
MASCHERA PRINCIPALE - Nominativo ID 1 - Numero rate 5 (dopo aggiornamento mi inserisce 5 record nella sottomaschera )
SOTTOMASCHERA SCADENZA RATE - (Nominativo ID1) Inserendo la prima data (es.01/01/2022 ) vengono compilati tutti i record con la progressione della data
RATA N. DATA
1 01/01/2022
2 01/02/2022
3 01/03/2022
4 01/04/2022
5 01/05/2022
-Salvo ed esco
------------Poi-------
MASCHERA PRINCIPALE - Nominativo ID 2 - Numero rate 6 (dopo aggiornamento mi inserisce 6 record nella sottomaschera )
SOTTOMASCHERA SCADENZA RATE - (Nominativo ID2) Inserendo la prima data (es.10/01/2023 )vengono compilati tutti i record con la progressione della data
RATA N. DATA
1 10/01/2023
2 10/02/2023
3 10/03/2023
4 10/04/2023
5 10/05/2023
6 10/06/2023
Salvo ed esco
-----------------------
Andando a controllare trovo questa situazione:
Nominativo ID 1
1 01/01/2022
2 10/02/2023
3 10/03/2023
4 10/04/2023
5 10/05/2023
Nominativo ID 2
1 10/01/2023
2 10/02/2023
3 10/03/2023
4 10/04/2023
5 10/05/2023
6 10/06/2023
Spero di essere stato chiaro.
Grazie