Acess 2000 - campi calcolati in tabella

mercoledì 20 aprile 2011 - 09.47
Tag Elenco Tags  Access (.mdb)

capsio Profilo | Newbie

Buongiorno a tutti.
Ho un problema con access 2000 dovuto con ogni probabilità alla mia poca conoscenza di VBA. In ogni caso:

Ho una tabella che contiene i campi “Giorni” “Totale_Progressivo” “Numeri_Creditori” e “Numeri_Debitori”.
I campi “Giorni” e “Totale_Progressivo” sono popolati; il campo "Totale_Progessivo" può contenere valori negativi (<0).
Devo eseguire la seguente operazione:

se “Totale_Progressivo” è >0 allora calcola il prodotto (Totale_Progressivo * Giorni) e scrivilo nella colonna “Numeri_Creditori”
altrimenti
nella colonna “Numeri_Creditori” scrivi 0;
Fai un ciclo su tutti i record

se “Totale_Progressivo” è < 0 allora calcola il prodotto (Totale_Progressivo * Giorni) e scrivilo nella colonna “Numeri_Debitori” in Valore assoluto (cioè senza il segno meno)
altrimenti
nella colonna “Numeri_Debitori” scrivi 0;
Fai un ciclo su tutti i record

Qualcuno può aiutarmi?
Grazie

dinoxet Profilo | Senior Member

>Buongiorno a tutti. Ho un problema con access 2000 dovuto con ogni probabilità alla mia poca conoscenza di VBA. In ogni caso:
BUONGIORNO A TE
>Ho una tabella che contiene i campi “Giorni” “Totale_Progressivo” “Numeri_Creditori” e “Numeri_Debitori”.
>I campi “Giorni” e “Totale_Progressivo” sono popolati; il campo "Totale_Progessivo" può contenere valori negativi (<0).
>Devo eseguire la seguente operazione:

>se “Totale_Progressivo” è >0 allora calcola il prodotto (Totale_Progressivo * Giorni) e scrivilo nella colonna “Numeri_Creditori”
>altrimenti
>nella colonna “Numeri_Creditori” scrivi 0;

IIF (TOTALE_PROGRESSIVO > 0, NUMERI_CREDITORI=(TOTALE_PROGRESSIVO * GIORNI), 0)

>Fai un ciclo su tutti i record

>se “Totale_Progressivo” è < 0 allora calcola il prodotto (Totale_Progressivo * Giorni) e scrivilo nella colonna “Numeri_Debitori” in Valore assoluto (cioè senza il segno meno)
>altrimenti
>nella colonna “Numeri_Debitori” scrivi 0;

IIF (TOTALE_PROGRESSIVO < 0, NUMERI_DEBITORI=(TOTALE_PROGRESSIVO * GIORNI)*(-1), 0)

>Fai un ciclo su tutti i record

>Qualcuno può aiutarmi?
>Grazie
PREGO



DINOXET
__________________________________________
impossible is only a word

capsio Profilo | Newbie

Ciao Dinoxet e grazie per la pronta risposta.
Pur tuttavia non ho capito dove devo inserire il codice che mi hai postato. Inoltre la tabella contiene migliaia di record e pertanto ha migliaia di campi "Numeri _xx" . Come posso dire al programma di fare il ciclo su tutti i record della tabella?
Grazie ancora

dinoxet Profilo | Senior Member

SCRIVI QUESTA QUERY:
UPDATE nometabella
SET NUMERI_CREDITORI= IIF (TOTALE_PROGRESSIVO > 0, (TOTALE_PROGRESSIVO * GIORNI), 0)
SET NUMERI_DEBITORI=IIF (TOTALE_PROGRESSIVO < 0, (TOTALE_PROGRESSIVO * GIORNI)*(-1), 0)

E LANCIALA CLICCANDO SU UN BOTTONE, O PUOI LEGARLA ALL'APERTURA DI UNA MASCHERA
COME TI SERVE....


CIAO



DINOXET
__________________________________________
impossible is only a word

capsio Profilo | Newbie

Grazie, Funzia alla grande.
Un Caro saluto e a risentirci
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5