Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-10-2008, 12:15   #1
Micene.1
Senior Member
 
L'Avatar di Micene.1
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 11398
[ACCESS] Impostare filtro su una maschera da combobox

allora ho una maschera che visualizza una tabella ...vorrei che la tabella fosse filtrata con un campo=X (esempio: mostrami tutti i record che nel campo Sito hanno come valore HWU)...il valore tuttavia del filtro lo vorrei fare impostare da una combobox presente nella maschera stessa

in altre parole:

ho la maschera con la tabella
ho un campo X nella tabella che voglio usare come filtro
ho creato sulla maschera un combobox del campo X che voglio usare come filtro in modo da avere l'elenco dei possibili valori di quel campo

seleziono un valore nella combobox
dico di visualizzare di nuovo la tabella nella maschera pero questa volta con il filtro sul campo X pari al valore messo nella combobox

come posso fare per dire prenditi sto valore dalla combobox e usalo come filtro?
Micene.1 è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2008, 13:44   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Semplicissimo.
Supponendo che tu abbia già la combo popolata e la maschera pronta, te la cavi con 2 righe di codice :

Codice:
Private Sub cmb_sito_Change()
    
    Form_M1.RecordSource = "SELECT * FROM T_nometabella WHERE Sito='" & cmb_sito.Text & "'"
    Form_M1.Requery
    
End Sub
In rosso i nomi da sostituire con i tuoi...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2008, 16:23   #3
Micene.1
Senior Member
 
L'Avatar di Micene.1
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 11398
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Semplicissimo.
Supponendo che tu abbia già la combo popolata e la maschera pronta, te la cavi con 2 righe di codice :

Codice:
Private Sub cmb_sito_Change()
    
    Form_M1.RecordSource = "SELECT * FROM T_nometabella WHERE Sito='" & cmb_sito.Text & "'"
    Form_M1.Requery
    
End Sub
In rosso i nomi da sostituire con i tuoi...
aspetta ti spiego che stavo creando in questi minuti



