> C'č un sistema per salvare in un campo una scelta multipla fatta dalla
> stessa casella combinata ?
> La casella combinata Sci ha un tipo origine riga una tabella tbsci e come
> origine controllo IDsci . La scelta viene salvata in un'altra tabella. Si
> dovrebbero salvare piů di due valori scelti dallo stesso elenco.
> Diversamente come si potrebbe procedere ? ("l'ideale sarebbe una casella
> di riepologo a discesa, e un campo testo")
> grazie
La scelta multipla č possibile solo nelle caselle di riepologo e i valori
li salvi come ti ha detto Sergio, a meno che tu non intenda lo scegliere
piů valori uno dopo l'altro da una casella combinata nel qual caso ti
basta leggere il valore della casella nell'evento dopo aggiornamento ed
accodarlo ad una variabile globale o static.
Namor
--
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
ciao
> > > C'č un sistema per salvare in un campo una scelta multipla fatta dalla
> > > stessa casella combinata ?
> > > La casella combinata Sci ha un tipo origine riga una tabella tbsci e
> come
> > > origine controllo IDsci . La scelta viene salvata in un'altra tabella.
> Si
> > > dovrebbero salvare piů di due valori scelti dallo stesso elenco.
> > > Diversamente come si potrebbe procedere ? ("l'ideale sarebbe una
> casella
> > > di riepologo a discesa, e un campo testo")
> > > grazie
> > La scelta multipla č possibile solo nelle caselle di riepologo e i valori
> > li salvi come ti ha detto Sergio, a meno che tu non intenda lo scegliere
> > piů valori uno dopo l'altro da una casella combinata nel qual caso ti
> > basta leggere il valore della casella nell'evento dopo aggiornamento ed
> > accodarlo ad una variabile globale o static.
> > Namor
> Quello che intendevo io era:
> se la lista č composta da es 5 "valori" rosso, verde, giallo, blu, arancio
> poter salvare nel campo di un'altra tabella o il singolo valore es rosso (
> facile) o una stringa separata da virgola o altro simbolo es verde, blu
> oppure giallo, arancio, verde, rosso, blu ...
> ciao
Non hai ancora chiarito se usi una casella combinata (elenco a discesa) o
di riepilogo che visualizza sempre l'elenco aperto.
Penso che sia una listbox (casella di riepilogo), allora fai come ti ha
detto Sergio. Puoi usare l'evento before_update (prima di aggiornare)
della maschera se vuoi salvare la stringa nel campo della tabella, o il
click di un pulsante.
ciao
grazie
> > > > > C'è un sistema per salvare in un campo una scelta multipla fatta
> dalla
> > > > > stessa casella combinata ?
> > > > > La casella combinata Sci ha un tipo origine riga una tabella tbsci e
> > > come
> > > > > origine controllo IDsci . La scelta viene salvata in un'altra
> tabella.
> > > Si
> > > > > dovrebbero salvare più di due valori scelti dallo stesso elenco.
> > > > > Diversamente come si potrebbe procedere ? ("l'ideale sarebbe una
> > > casella
> > > > > di riepologo a discesa, e un campo testo")
> > > > > grazie
> >
> > > > La scelta multipla è possibile solo nelle caselle di riepologo e i
> valori
> > > > li salvi come ti ha detto Sergio, a meno che tu non intenda lo
> scegliere
> > > > più valori uno dopo l'altro da una casella combinata nel qual caso ti
> > > > basta leggere il valore della casella nell'evento dopo aggiornamento
> ed
> > > > accodarlo ad una variabile globale o static.
> > > > Namor
> >
> > > Quello che intendevo io era:
> > > se la lista è composta da es 5 "valori" rosso, verde, giallo, blu,
> arancio
> > > poter salvare nel campo di un'altra tabella o il singolo valore es rosso
> (
> > > facile) o una stringa separata da virgola o altro simbolo es verde, blu
> > > oppure giallo, arancio, verde, rosso, blu ...
> > > ciao
> >
> > Non hai ancora chiarito se usi una casella combinata (elenco a discesa) o
> > di riepilogo che visualizza sempre l'elenco aperto.
> > Penso che sia una listbox (casella di riepilogo), allora fai come ti ha
> > detto Sergio. Puoi usare l'evento before_update (prima di aggiornare)
> > della maschera se vuoi salvare la stringa nel campo della tabella, o il
> > click di un pulsante.
> > Namor
> Quello che desideravo è poterlo fare con una casella combinata.
> ciao
> grazie
Allora ti avevo già risposto nel mio primo msg.
Ti faccio un esempio da mettere su dopoaggiornamento della combo.
static output as string
output=output & me.casellacombinata & ", "
msgbox output
Devi anche trovare un evento per svuotare la variabile output. Non so
com'è strutturato il tuo db, ma forse ti va bene su form_current.
La stringa che compare ripetendo i passsaggi è cio che desideravo.
Ringrazio per la disponibilità e pazienza.
ciao
Se ho capito bene, vuoi salvare dei valori (uno o piů) scelti da una casella di riepilogo (da una combinata non č possibile)?ů
Se č cosě riadatta questo codice:
If Me!nomeCasella.ItemsSelected.Count > 0 Then
Dim a, datiScelti as string
For Each a In Me!nomeCasella.ItemsSelected
datiScelti = Me!nomeCasella.ItemData(a) & " " & datiScelti
Next
MsgBox datiScelti
Else
MsgBox "Nessun elemento selezionato."
End If
in sostanza si tratta di leggere tutti i valori della casella di riepilogo e vedere quali sono selezionati...
Ciao.
--
Sergio MAZZA
[cut]
> > Allora ti avevo già risposto nel mio primo msg.
> > Ti faccio un esempio da mettere su dopoaggiornamento della combo.
> >
> > static output as string
> > output=output & me.casellacombinata & ", "
> > msgbox output
> >
> > Devi anche trovare un evento per svuotare la variabile output. Non so
> > com'è strutturato il tuo db, ma forse ti va bene su form_current.
> > Namor
> Le tue spegazioni sono ottime ma il mio livello con il codice è molto basso.
> Nel database la tabella ha diverse relazioni molti a uno ed è diviso in be
> fe.
> La machera si chiama mascera1 , su corrente sono visibili o non visibili
> delle foto e ho aggiunto (non so se va bene per svuotare la variabile o se
> per variabile intendi il msgbox )
> Dim mascera1 As Form
> Set mascera1= Nothing
Questo non serve a niente, toglilo.
> la casella si chiama casellacombinata1 e dopo aggionamento ho inserito il
> codice
> static output as string
> output=output & me.casellacombinata1 & ", "
> msgbox output
> il campo tabella è campo1.
> Ora, quando chicco sul nenù a discesa compare un popup microsoft office
> access con il testo da me scelto seguito da "," e chiccando su ok viene
> salvato nel campo1. Problema : se ripeto l'operazione più volte nel popup
> vedo la frase esatta che vorrei salvare ma nel campo1 tabella viene salvato
> solo l'ultimo valore. Chiedo si deve sempre passare per il popup, funziona
> nel modo descritto o io non ho capito un accidenti ?
> La stringa che compare ripetendo i passsaggi è cio che desideravo.
> Ringrazio per la disponibilità e pazienza.
> ciao
Il msgbox era solo per mostrarti come funziona, perchè non sapevo dove
volevi salvare i valori.
Se li salvi in un campo non ti serve neanche la variabile. Puoi sostituire
il tutto con un'unica istruzione:
me.campo1 = me.campo1 & iif(len(me.campo1)=0;"";", ") & _
me.casellacombinata1
ciao grazie
[cut]
> I cambiamenti proposti sono:
> me.campo1 = me.campo1 & iif(len(me.campo1)=0,"",", ") & _
> me.casellacombinata1
> Come si usa ?, nel senso che l'ho provata negli eventi della casella
> combinata e o salva solo la scelta fatta o salva due copie della stessa
> scelta senza comporre più la frase come era possibile con il msgbox
output.
> Serve un requery ?
> ciao grazie
Lo metti nell'afterupdate della casella combinata.
Devi aggiungere anche un pulsante per azzerare il campo: me.campo1=null
sennò non hai modo di svuotarlo per sostituirne il contenuto.
Namor
> Lo metti nell'afterupdate della casella combinata.
> Devi aggiungere anche un pulsante per azzerare il campo: me.campo1=null
> sennò non hai modo di svuotarlo per sostituirne il contenuto.
> Namor
>
Salva un doppio valore ma non costruisce una "frase".
tabella2
id campo2
1 giallo
2 rosso
3 blu
tabella 1
id campo1 campo...
1
2
3
maschera1 su tabella 1
id campo1 campo.. pulsante1 casellacombinata1
pulsante1 on click me.campo1 = null
casellacombinata1 origine dati tabella2
AfterUpdate()
Me.campo1 = Me.campo1 & IIf(Len(Me.campo1 = 0, "", ", ") & _
Me.CasellaCombinata1
valori salvati
blu, blu
giallo, giallo
rosso, rosso
su click pulsante1 nessun valore ovvero campo nullo e su scelta blu, blu
etc
valori da salvare in tabella1
id campo1
1 blu
2 giallo, rosso, blu
3 rosso, blu
Desidero costruire una stringa senza doverla scivere poichè le
conbinazioni sono infinite e la scelta viene fatta su un centinaio di
record, non devo sostituire il contenuto ma aggiungere all'esistente
qualcosa d'altro.
grazie
ps in bocca al lupo per il tuo piede.
Risolto.
Si può usare anche un'istruzione tipo:
Me.Campo1 = IIf(Not IsNull(Me.Campo1), Me.Campo1 & ", " & _
Me.CasellaCombinata1, Me.CasellaCombinata1)
grazie
ciao