Newsgroup: it.comp.appl.access
Titolo: Eliminare record da una casella di riepilogo

Su un archivio con più campi, ho creato una maschera di ricerca che mi
elenca i risultati in una casella di riepilogo.
esiste un modo per eliminare i record (non più necessari) direttamente
dalla casella di riepilogo?
ciao
Sthepan

 Sthepan
-- 
Roberto
------------------------------------------------
il Sito Comune di it.comp.appl.access
www.sitocomune.com
-----------------------------------------------

> Sthepan
Ciao
nella casella di riepilogo vanno a finire inordine i dati originati da
tabella tramite querye sono composti da id, campo1, campo 2 e campo3
ciao
Sthepan

 Sthepan

 selezionati nella casella di riepilogo oppure vuoi solo NON visualizzarli.
Ciao,
questo e l'SQL della query
SELECT tblArchivio.NomeFile, tblArchivio.Percorso, tblArchivio.CD
FROM tblArchivio
WHERE (((tblArchivio.NomeFile) Like "*" & [form]![frmRicerca]![txtscr] &
"*")) OR (((tblArchivio.Percorso) Like "*" & [form]![frmRicerca]![txtscr] &
"*")) OR (((tblArchivio.CD) Like "*" & [form]![frmRicerca]![txtscr] & "*"))
ORDER BY tblArchivio.NomeFile, tblArchivio.Percorso, tblArchivio.CD;
questo è il codice della maschera
Private Sub txtscr_AfterUpdate()
If IsNull(txtscr) Or txtscr = "" Then
    VisTitoli.RowSource = VisTitoli.Tag
    res.Caption = "Trovato/i " & VisTitoli.ListCount - 1 & "Voci"
Else
    VisTitoli.RowSource = "SELECT tblArchivio.CD, tblArchivio.NomeFile,
tblArchivio.Percorso FROM tblArchivio WHERE (((tblArchivio.CD) Like '*" &
txtscr & "*')) OR (((tblArchivio.Percorso) Like '*" & txtscr & "*')) OR
(((tblArchivio.NomeFile) Like '*" & txtscr & "*')) ORDER BY
tblArchivio.NomeFile, tblArchivio.CD, tblArchivio.Percorso;"
 
    res.Caption = "Trovato/i " & VisTitoli.ListCount - 1 & "Voci"
    'MsgBox VisTitoli.RowSource
End If
 
End Sub
intendevo eliminarli definitivamente o in alternativa spostarli in altra
tabella usata come cestino
ciao
Sthepan

 Sthepan
-- 


>
Ciao
Volevo eliminare solamente quelli che seleziono  nella casella di
riepilogo. Per interderci Eseguo una ricerca con 10 risultati di questi 10
mi accorgo che 2 non intendo piů tenerli e voglio eliminarli o spostarli.
ciao Sthepan

 ha scritto nel messaggio
news:444jmttwy49u.1li1wwiuv82uj$.dlg@40tude.net...

Se, come mi sembra di capire la casella di riepilogo si chiama VisTitoli ed
ha tre colonne, per cancellare il record relativo alla riga della casella di
riepilogo selezionata con il mouse, a fronte dell'evento "Su clic" della
casella di riepilogo genera il seguente codice VBA:
Private Sub VisTitoli_Click()
Dim strSQL As String
strSQL = "DELETE * FROM tblArchivio " & _
"WHERE NomeFile ='" & Me!VisTitoli.Column(0) & _
"' AND Percorso ='" & Me!VisTitoli.Column(1) & _
"' AND CD ='" & Me!VisTitoli.Column(2) & "';"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
Me!VisTitoli.Requery
End Sub


>
Ciao Roberto,
il codice che mi hai mandato non funziona, ho provato, ma non cancella
nulla.
Forse non sarebbe meglio se io aggiungo una colonna alla casella di
Riepilogo VisTitoli , ideintificata ID, non visibile, abilitando anche la
selezione multipla. e poi far eseguire la cancellazione da un tasto?
Forse per vedere meglio i risultati si potrebbe far si che i dati vengano
solamente  spostati dalla tabella tblArchivio ad una tblCestino, in modo
che qualsiasi errore sia cmq recuperabile.
Grazie per l'aiuto che mi stai dando
Ciao 
Sthepan

 
Ciao ho sistemato il problema, ora funziona, solamente un dubbio mi č
rimasto visto cosě č facile eliminare un record per sbaglio, forse sarebbe
il caso di far eseguire la cancellazione da un tasto nella stessa maschera.
e cmq per evitare danni si potrebbe far si che i dati vengano
solamente  spostati dalla tabella tblArchivio ad una tblCestino, in modo
che qualsiasi errore sia cmq recuperabile, sempre tramite un tasto.
che ne dici?
ciao Sthepan

 Sthepan
-- 


 che ne dici?
A questo problema ho già risposto nel mio messaggio in risposta al tuo
messaggio di ieri sera delle ore 20:35.


>
Ciao 
e grazie per l'aiuto.
Dunque il problema che ho risolto era relativo alla numerazione delle
colonne, nel tuo codice non erano come nel mio, è bastato riordinare i
numeri e tutto ha funzionato.
per quanto riguarda la selezione multipla tramite codice,
io sono arrivato ad un punto morto, adattando un pezzo di codice  sono
arrivato a questo punto:
Private Sub Erase_Click()
On Error GoTo Err_Erase_Click
    Me!Lista = Null
    Dim strLista As String
    Dim strCriteri As String
    Dim varItem As Variant
       If Me!VisTitoli.ItemsSelected.Count = 0 Then Exit Sub
      For Each varItem In Me!VisTitoli.ItemsSelected
            strLista = strLista & _
            Me!VisTitoli.Column(0, varItem) & ","
        Me!Lista = Me!Lista & _
            Me!VisTitoli.Column(1, varItem) & ", "
    Next varItem
 
    strLista = Left$(strLista, Len(strLista) - 1)
    Me!Lista = Left$(Me!Lista, Len(Me!Lista) - 2)
 
      strCriteri = "[IDFile] IN (" & strLista & ")"
 
    Dim strSQL As String
    strSQL = "DELETE * FROM tblArchivio "
 
però ora non riesco a continuare. Non so come far eseguire la stringa SQL
in base alla stringa Criteri.
quindi devo di nuovo chiedere aiuto.
ciao Grazie Sthepan

 ciao Grazie Sthepan


 
Ciao,
ho provato, ma quando l'eseguo mi da l'errore "impossibile trovare il Campo
Lista indicato".
ciao
Sthepan



Ciao di Nuovo, 
risolto il problema, mi sono dimenticato di creare una casella di testo non
visibile nella maschera che conterra l'elenco dei file da cancellare
ciao
Sthepan



Scusa se disturbo di nuovo
ho un problema con questo codice che volevo utilizzare prima di quello
sopra per copiare i record nella tbl Cestino
Dim strSQL As String
    strSQL = "INSERT INTO tblCestino * FROM tblArchivio " & _
                    "WHERE " & strCriteri & ";"
    DoCmd.SetWarnings False
    DoCmd.RunSQL strSQL
    DoCmd.SetWarnings True
ma mi da sempre errore di sintassi.
Dove sbaglio?
ciao Sthepan

 ciao Sthepan
