ciao Andrea,
[...]
Non vorrei però che tu ammattissi più di tanto, per cui non è necessario che tu prepari Demo o simili, davvero, per favore, altrimenti mi fai sentire in colpa.
[...]
nessun problema, provo a dare il mio contributo come meglio posso....a volte va bene altre volte meno bene....
finchè mi diverto procedo e partecipo in questo modo :-)
una bozza da cui partire.
SourceTable=impiegati, TargetTable=impiegati1, tabella temporanea=”t_temp”
Primo step.
Dopo la selezione di alcuni elementi da una listBox, una tabella temporanea accoglie gli elementi selezionati, al click del commadButton accoda.
Se una query inner Join tra la tabella temporanea e la tabella target restituisce 0 records (= nessun records selezionato già presente) li accodi nella tabella target.
Secondo step.
Selezioni gli stessi elementi dalla listbox, quindi la query inner identifica elementi duplicati perché restituisce un numero di records>0.
Un messaggio chiede se vuoi aggiornare, se si aggiorni se no non aggiorni.
Terzo step
Selezioni gli stessi elementi dalla listbox, quindi la query inner identifica elementi duplicati perché restituisce un numero di records>0
In più ne selezioni uno in più non ancora accodato/ti e non presente/ti.
A questo un messaggio chiede se vuoi aggiornare se si aggiorni se no non aggiorni.
In più, se si, un’ulteriore query verifica se ci sono records non corrispondenti tra la temporanea a la tabella target e ne trova ovviamente in questo step.
Quel record o quei records verranno accodati.
In pratica…se nella tabella target non ci sono i records selezionati li accodi, se ci sono li aggiorni se ne selezioni di più di quelli già presenti, aggiorni gli
esistenti e accodi gli altri.
Spero fosse questo il tuo obbiettivo.
Il tutto viene visualizzato a video con messaggi corrispondenti in modo da capire cosa sta succedendo.
Inoltre, nella tabella target hai un campo status che mostra se il record è stato interessato da un inserimento
( status=I) oppure da un aggiornamento (status=U).
Aggiungo che per modificare un elemento della listBox, è sufficiente che fai doppio click sull’elemento stesso, in modo da aprire una form filtrata e mostrare quel item, quindi non serve che apri
la tabella….
Se vuoi scarica l’esempio da qui
Demo .
[...]
Grazie
Andrea
Ciao,Sandro.