Newsgroup: it.comp.appl.access
Titolo: dare un valore a seconda di un dato già esistente

Ciao a tutti,
ho il seguente problema che non sono riuscito a risolvere neanche con
qualche consiglio che mi hanno dato, quindi dimostro di essere proprio
"duro", portate pazienza.
ho una maschera "Riparazione e chiusura" con origine record in una Select.
In questa maschera ho un controllo (casella di testo) "Entrata n°" ed un
altro controllo (casella di testo) "Costo chiamata". Tramite una maschera di
dialogo "Trova n° entrata" vado a richiamare un record.
In una precedente maschera "Accettazione" con origine record in una query,
era stato inserito il numero di entrata nel controllo "Entrata n°", ed in un
secondo controllo (casella combinata) "Provenienza merce" si seleziona una
delle 3 possibilità:1 Cliente, 2 Vettore, 3 A mezzo interno.
Voglio precisare che quando lavoro sulla maschera "Riparazione e chiusura"
la maschera "Accettazione" è chiusa perchè era stata utilizzata in un
periodo precedente e alla fine chiusa.
L'aiuto che cerco è il seguente:
avrei bisogno che nella maschera "Riparazione e chiusura", quando vado a
richiamare mediante la maschera di dialogo, un record nel controllo "Entrata
n°"; nel controllo "Costo chiamata" mi appaia il valore "18" (inteso come ?)
se precedentemente nella maschera "Accettazione" era stato inserito il
valore 1 Cliente o 2 Vettore. Vorrei che mi apparisse il valore "0" (inteso
come ?) se precedentemente era stato selezionato 3 A mezzo interno.
Dato che non sono un esperto, vi sarei grato se mi poteste scrivere il
codice che devo inserire e dirmi su quale evento e dove inserirlo.PORTATE
PAZIENZA!!
grazie anticipatamente a chi mi risponde.
cesare

 come ?) se precedentemente era stato selezionato 3 A mezzo interno.
cut
Prima di tutto devi chiarire come gestisci la selezione tramite la maschera
di dialogo.
Immagino che lo farai da codice, in questo caso e' li' che devi andare a
gestire i vari casi.
Per conoscere il valore di un campo in una tabella puoi usare dlookup.
Sib

La sintesi non e' il tuo lato forte.
Molto meglio lui di quelli che scrivono "Aiuto" nel soggetto e "Il mio
database non funziona" nel corpo del messaggio ;-)
Ciao. Claudio.

"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:QC3C9.29874$Yw.14...@news2.tin.it...

La maschera di dialogo che uso per richiamare un record è una semplice
"trova record" tramite codice (fatta appositamente, non potevo usare quella
di Access) e mi serve solo per richiamare il record" Entrata n°" che mi
interessa, poi si chiude automaticamente e mi rimane nella maschera
"Riparazione e chiusura il record richiamato al quale devo aggiungere altri
dati, fra i quali anche il "Costo chiamata" del quale parlavo nel precedente
post.
Forse hai ragione, sono un po' prolisso, ma ho sempre paura di non sapermi
spiegare bene visto che sono un principiante.
Volevo anche dirti che, proprio perchè sono all'inizio, non ho capito molto
bene cosa dovrei fare. Se non ti scoccia magari darmi qualche dritta in più,
te ne sarei molto grato.
grazie comunque.
cesare

"Claudio" <c...@NOSPAMandCOsupereva.it> ha scritto nel messaggio

Non c'e' dubbio, per questo sono stato cosi' delicato ;-)
Sib

 te ne sarei molto grato.
Essere prolisso puo' andar bene finche' non si esagera, se esageri succede
che chi ti legge si stanca e non arriva fino in fondo.
D'altro canto non servono molte premesse, arriva subito al dunque
preoccupandoti solo di essere chiaro (come hai fatto in questo messaggio).
detto questo, forse sono stato troppo diretto.
Ho capito che ripeschi un record da una maschera e che con quelle
informazioni vai a riempire dei controlli, ma dato che gia' fai questo e'
facile ottenere quanto chiedevi, basta aggiungere qualche if al codice che
usi per leggere il record selezionato.
Che codice usi?
Sib


Ciao,
Il codice che uso nella maschera "Trova n° entrata" è il seguente:
Private Sub Trova_n°_entrata_Riparazione_e_Chiusura_AfterUpdate()
Forms![Riparazione e Chiusura].Filter = "[Entrata n°]=" & Me![Trova n°
entrata Riparazione e Chiusura]
Forms![Riparazione e Chiusura].FilterOn = True
Forms![Riparazione e Chiusura]![Entrata n°].SetFocus
DoCmd.Close
End Sub
Se mi pupoi scrivere le stringhe da aggiungere mi faresti un grandissimo
piacere.
In effetti frequentando questo NG mi sono accorto di essere un po'
prolisso.... anche nei nomi delle maschere.
Piano piano spero di imparare.
grazie 1000 di tutto
cesare

 End Sub
Sib

"Sib" <si...@SPAMiol.it> ha scritto nel messaggio
news:NL6D9.51148$Yw.23...@news2.tin.it...

Ho inserito la seguente stringa di codice dove mi hai detto tu:
If DLookup("[Provenienza merce]", "TabellaAccettazione", [1 Cliente , 2
Vettore]) <> 3 Then Forms![Riparazione e Chiusura]![Costo chiamata] = 18
 mi da errore di runtime 2465 impossibile trovare il campo '|' a cui si fa
riferimento nell'espressione.
L'origine dei dati è in una tabella che si chiama "Generale" alla quale
accedo mediante una maschera "Accettazione" .E' forse li l'inghippo? o in
quel 3 dopo il segno <>?
e se devo inserire un terzo criterio (3 A mezzo interno) che mi deve dare
valore 0 devo aggiungere un'altra stringa sotto a questa?(chiaramente con il
criterio e il valore cambiati)
grazie
cesare

 criterio e il valore cambiati)
Speravo si capisse che "TabellaAccettazione" era un nome di convenienza
perche' non conoscevo il nome della tua tabella (Generale).
Devi inserire i riferimenti specifici ai tuoi oggetti perche' funzioni
Sib