Filtro multiplo

di il
28 risposte

28 Risposte - Pagina 2

  • Re: Filtro multiplo

    CAro Angelo, seguendo i tuoi consigli e indicazioni ho fatto un altro filtro simile al precedente su un'altra maschera, che è la suguente:
    Private Sub Comando42_Click()
    On Error GoTo Err_42_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "M_anagrVend"

    ' [CITTA] è sempre obbligatorio altrimenti non vedi nulla
    If Me.cerco = "alloggio" Then
    stLinkCriteria = "[vendo]=" & "'" & Me![cerco] & "' And [citta]=" & "'" & Me![città] & "' And [dimensione]=" & "'" & Me![dimens] & "'"
    ElseIf Me.dimens = "" Or IsNull(Me.dimens) Then ' Se VENDO rimane vuota mi cerca tutto quello che c'è in determinata Città

    stLinkCriteria = "[vendo]=" & "'" & Me![cerco] & "' And [citta]=" & "'" & Me![città] & "'"
    End If

    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_42_Click:
    Exit Sub

    Err_42_Click:
    MsgBox Err.Description
    Resume Exit_42_Click
    End Sub

    La modifica che vorrei fare è la seguente (spero di farmi capire) :
    nella maschera che visualizzo prima di applicare la condizione, ho un campo che si chiama "città 2°" e vorrei che confrontasse i valori uguali nel campo "citta" (che è il campo di confronto).
    Se il campo "città 2°" fosse vuoto allora dovrebbe saltarlo.

    Grazie ancora
  • Re: Filtro multiplo

    Scusa... non ho capito
    la maschera dove c'è citta 2 è la stessa nella quale c'è il pulsante in merito al quale mi hai postato il codice oppure è in una maschera intermedia tra la maschera criterio e quella visualizzazione?

    in che senso deve "saltarlo" e soprattutto c he cosa deve saltare citta o citta 2?

    saluti
  • Re: Filtro multiplo

    Citta2 è nella stessa maschera dove c'è il pulsante.
    citta2 è un campo che non sempre viene riempito, quindi l'ideale dovrebbe essere che se vuoto, non esegue il confronto.
    spero che così sia un po più comprensibile.
    grazie
  • Re: Filtro multiplo

    Eccomi... se non ho interpretato male tu vorresti aggiungere una condizione che permetta di confrontare 2 città differenti...
    
    On Error GoTo Err_42_Click
    
    Dim stDocName As String
    Dim stLinkCriteria As String
    
    stDocName = "M_anagrVend"
    
    ' [CITTA] è sempre obbligatorio altrimenti non vedi nulla
    If Me.cerco = "alloggio" Then
    stLinkCriteria = "[vendo]=" & "'" & Me![cerco] & "' And ([citta]=" & "'" & Me![città] & "' Or [citta]=" & "'" & Me![città 2] & "') And [dimensione]=" & "'" & Me![dimens] & "'"
    ElseIf Me.dimens = "" Or IsNull(Me.dimens) Then ' Se VENDO rimane vuota mi cerca tutto quello che c'è in determinata Città
    
    stLinkCriteria = "[vendo]=" & "'" & Me![cerco] & "' And ([citta]=" & "'" & Me![città] & "' Or [citta]=" & "'" & Me![città 2] & "')"
    End If
    
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    
    Exit_42_Click:
    Exit Sub
    
    Err_42_Click:
    MsgBox Err.Description
    Resume Exit_42_Click
    
    prova così... ho messo l'operatore Or e le parentesi tonde
  • Re: Filtro multiplo

    Birra virtuale pagata ad Angelo
  • Re: Filtro multiplo

    Un nuovo quesito per Angelo o chi vorrà aiutarmi.
    Prendendo a riferimento l'ultimo codice ottimamente modificato da Angelo, vorrei riuscire alla richiesta di confronto campo citta ad ottenere più risultati di citta vicine fisicamente.
    Mi spiego meglio!!
    Alla richiesta sul campo città= nord ovest , la risposta filtrata dovrebbe essere tutte le città presenti del nord ovest preventivamente caricate (torino, Milano,Genova,,, ecc ecc).
    Dove bisogna agire?
    Creare un citta [nord ovest] = città [to mi ge] o cosa ???
    grazie
  • Re: Filtro multiplo

    Cioè vorresti aggiungere nella prima maschera un confronto anche su un altro campo?

    esempio [Posizione]: NW ,N, NE; CW,C,CE;SW;S;SE ???
  • Re: Filtro multiplo

    No no.. mi spiego meglio.
    a volte la ricerca di una città è semplice, cerca genova, trova genova, ma può capitare che la ricerca sia cerca le citta della" riviera di levante" e la risposta dovrebbe essere restitiuscimi tutte le città che abbiamo raggruppato tra quelle della "riviera di levante".
    Così è comprensibile?
  • Re: Filtro multiplo

    Ora è più comprensibile.

    Secondo me dovresti creare una tabella dove metti, ad esempio, un campo locazione (riv. di levante) e un campo con la città associata.

    Poi fai una query che ti lega la nuova tabella con quella che hai già (1 a molti) e la usi come origine dati per la maschera che visualizza i risultati.

    ovviamente poi si dovrebbe rivedere il codice. (pianificare pianificare pianificare...)

    saluti
  • Re: Filtro multiplo

    Grazie..... mi metto al lavoro
  • Re: Filtro multiplo

    Angelo_Tbp ha scritto:


    ora è più comprensibile.

    Secondo me dovresti creare una tabella dove metti, ad esempio, un campo locazione (riv. di levante) e un campo con la città associata.
    ciao Angelo ho creato una tabella nuova ma cosa vuoi dire con "e un campo con la città associata"?
    Mi ci sto picchiando ma non riesco a combinare nulla...
  • Re: Filtro multiplo

    Io l'ho immaginata così
    tbl_citta (prima tabella) che contiene campi ID (Contatore), Nome (Testo), Posizione (Testo)
    1, MILANO, NORD
    2, TORINO, NORD
    3, ROMA, CENTRO
    4, PALERMO, SUD
    5, LATINA, CENTRO
    6, CATANIA, SUD

    l'altra tabella (seconda tabella) è quella già esistente dove tu hai ID (Contatore), vendo (Testo) ,citta (NUMERICO) e dimensione (dipende dal tipo di dato... credo numerico).
    1, GARAGE, 1
    2, ALLOGGIO, 1
    3, CABINA, 4
    ecc., ecc.

    potresti valutare l'opportunità di creare anche una terza tabella con ID e TIPO per un'altra relazione 1 a molti contenente (1,garage;2, alloggio...ecc.) ma in questo esempio non ho considerato tale opportunità (anche se in termini di normalizzazione converrebbe... in tal caso vendo diverrebbe di tipo NUMERICO)

    Crei una relazione 1 a molti tra "ID" della prima tabella e "citta" della seconda tabella [questo spiega il (NUMERICO) che ho attribuito al campo "citta" che secondo me dovresti rinominare in "IDCitta" ]...

    ...fatto questo crei una query. basata su entrambe le tabelle, che visualizzi rispettivamente, dalla seconda tabella e dalla prima tabella, [vendo],[dimensione] e [Nome], [Posizione]

    tale query costituirà l'origine dati della mascherà che visualizzera i dati (quella che appariva al click del pulsante nella maschera dei filtri...)
    ma cosa vuoi dire con "e un campo con la città associata"?
    intendevo dire che alla posizione NORD ti associ nel campo citta MILANO... e così via...

    ciao
  • Re: Filtro multiplo

    Ti ringrazio.... sei sempre fonte d'ispirazione... mo' provo
  • Re: Filtro multiplo

    Angelo_Tbp ha scritto:



    l'altra tabella (seconda tabella) è quella già esistente dove tu hai ID (Contatore), vendo (Testo) ,citta (NUMERICO) e dimensione (dipende dal tipo di dato... credo numerico).
    ciao
    il problema che il campo citta di quella tabella è testo non numerico.......

    Ho creato come mi hai suggerito una tabella nuova (ID, NOME;POSIZIONE) tutto testo ma non capisco come poi relazionarla
Devi accedere o registrarti per scrivere nel forum
28 risposte