Newsgroup: it.comp.appl.access
Titolo: casella di riepilogo - elenco

Ciao!!
Ho un problema: io desideravo tramite un pulsante di comando, una volta
selezionato un record da un elenco ( casella di ripepilogo ) impostare
tutti i campi, per es. della colonna 6 partendo da sx, da un valore di
testo, "c", ad un altro "d". Non so se sia possibile fare una cosa del
genere, io spero di si, rimane il fatto che io non ci riesca!!!
Qualcuno ha dei siggerimenti??
grazie
mike
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 mike
Guardati la proprietą column.
In soldoni fa cosģ
me.TuoTesto = me.Tuacomba.column(5).
Ho scritto 5 per prendere la sesta colonna perchč
l'indice parte da 0
MAssimiliano

 
Abbi pazienza, ma non mi è chiaro il problema. Selezioni una riga della 
combobox, becchi l'elemento della 6ª colonna e poi che fai? Non capisco 
il "tra c e d"...sorry
Ciauz
--
'gnurant come una cucuzza
Inviato da 
www.mynewsgate.net

Ciao, dunque mi spiego meglio:
1. seleziono tutte le righe della casella combinata ( Elenco )
2. Premo il pulsante X e cambio i valori della colonna 6 di tutte le
righe
3. La colonna 6 contiene un valore testo, quel che voglio fare è
cambiare
lo stato del flag ( colonna 6 ) da "c" a "d", quindi assegnare a tutte
le righe
il valore "d".
Spero di esser stato chiaro!!


 
Uhm...se l'elenco punta a una tabella e devi cambiare i valori della 
tabella puoi a fare così
Private Sub CambiaCD(Valore)
Dim T As Recordset
  '*** Tabella è la tua tabella, metti tu il nome che sai :o)
  Set T = CurrentDb.OpenRecordset("Tabella", dbOpenDynaset) 
    Do While T.EOF = False                                  
      T.Edit
      T!Campo6 = Valore '*** Campo6 è il campo da variare
      T.Update
      T.MoveNext
    Loop
  T.Close
  Me.ListBox.Requery '*** il nome della tua listbox
End Sub
Se invece è un elenco con Tipo origine riga "Elenco valori" allora fai così
Private Sub CambiaCD()
Dim S As String
  S = Me.ListBox.RowSource  '*** la tua listbox
  For I = 1 To Len(S) - 2
    If Mid(S, I, 3) = "c" Then
      S = Mid(S, I - 1, 1) & "d" & Mid(S, I + 3, Len(S) - I - 2)
    Else
      S = Mid(S, I - 1, 1) & "c" & Mid(S, I + 3, Len(S) - I - 2)
    End If
  Next I
End Sub
Spero di aver capito


Ciao 'Gnurant :-), ti ringrazio per gli aiuti che mi dai!!
Non sono sicuro che quel che mi suggerisci possa funzionare:
all'interno dell'elenco io ho un filtro, vale a dire tutti i record
che hanno nome = mario e cognome = rossi e solo a questi voglio cambiare
il flag da c a d....non sarebbe più semplice sempre che si possa fare
selezionare
eventualmente un solo record dell'elenco ed assegnare al flag "d"??
grazie mille
mike :-)


Ciao, dunque funziona!!
Così come mi hai suggerito, rimane un problema, che il codice mi cambia
il flag di tutti i record della tabella principale, mentro io vorrei
cambiare i flag solo dei record filtrati che compaiono nella casella
combiata ( elenco )
grazi e ciao
mike 


 
Scusa se ti ho fatto aspettare, ma ti rispondo solo ora perché ieri non ho 
potuto leggere più la posta.
Aggiungi una riga e il gioco è fatto :o)
Private Sub CambiaCD(Valore)
Dim T As Recordset
  '*** Tabella è la tua tabella, metti tu il nome che sai :o)
  Set T = CurrentDb.OpenRecordset("Tabella", dbOpenDynaset) 
    Do While T.EOF = False              
      If T!Cognome="Rossi" And T!Nome="Mario" Then
        T.Edit
        T!Campo6 = Valore '*** Campo6 è il campo da variare
        T.Update
        T.MoveNext
      End If
    Loop
  T.Close
  Me.ListBox.Requery '*** il nome della tua listbox
End Sub
Ti ho messo l'esempio con "Mario Rossi". Ma se il filtro che usi si basa ad es 
sul campo Residenza, scriverai T!Residenza="..." e nei puntini metti la città 
che ti interessa.


Ciao anche io ti rispondo tardi, scusami, ti ringrazio tanto per gli 
aiuti che mi stai dando...ho visto quel che mi hai suggerito, ma
sfortunatamente
non va bene per quel che voglio fare; per farmi capire meglio:
ho letto la condizione If che mi hai suggerito e ti dico perchè non mi è
utile:
il perchè sta nel fatto che io non desidero inserirli nella routine i
valori dei campi
( tu come es. hai usato mario rossi ), ma vorrei che dalla routine
access
mi vada a sostituire il valore "flag" da "c" a "d" solo per quei record
che compaiono
nell'elenco!! Nella maschera in cui è presente lelenco io visualizzo un
solo
record ( l'ultimo ) che ha nome e cognome mario rossi. Nell'elenco
visualizzo
tutti gli altri record che hanno sempre come nome mario rossi; è a tutti
i
record mario rossi che voglio cambiare il flag; quindi la routine una 
volta che io preme il tasto dovrebbe aprire la tabela associata alla
maschera cercarmi tutti i mario rossi e sostituire il flag di tutti i
record, sempre con
nome mario e cognome rossi, da "c" a "d".
