Newsgroup: it.comp.appl.access
Titolo: E' possibile? .....oppure no!

Ciao a tutti,
scusate se insisto (ho gią chiesto aiuto al NG due volte e nessuno mi ha
risposto),
ma non sono riuscito a risolvere il problema.
Ho una maschera principale FATTURE  e una sottomaschera RATE
collegate attraverso il campo IDFatt.
Le due maschere hanno come origine dati due tabelle ( Fatture e Rate ).
Vorrei gestire il pagamento attraverso l'immissione (in un campo "NRate" di
FATTURA)
di un valore numerico che rappresenta il numero di rate.
In particolare, per esempio, se inserisco 3 nel campo NRate di FATTURE,
vorrei si generassero automaticamente 3 record nella sottomaschera RATE.
Sempre automaticamente, i 3 record dovranno riportare nel campo ImpRata
della sottomaschera un importo che č dato dall'imponibile fattura diviso il
numero di rate.
In alternativa qualcuno mi dica se č possibile ....o no, generare
automaticamente
un certo numero di record in una sottomaschera.
GRAZIE anticipatamente!
Ciao.



Creare un nuovo record per un oggetto Recordset
aggiornabile.
Sintassi
setdirecord.AddNew
Il segnaposto
setdirecord č una variabile di oggetto che rappresenta un oggetto Recordset
aggiornabile a cui si desidera aggiungere un nuovo record.
Osservazioni
Utilizzare il metodo AddNew per creare e aggiungere un nuovo record
nell'oggetto Recordset specificato da setdirecord. Questo metodo imposta i
campi ai valori predefiniti, mentre se non č specificato alcun valore li
imposta a Null, cioč ai valori predefiniti specificati per un oggetto
Recordset di tipo tabella.
Dopo aver modificato il nuovo record,
utilizzare il metodo Update per salvare le modifiche e aggiungere il record
all'oggetto Recordset. Fino a quando non si utilizza il metodo Update, non
saranno apportate modifiche al database. 
Attenzione   Se si esegue
AddNew e si esegue, quindi, un'operazione che causa lo spostamento su un
altro record senza utilizzare Update, si perderanno le modifiche senza la
visualizzazione di alcun messaggio di avviso. Inoltre, se si chiude
l'oggetto Recordset o se si termina la routine che dichiara l'oggetto
Recordset o il relativo oggetto Database, il nuovo record sarą scartato
senza la visualizzazione di alcun messaggio di avviso.
Nota   Quando si
utilizza il metodo AddNew in un'area di lavoro di Microsoft Jet e il modulo
di gestione deve creare una nuova pagina per contenere il record corrente,
il blocco della pagina č pessimistico. Se il nuovo record rientra in una
pagina esistente, il blocco della pagina č ottimistico.
Se non si č
passati all'ultimo record dell'oggetto Recordset, i record aggiunti alle
tabelle base da altri processi possono essere inclusi se posizionati oltre
il record corrente. Se, tuttavia, l'utente aggiunge un record ad un proprio
oggetto Recordset, il record č visibile nell'oggetto Recordset ed č incluso
nella tabella sottostante dove diventa visibile in tutti i nuovi oggetti
Recordset.
La posizione del nuovo record dipende dal tipo di oggetto
Recordset:
·	In un oggetto Recordset di tipo dynaset, i record vengono
inseriti alla fine dell'oggetto Recordset, indipendentemente da qualsiasi
regola di ordinamento attiva al momento dell'apertura dell'oggetto.
·	In
un oggetto Recordset di tipo tabella in cui č stata impostata la proprietą
Index, i record vengono restituiti nella posizione prevista dal criterio di
ordinamento. Se la proprietą Index non č stata impostata, i nuovi record
vengono restituiti alla fine dell'oggetto Recordset.
Il record che era
corrente prima che venisse utilizzato il metodo AddNew resta il record
corrente. Se si desidera rendere corrente il nuovo record, č possibile
impostare la proprietą Bookmark al segnalibro identificato
dall'impostazione della proprietą LastModified.
Nota   Per aggiungere,
modificare o eliminare un record, č necessario che vi sia un indice unico
sul record nell'origine dati sottostante. In caso contrario, la chiamata al
metodo AddNew, Delete o Edit in un'area di lavoro di Microsoft Jet genera
un errore di autorizzazione negata oppure la chiamata al metodo Update in
un'area di lavoro di ODBCDirect genera un errore di argomento non valido.
per ora aggiungine uno poi aggiungere 2,3 e cosģ via sarą semplice
Esempio:
Nel seguente esempio viene utilizzato il metodo AddNew per creare
un nuovo record con il nome specificato. Per eseguire questa routine, č
necessaria la funzione AggiungiNome.
Sub AddNewX()
	Dim dbsNorthwind
As Database
	Dim rstImpiegati As Recordset
	Dim strNome As String
	Dim
strCognome As String
	Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstImpiegati = _
		dbsNorthwind.OpenRecordset("Impiegati",
dbOpenDynaset)
	' Ottiene dati dall'utente.
	strNome = Trim(InputBox( _
"Immettere il nome:"))
	strCognome = Trim(InputBox( _
		"Immettere il
cognome:"))
	' Procede solo se l'utente ha immesso
	' effettivamente
dati relativi sia al nome sia al cognome.
If strNome <> "" and
strCognome <> "" Then
		' Richiama la funzione che aggiunge il record.
AggiungiNome rstImpiegati, strNome, strCognome
		' Visualizza i dati
appena aggiunti.
		With rstImpiegati
			Debug.Print "Nuovo record: " &
!Nome & _
				" " & !Cognome
			' Elimina il nuovo record perché si
tratta di un esempio.
			.Delete
		End With
	Else
		Debug.Print _
"Č necessario immettere una stringa per il "nome e il cognome!"
End If
rstImpiegati.Close
	dbsNorthwind.Close
End Sub
Function
AggiungiNome(rstTemp As Recordset, _
	strNome As String, strCognome As
String)
	' Aggiunge un nuovo record ad un oggetto Recordset
	'
utilizzando i dati trasmessi dalla routine di chiamata.
	' Il nuovo record
diventa quindi il record corrente.
	With rstTemp
		.AddNew
		!Nome =
strNome
		!Cognome = strCognome
		.Update
		.Bookmark = .LastModified
End With
End Function
____________ Ti č piaciuto sono stato una
vera Giuda x te?  mi chaimavano 
"clippy"
mi manca solo punzecchiarti
lo schermo...
ciao MAssimiliano
--------------------------------
Inviato via 
http://usenet.iol.it