Casella combinata doppio criterio di ricerca uso scanner

di il
7 risposte

Casella combinata doppio criterio di ricerca uso scanner

Salve a tutti.
Da giorni mi sto imbattendo in questo problema.
Su una machera ho posizionato una casella combinata da utilizzare per la ricerca degli articoli presenti nella tabella Articoli così strutturata (ID; Codice1; Codice2; Descrizione).
La casella combinata è impostata in modo tale da lavorare sul Codice1 anche se viene visualizzato pure il Codice2 e viene utilizzata sparando a scanner l'articolo.
Alcuni articoli hanno entrambi i codici ma alcuni altri hanno solamente il Codice2 per cui in questi casi la ricerca risulta fallita.
C'è un modo per far si che Access vada a controllare l'eventuale presenza del Codice2?

Grazie.

PS: In EXCEL è fattibile attraverso la funzione cerca.vert debitamente strutturata

7 Risposte

  • Re: Casella combinata doppio criterio di ricerca uso scanner

    Non so se si può fare: chiedo conferma a utenti più esperti. Cosa succede se tu organizzassi 2 campi con casella combinata che puntano entrambi su ID, ma uno visualizza Codice1-Codice2, l'altro visualizza Codice2-Codice1?
  • Re: Casella combinata doppio criterio di ricerca uso scanner

    Grazie Osvaldo.
    La cosa migliore sarebbe se funzionasse su di una sola casella combinata in modo da poter utilizzare l'evento "SU NON IN ELENCO" e contribuire così a popolare ulteriormente l'anagrafica articoli.
  • Re: Casella combinata doppio criterio di ricerca uso scanner

    Ciao,
    nel caso di utilizzo di evento not in list decade il quesito che hai posto.
    imposta su not in list questo :
    
        Dim rst As dao.Recordset
        Set rst = DBEngine(0)(0).OpenRecordset("TuaOrigineDatiComboBox", dbOpenDynaset)
        rst.AddNew
        rst!TuocampoDiTuaOrigineDatiDaAggiungere= NewData
        rst.Update
        Response = acDataErrAdded
    
    
    per popolare l'origine dati della tua combo per aggiungere il nuovo valore impostato solo in elenco si per quanto al controllo della form.
    facci sapere, un saluto.
  • Re: Casella combinata doppio criterio di ricerca uso scanner

    L'evento not in list non lo ho ancora predisposto perché mi sono arenato sul primo problema.
    Grazie cmq per la dritta.
  • Re: Casella combinata doppio criterio di ricerca uso scanner

    Spadino ha scritto:


    La cosa migliore sarebbe se funzionasse su di una sola casella combinata in modo da poter utilizzare l'evento "SU NON IN ELENCO" e contribuire così a popolare ulteriormente l'anagrafica articoli.
    Io in un caso relativamente simile, ho predisposo un pulsante che imposta la casella combinata diversamente, a piacere dell'utente:
    1. Io generalmente uso le query per organizzare le caselle combinate, quindi crea Query1 con il seguente ordine campi:
    ID|Codice1|Codice2|Descrizione
    2. Crea Query2 con quest'altro ordine campi:
    ID|Codice2|Codice1|Descrizione
    3. Crea un pulsante di comando sulla maschera che commuta da Query1 a Query2 l'organizzazione della casella combinata, cioè imposta diversamente la proprietà Origine riga. Opportune condizioni dovrebbero regolare il corretto funzionamento del pulsante.
    Spero tu abbia compreso il meccanismo...se serve, provo a entrare più nei dettagli tecnici.
  • Re: Casella combinata doppio criterio di ricerca uso scanner

    Grazie Osvaldo.
    Le due Query le ho create ma non riesco a impostare il pulsante che dovrebbe commutarle.
  • Re: Casella combinata doppio criterio di ricerca uso scanner

    1. Crea una macro in visualizzazione struttura e apri la colonna Condizioni
    2. rigo1 Condizione, scrivi:
    [Maschere]![NomeMaschera]![NomeCasellaCombinata].[RowSource] = "Query1"
    rigo1 Azione, scrivi:
    ImpostaValore
    Elemento: [Maschere]![NomeMaschera]![NomeCasellaCombinata].[RowSource]
    Espressione: "Query2"
    3. rigo2 Condizione, scrivi 3 puntini (...)(vuol dire "idem come sopra")
    rigo2 Azione, scrivi ArrestaMacro
    4. rigo3 Condizione, scrivi:
    [Maschere]![NomeMaschera]![NomeCasellaCombinata].[RowSource] = "Query2"
    rigo3 Azione, scrivi:
    ImpostaValore
    Elemento: [Maschere]![NomeMaschera]![NomeCasellaCombinata].[RowSource]
    Espressione: "Query1"
    5. Salva la macro con nome CambiaOrganizzazioneCasellaCombinata (non so trova tu un nome più corto)
    6. Vai alla visualizzazione struttura della maschera. Bisogna associare un evento che faccia funzionare la macro. Io avevo organizzato il clic del pulsante, forse tu vorresti NotInList. Scegli l'evento a te più congeniale da associare alla macro CambiaOrganizzazioneCasellaCombinata e salva la struttura della maschera.
Devi accedere o registrarti per scrivere nel forum
7 risposte