praticamente nella sezione filtro complesso volevo impostare prima tutti i combo box (combo1, 2 ,3) e poi con un pulsante imposta filtro (command1) avviare la query visualizzando il risultato direttamente sulla tabella nella maschera (Table)...poi con un altro pulsante azzerare la query se ce ne fosse bisogno (vabbe questo l'ho chiamato per distrazione imposta filtro di nuovo)

nn riesco a capire il codice per il pulsante "imposta filtro"

stavo provando seguiendo il tuo spunto in questo modo:

Private Sub Filter_Imp_Click()
Dim strNuovoRecord As String

If Not IsNull(Combo1) And Combo1 <> "" Then ' FORNITORE è NUMERICO ATTENZIONE
strNuovoRecord = "SELECT * FROM Table WHERE Campo1='" & Combo1.Value & "'"
Me.RecordSource = strNuovoRecord

Me.Requery

End If
End Sub

ma mi dà errore...poi pensavo come faccio a dirgli di eseguire la query con la WHERE solo sui combo che hanno effettivamente un valore selezionato (dovrei dunque eseguire la query anche solo per il combo 1 oppure solo per il combo2 & 3 e cosi via)

Ultima modifica di Micene.1 : 05-10-2008 alle 18:14.
Micene.1 è offline   Rispondi citando il messaggio o parte di esso
Old 06-10-2008, 12:42   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
In questo caso le cose si fanno un po' più complicate, ma niente di difficile. Io risolverei la cosa condizionando il contenuto di 3 parametri che costituiscono la ricerca, e che poi andranno a "costruire" la SELECT definitiva.

In soldoni, questo codice per il pulsante "Applica Filtri" :

Codice:
    Dim C1 As Variant
    cmbCampo1.SetFocus
    If cmbCampo1.Text = "" Then
        C1 = "IS NOT NULL"
    Else
        C1 = "=" & cmbCampo1.Text
    End If
        
    Dim C2 As Variant
    cmbCampo2.SetFocus
    If cmbCampo2.Text = "" Then
        C2 = "IS NOT NULL"
    Else
        C2 = "=" & cmbCampo2.Text
    End If
    
    Dim C3 As Variant
    cmbCampo3.SetFocus
    If cmbCampo3.Text = "" Then
        C3 = "IS NOT NULL"
    Else
        C3 = "='" & cmbCampo3.Text & "'"
    End If
    
    Dim strSql As String
    strSql = "SELECT * FROM T_nometabella" & _
             " WHERE Campo1 " & C1 & _
             " AND Campo2 " & C2 & _
             " AND Campo3 " & C3
    Form_M1.RecordSource = strSql
    Form_M1.Requery
E questo, per il pulsante "Reset Filtri" :

Codice:
    Form_M1.RecordSource = "SELECT * FROM T_nometabella"
    Form_M1.Requery
Prova.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2008, 10:45   #5
Micene.1
Senior Member
 
L'Avatar di Micene.1
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 11398
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
In questo caso le cose si fanno un po' più complicate, ma niente di difficile. Io risolverei la cosa condizionando il contenuto di 3 parametri che costituiscono la ricerca, e che poi andranno a "costruire" la SELECT definitiva.

In soldoni, questo codice per il pulsante "Applica Filtri" :

Codice:
    Dim C1 As Variant
    cmbCampo1.SetFocus
    If cmbCampo1.Text = "" Then
        C1 = "IS NOT NULL"
    Else
        C1 = "=" & cmbCampo1.Text
    End If
        
    Dim C2 As Variant
    cmbCampo2.SetFocus
    If cmbCampo2.Text = "" Then
        C2 = "IS NOT NULL"
    Else
        C2 = "=" & cmbCampo2.Text
    End If
    
    Dim C3 As Variant
    cmbCampo3.SetFocus
    If cmbCampo3.Text = "" Then
        C3 = "IS NOT NULL"
    Else
        C3 = "='" & cmbCampo3.Text & "'"
    End If
    
    Dim strSql As String
    strSql = "SELECT * FROM T_nometabella" & _
             " WHERE Campo1 " & C1 & _
             " AND Campo2 " & C2 & _
             " AND Campo3 " & C3
    Form_M1.RecordSource = strSql
    Form_M1.Requery
E questo, per il pulsante "Reset Filtri" :

Codice:
    Form_M1.RecordSource = "SELECT * FROM T_nometabella"
    Form_M1.Requery
Prova.
perfetto...grazie mille...è un piacere incontrare persone disponibili come te
Micene.1 è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2008, 11:26   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Micene.1 Guarda i messaggi
perfetto...grazie mille...è un piacere incontrare persone disponibili come te
Beh, se rispondo a un thread, è per dare una risposta concreta.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2008, 11:39   #7
Micene.1
Senior Member
 
L'Avatar di Micene.1
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 11398
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Beh, se rispondo a un thread, è per dare una risposta concreta.
ah certo anch'io...il fatto è che questa questione l'ho posta anche in altri forum...nn ti dico come mi hanno risposto...praticamente volevano che mi studiassi mezzo VB ADO etc. quando bastava scrivere mezzo codice come hai fatto tu (anche perche se mi devo studiare mezzo manuale che posto fare nei forum dove cè gente che ne sa piu di me)
Micene.1 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 11:45   #8
luca_dic
Junior Member
 
Iscritto dal: Nov 2002
Messaggi: 11
Quote:
Originariamente inviato da Micene.1 Guarda i messaggi
ah certo anch'io...il fatto è che questa questione l'ho posta anche in altri forum...nn ti dico come mi hanno risposto...praticamente volevano che mi studiassi mezzo VB ADO etc. quando bastava scrivere mezzo codice come hai fatto tu (anche perche se mi devo studiare mezzo manuale che posto fare nei forum dove cè gente che ne sa piu di me)

Buongiorno Ragazzi.

Sono un neofita di Access e in questi giorni ho la necessità di realizzare un file MDB che contiene proprio la stessa funzione che avete evidenziato in questo post.

Da neofita ( ho letto solo un breve libro su access 2003, ma tra la teoria dei libri e le necessità quotidiane c'è un abisso... ) faccio fatica a seguire la vostra discussione.

Dove va inserito il codice?
Associato a quale evento?
ecc..

Un file MDB mi sarebbe molto utile per capirne il funzionamento .
Riuscireste a mandarmene uno di esempio?

Grazie.

Luca
__________________
Intel Core I5 6500, H170M-ITX/DL, S-video Geforce GTX 970 , ssd 256gb
luca_dic è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 14:53   #9
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da luca_dic Guarda i messaggi
Buongiorno Ragazzi.

Sono un neofita di Access e in questi giorni ho la necessità di realizzare un file MDB che contiene proprio la stessa funzione che avete evidenziato in questo post.

Da neofita ( ho letto solo un breve libro su access 2003, ma tra la teoria dei libri e le necessità quotidiane c'è un abisso... ) faccio fatica a seguire la vostra discussione.

Dove va inserito il codice?
Associato a quale evento?
ecc..

Un file MDB mi sarebbe molto utile per capirne il funzionamento .
Riuscireste a mandarmene uno di esempio?

Grazie.

Luca
I vari manualetti veloci con quei titoli così fascinosi... "Access Facile", "Access in mezz'ora", "Access blah blah"... ti consiglio di lasciarli sullo scaffale. Molto furbi per chi li pubblica, poco o niente per chi deve imparare sul serio...

Qui trovi il file di Access, lo stesso che ho creato come prova per rispondere a Micene.1 :
http://www.filefactory.com/file/aghd...mbo_Filtro_mdb

Infine una precisazione : questo metodo può essere valido, posto che si sappia esattamente come concatenare direttive Sql e valori. In genere è una pratica che non ti consiglio di seguire come regola.
Il metodo più corretto in ogni caso è usare i parametri, come ad esempio qui ( Insert ) :
http://www.hwupgrade.it/forum/showthread.php?t=1977950

MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 15:41   #10
luca_dic
Junior Member
 
Iscritto dal: Nov 2002
Messaggi: 11
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
I vari manualetti veloci con quei titoli così fascinosi... "Access Facile", "Access in mezz'ora", "Access blah blah"... ti consiglio di lasciarli sullo scaffale. Molto furbi per chi li pubblica, poco o niente per chi deve imparare sul serio...

Qui trovi il file di Access, lo stesso che ho creato come prova per rispondere a Micene.1 :
http://www.filefactory.com/file/aghd...mbo_Filtro_mdb

Infine una precisazione : questo metodo può essere valido, posto che si sappia esattamente come concatenare direttive Sql e valori. In genere è una pratica che non ti consiglio di seguire come regola.
Il metodo più corretto in ogni caso è usare i parametri, come ad esempio qui ( Insert ) :
http://www.hwupgrade.it/forum/showthread.php?t=1977950

Ciao.

Grazie per la precisa e puntuale risposta.
Purtoppo da neofita si casca spesso in quei libricini "gialli" che millantano tutto il sapere facile e subito.

Se hai giò qualche titolo di pubblicazione testata che mi consigli, te ne sarei grato.

Per ora sono orinetato ad acquistare un libro Apogeo:
Access 2007 Guida completa
Uscita: Ottobre 2007
Pagine: 624
ISBN: 9788850326891
Apogeo


Ti ringrazio molto per i files di esempio, appena trovo 1 minuto li scarico a me li studio.

A presto e ancora grazie.

Luca
__________________
Intel Core I5 6500, H170M-ITX/DL, S-video Geforce GTX 970 , ssd 256gb
luca_dic è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 16:46   #11
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da luca_dic Guarda i messaggi
Se hai giò qualche titolo di pubblicazione testata che mi consigli, te ne sarei grato.

Per ora sono orinetato ad acquistare un libro Apogeo:
Access 2007 Guida completa
Uscita: Ottobre 2007
Pagine: 624
ISBN: 9788850326891
Apogeo
Manuali su Access non ne ho mai comprato uno.
Spesso mi capita, girando per librerie, di sfogliare e curiosare... Poi arriva il classico commesso che... "Insomma, lo legge o lo compra ?"

In linea di massima ti sconsiglio di prendere un manuale da 40 € o più.
Quello a cui fai riferimento non lo conosco, ma così, d'istinto, 624 pagine non sono poche, ma nemmeno tante ( se consideriamo che negli U.S.A. ci sono fior d'autori che fanno manuali da 1100, 1200 pagine su VBA, Excel e forse anche su Access... ).
L'offerta è davvero vasta, a volte debordante, e può creare confusione...
Io ti consiglio di dare un'occhiata alla collana "I Miti Informatica" di Mondadori, con prezzi accessibili, e se poi scopri che il manuale non ti è servito più di tanto, non pigli il muro a testate .
Ad esempio questo :
http://www.ibs.it/code/9788861140035...oft-acces.html
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2009, 17:52   #12
luca_dic
Junior Member
 
Iscritto dal: Nov 2002
Messaggi: 11
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Manuali su Access non ne ho mai comprato uno.
Spesso mi capita, girando per librerie, di sfogliare e curiosare... Poi arriva il classico commesso che... "Insomma, lo legge o lo compra ?"

In linea di massima ti sconsiglio di prendere un manuale da 40 € o più.
Quello a cui fai riferimento non lo conosco, ma così, d'istinto, 624 pagine non sono poche, ma nemmeno tante ( se consideriamo che negli U.S.A. ci sono fior d'autori che fanno manuali da 1100, 1200 pagine su VBA, Excel e forse anche su Access... ).
L'offerta è davvero vasta, a volte debordante, e può creare confusione...
Io ti consiglio di dare un'occhiata alla collana "I Miti Informatica" di Mondadori, con prezzi accessibili, e se poi scopri che il manuale non ti è servito più di tanto, non pigli il muro a testate .
Ad esempio questo :
http://www.ibs.it/code/9788861140035...oft-acces.html
Ciao.

Grazie per il consiglio.
Anche a me capita spesso di sfogliare libri rimanendo nel dubbio se comprarli o no.
Purtroppo, sempre più spesso, il libri non contengono tutte le informazioni per risolvere uno specifico problema, ad esempio quello da me evidenziato.

In questo caso si vaga nei vari siti internet alla ricerca di info o sorgenti mdb.

Ma fare il "reverse" di quei codici è difficile per un principiante.


Per ora ho solo il libricino "giallo" aAccess 2007 - I miti informatica 9€- i portatili.

Quello che ho selezzionato di apogeo affronta approfonditamente ( sembra ) anche moduli, macro e eventi.

Speriamo sia un buon acquisto.

Grazie.

Luca
__________________
Intel Core I5 6500, H170M-ITX/DL, S-video Geforce GTX 970 , ssd 256gb
luca_dic è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2010, 15:41   #13
cellax
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 27
continuo il topic, io ho creato una maschera, tutto funzionante, non ho errore di debug, ma il problema è che non vengono mostrati risultati.

ecco la mia funzione VB:
Codice:
Option Compare Database

Private Sub Comando2_Click()
On Error GoTo Err_Comando2_Click

    Dim stDocName As String

    stDocName = "per autori"
    DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Comando2_Click:
    Exit Sub

Err_Comando2_Click:
    MsgBox Err.Description
    Resume Exit_Comando2_Click
    
End Sub

Private Sub CasellaCombinata0_AfterUpdate()

End Sub

Private Sub CasellaCombinata0_Click()

End Sub

Private Sub CasellaCombinata0_Change()
    
    Form_Maschera1.RecordSource = "SELECT * FROM Articoli INNER JOIN Autori ON Articoli.[ID articolo]=Autori.[Codice articoli] WHERE (Autori.Cognome)='" & CasellaCombinata0.Text & "'"
    Form_Maschera1.Requery
    
End Sub


Private Sub Corpo_Click()

End Sub

Private Sub Form_AfterUpdate()

End Sub
in pratica quando cambio il valore nel menu a tendina mi aspetto che qualcosa venga fuori invece i risultati non vengono, come mai? csa sbaglio?

la query funziona, l'ho solo modificata per funzionare con la funzione dinamica della maschera
cellax è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2013, 14:46   #14
presta
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 3
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
In questo caso le cose si fanno un po' più complicate, ma niente di difficile. Io risolverei la cosa condizionando il contenuto di 3 parametri che costituiscono la ricerca, e che poi andranno a "costruire" la SELECT definitiva.

In soldoni, questo codice per il pulsante "Applica Filtri" :

Codice:
    Dim C1 As Variant
    cmbCampo1.SetFocus
    If cmbCampo1.Text = "" Then
        C1 = "IS NOT NULL"
    Else
        C1 = "=" & cmbCampo1.Text
    End If
        
    Dim C2 As Variant
    cmbCampo2.SetFocus
    If cmbCampo2.Text = "" Then
        C2 = "IS NOT NULL"
    Else
        C2 = "=" & cmbCampo2.Text
    End If
    
    Dim C3 As Variant
    cmbCampo3.SetFocus
    If cmbCampo3.Text = "" Then
        C3 = "IS NOT NULL"
    Else
        C3 = "='" & cmbCampo3.Text & "'"
    End If
    
    Dim strSql As String
    strSql = "SELECT * FROM T_nometabella" & _
             " WHERE Campo1 " & C1 & _
             " AND Campo2 " & C2 & _
             " AND Campo3 " & C3
    Form_M1.RecordSource = strSql
    Form_M1.Requery
E questo, per il pulsante "Reset Filtri" :

Codice:
    Form_M1.RecordSource = "SELECT * FROM T_nometabella"
    Form_M1.Requery
Prova.
Chiedo scusa se ritiro fuori questo topic dopo anni.
Ho trovato questo esempio, che è proprio quello che fa per me, per un caso 'speculare'. Il problema è che quando esegue le routine associate ai pulsanti mi dà l'errore sulla riga "Form_M1.RecordSource=strSql", e idem in quella speculare del pulsante di reset dà un errore . Ovviamente ho sostituito correttamente il nome del mio form. L'errore è "necessario oggetto". Qualcuno sa darmi una mano?

Grazie mille!
presta è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Solo le cialde Nespresso Original costan...
Un nuovo materiale termoelettrico promet...
Nuova acquisizione per Apple: ingegneri ...
OpenAI ritira il taglio al Pro 200, Anth...
Polymarket, script esterno compromesso: ...
I MacBook Pro con display OLED avranno u...
DeepSeek rilascia Superagent: arriva l'a...
Meta ha costruito in Cina il robot umano...
App non ottimizzate sui pieghevoli? Goog...
Dyson Supersonic super scontato su Amazo...
Proscenic punta al massimo con le scope ...
Altri pieghevoli per Samsung: l'azienda ...
Musk non riesce a fermare la causa: le t...
Grafene al posto del silicio per le cell...
F-Stop, il prequel cancellato di Portal ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v