Newsgroup: it.comp.appl.access
Titolo: Recordset

Premetto che col VB sono pressoché a zero.
Aiutatemi.
-Quello che vorrei fare č aprire la tabella Recuperi che ha tre campi:
Cognome, Data, Data2;
-Scegliere poi i record relativi al Cognome indicato in una casella di testo
in maschera e di quei record scegliere nel campo Data la data piů lontana;
-Individuato il record vorrei inserire nel campo Data2 la data richiesta
dall'imputbox.
Con il listato che segue arriva a chiedermi la data con l'inputbox poi mi
dice che il db č di sola lettura e non puň essere aggiornato. Perché?
Grazie.
==================================
Private Sub Comando10_Click()
Dim dbs As Database
Set dbs = CurrentDb
Dim rstRec As recordset
Set rstRec = dbs.OpenRecordset("Select Cognome, Min(data) AS [DataMinima],
data2 " _
& "from Recuperi Where Cognome = '" & SceltaNome & "' Group By Cognome," _
& " Data2", dbOpenDynaset)
Dim strdata As Date     'Variabile acquisita con inputbox
strdata = InputBox("Immettere la data:")
With rstRec
    .Edit
    !data2 = strdata
    .Update
    .Bookmark = .LastModified
End With
rstRec.Close
End Sub
================================================================


D'altra parte hai aperto un recordset su una query di raggruppamento, e per
definizione una query di raggruppamento non è aggiornabile.
Penso che ti convenga aprire il recordset sulla tabella Recuperi; con una
DMin ricavati la data minima (nei criteri della funzione adopera  Cognome);
a questo punto hai i dati per posizionarti sul record sul quale effettuerai
l'aggiornamento; credo che sia una delle soluzioni possibili.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:j6Bg6.17861$GM6.8...@news.infostrada.it...


 >
[CUT]
Ti sarei grato se rispondessi dopo e non prima dei messaggi precedenti.
Quello che intendevo io era generare a fronte dell'evento "Su clic" del
pulsante di comando un codice VBA di questo tipo:
Private Sub Comando10_Click()
Dim dbs As Database
Set dbs = CurrentDb
Dim rstRec As Recordset
Set rstRec = dbs.OpenRecordset("Recuperi")
Dim DataMin As Variant
DataMin = DMin("[Data1]", "Recuperi", "Cognome=" & Chr$(34) & SceltaNome &
Chr$(34))
If IsNull(DataMin) Then
 MsgBox ("Cognome inesistente")
 Exit Sub
End If
Dim strdata As Date
strdata = InputBox("Immettere la data:")
Do Until rstRec.EOF
If rstRec!Cognome = Me!SceltaNome And rstRec!Data1 = DataMin Then
    rstRec.Edit
    rstRec!Data2 = strdata
    rstRec.Update
    rstRec.Close
    Exit Sub
End If
rstRec.MoveNext
Loop
rstRec.Close
End Sub
Il nome Data è riservato, per evitare eventuali complicazioni l'ho cambiato
in Data1.


 ha scritto nel messaggio
news:BdBh6.36378$eQ5.7...@twister2.tin.it...

Non puoi togliere Chr$(34) e basta, visto che Cognome è di tipo testo; però
in alternativa puoi lavorare con i doppi apici.
Poiché la soluzione non l'avevo provata, per scrupolo l'ho fatto ora ed a me
funziona regolarmente. Se vuoi la mando al tuo indirizzo e-mail; fammi
sapere.
Non è per caso che hai fatto un brutale copia incolla dal mio messaggio
precedente? In questo caso il secondo Chr$(34) si sarebbe trovato a capo da
solo: però ti avrebbe dovuto dare errore di sintassi.


Per Roberto.
Ho avuto qualche problema con l'installazione dell'Access2000. L'ho
installato su una direttori diversa da quella dell'Access97. Il 2000 mi
funziona e il 97 mi dice che non ho la licenza d'uso. "Chevvordì?" (leggi
"che cosa significa?")
Ma a parte questo ho provato il tuo listato col 2000 e, strano ma vero,
funziona alla grande!
Bravo!
Grazie!

 funziona alla grande!
OK

 Ho seguito le indicazioni che mi hai dato per la risoluzione del problema
della licenza Access. Ho risolto anche questo problema. Grazie di nuovo, sei
un amico prezioso.

 ha scritto nel messaggio
news:rI_h6.57906$GM6.2...@news.infostrada.it...



 funziona alla grande!
Non "strano ma vero"...
quando c'è di mezzo Roberto, solo "VERO"!!
Sei un Grande.
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com