Contenuto in elenco

di
Anonimizzato13810
il
9 risposte

Contenuto in elenco

Buonasera a tutti, mi servirebbe un aiuto.
Vorrei fare una query in vba dove il dato inserito nei criteri viene da un campo che contiene più valori.
Es select * from "nome tabella" where "nome campo" = "verde,rosso,giallo ecc.ecc."
Il dato inserito nel "campo campo" viene da una form dove posso inserire più valori per es. 10,20,30,45 oppure 1,5,7 oppure giallo marrone ecc.
come faccio a fare questa cosa?
Grazie in anticipo.
ciao
Giuseppe

9 Risposte

  • Re: Contenuto in elenco

    Una risposta parziale sarebbe quella di applicare il seguente criterio in query:
    [Maschere]![NomeMaschera]![NomeCampo]
    Come vedi io non ti parlo di tabella ma di una maschera che guarda la tua tabella.

    Però, nella tua esposizione, non quadra il fatto di avere molti valori in uno stesso campo...qui dovresti spiegarci perchè ce l'hai impostato così, altrimenti sospetto un errore di normalizzazione.
  • Re: Contenuto in elenco

    Crea una query trascina dentro la tabella e sotto il campo dove vuoi applicare il criterio scrivi "giallo" or "rosso" or "verde" ecc. ecc,
  • Re: Contenuto in elenco

    Il campo in questione "tipi disegno" lungo 11 caratteri non contiene solo un valore per es. "a" ma contiene i valori "a.b.c.d.lib". Ad ogni dato di questo campo per es. "a" corrisponde un disegno. Questo campo "tipi disegno" arriva da un database già fatto e sto rifacendo il frontend appoggiandomi al database già esistente.
    Quindi ho bisogno di fare un query che in base ai valori inseriti nel campo "tipi disegni" mi fa selezionare solo i disegni contenuti in quel campo. Se avevo una tabella con campi singoli era molto più semplice.
    Mi potete aiutare?
    Grazie

    ciao

    Giuseppe
  • Re: Contenuto in elenco

    Nella query crea un criterio del tipo:
    Like "*a*"
    se vuoi filtrare tutti i record contenenti "a".
    Se vuoi scegliere tu ogni volta come filtrare, allora scrivi:
    Like [Digita la lettera]
    il testo dentro le parentesi quadre è libero. Si chiama "parametro" e quando vai a eseguire la query ti apparirà una finestra dove devi digitare tu manualmente un valore. Siccome ogni volta vorresti filtrare una sola delle lettere incluse nel tuo campo, devi avere l'accortezza di digitare la lettera con gli asterischi sempre prima e dopo.
  • Re: Contenuto in elenco

    Un unico coampo con più valori.... c'è un separatore di elenco tra un valore e l'altro? ,;:(punto, punto e virgola, due punti) ?
  • Re: Contenuto in elenco

    Ti spiego meglio: ho una casella combinata con i valori "a" "b" "c" "d" "e" "f" "g" che arrivano da una query di una tabella. Questo elenco devo vederlo solo in funzione di un campo contenuto in un altra tabella dove un campo singolo contiene per es. i valori a.b.d
    Nella casella combinata devo vedere poter selezionare solo i valori "a" "b" "d"
    Grazie in anticipo.
    ciao
  • Re: Contenuto in elenco

    Tra un valore e un altro c'è un .
  • Re: Contenuto in elenco

    Non so quanta conoscenza hai di VBA... comunque te la caveresti utilizzando le seguenti funzioni:
    len -> per trovare la lunghezza del campo "misto"
    mid -> per selezionare carattere per carattere

    variabili e settaggi:
    variabile string e concatenzazione stringhe -> per memorizzare un carattere dopo carattere fino al "."
    combobox.additem per aggiungere parola dopo parola
    la combo deve essere controllo non associato e deve avere proprietà a "elenco valori"

    saluti
  • Re: Contenuto in elenco

    Buonasera a tutti,
    ho inserito questo codice in un campo casella combinata pensando che i valori inseriti nel campo erano tutti uguali ovvero es. "A.C.D.F." e quindi con questo codice il test funzionava. In realtà il campo contiene questo dato: "A.C.D.F.LIB." quindi a volte è superiore a un carattere.
    Cosa devo cambiare nel codice inserito per far si che ad ogni punto c'è un nuovo valore e quindi diverso da 1 solo carattere e ripopolare correttamente la combo?
    Grazie in anticipo a chi mi aiuta.
    Giuseppe

    Private Sub CasellaCombinata31_GotFocus()
    'pulisce elenco
    Do While CasellaCombinata31.ListCount > 0
    CasellaCombinata31.RemoveItem (0)
    Loop
    'riempie elenco
    Dim testo As String
    testo = Replace(ELENCO_DISEGNO, ".", "")
    Dim l As Integer
    l = Len(testo)
    Dim i As Integer
    i = 1
    For i = 1 To l
    Dim voce As String
    voce = (Mid(testo, i, 1))
    CasellaCombinata31.AddItem (voce)
    Next
    End Sub
Devi accedere o registrarti per scrivere nel forum
9 risposte