Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Discussione: [ACCESS] combobox

  1. #11
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    [supersaibal]Originariamente inviato da ivano_76
    Ricapitoliamo

    Ho una tabella con dei nomi di persone che si chiama PERSONE. Ho una maschera che si chiama MASCHERA1 che ha una combo e un pulsante.
    Ho creato una query normale (senza parametri) che estrae tutti i nomi dalla tabella. Il nome della Query è CERCA.
    Voglio questo: scelgo il nome tramite la combo e quando faccio click sul pulsante, il nome che ho scelto deve essere passato alla query CERCA. Io credevo che mettendo nei criteri della Query questo codice
    =Maschera!combo1.value
    la Query mi facesse visualizzare la persona che ho scelto tramite maschera. E invece non lo fa
    Quindi: scelgo dalla combo la persona, clicco sul pulsante e il valore selezionato deve farmi scatenare una query che mostri i dati di quella persona. Spero di essere chiaro....
    In realtà poi il pulsante chiamerà un report che a sua volta chiamerà la query CERCA. [/supersaibal]
    2 strade:

    semplice:
    nella maschera dove devi mettere i dati della persona.. aggiungi un COMBO...e seguendo la wizard ..fai la ricerca...

    complessa:
    come hai fatto tu..
    combo
    prendi il valore..
    lo metti nell'altra maschera nel filtro
    ricordati di ABILITARE IL FILTRO
    maschera.filtro="xxxxxx"
    maschera.attivafiltro=true
    (non ricordo la sintassi esatta)
    al limite dai un
    maschera.requery o .refresh

  2. #12
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Scusa seclimar .. ma nn è più facile se mi spieghi come si fa a passare 1 parametro alla query?

    Mi viene sempre la maschera della query come se fosse 1 query parametrica ..

  3. #13
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    non credevo fosse utile ..visto che era gia' stato postato un po' di volte:

    codice:
    dim sql as string
    sql =  "SELECT * FROM Tabella WHERE nome ='" & me.nomeCombo.value & "'" 
    msgbox sql
    ora dentro sql hai una query con passato il parametro preso dalla combo...

    il problema maggiore e' ....che cavolo devi fare con la query
    e soprattutto cosa devi fare alla fine...
    con il mio post precedente ti ho detto le due strade per risolvere il problema da te evidenziato

    se invece intendi risolvere un'altra cosa..spiegami..

  4. #14
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Caro Seclimar.. non ci capiamo.
    Io per QUERY in questo Post non intendo "SELECT * FROM ... WHERE .."
    Io ho creato un OGGETTO QUERY in modalità struttura che si chiama CERCA. Se faccio doppio click sull'oggetto query, viene fatta partire la ricerca.
    Dall'oggetto maschera che si chiama MASCHERA1 devo selezionare gli utenti tramite la combo e poi con il pulsante devo fare in modo che l'OGGETTO QUERY che si chiama CERCA mi visualizzi l'utente che ho selezionato
    Per cui il codice che mi hai dato tu:

    dim sql as string
    sql = "SELECT * FROM Tabella WHERE nome ='" & me.nomeCombo.value & "'"
    msgbox sql


    che è giusto non mi interessa! Io vorrei qualcosa del genere:
    Chiamo la routine del click sul pulsante

    Sub Pulsante_click()

    doCmd.openQuery "CERCA" ' cerca è il nome dell'oggetto query

    end sub


    Ok? E' la Query CERCA che deve (almeno credo) accettare in ingresso
    il parametro della maschera.

    Nella struttura dell'OGGETTO Query se si vuole fare una query statica si mette come criterio il nome. Ad esempio voglio cercare quelli che si chiamano Ivano, metto nel criterio "ivano"
    Ma come c...o si fa a mettere come criterio, il parametro di un altro oggetto, nel mio caso una combo di una maschera????????

    Io ho provato a mettere =Maschera1!Combo1.Value ma non funziona!!!

  5. #15
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    apri la tua vista (o query.. o view)

    molto probabilmente e' una SELECT
    usiamo la modalità grafica (anche se non cambia nulla)

    hai le colonnine con le condizioni..
    in pratica le WHERE
    nella condizione..
    invece di mettere una stringa:
    ="xxxxxxxxxxxx"
    fai click con il tasto destro del mouse...
    GENERA (wizard)
    li scegli l'oggetto che vuoi ...

    una volta fatto questo ti uscirà qualcosa tipo:
    =maschera.oggetto.value
    (o simile)


    e' questo che intendevi ?

  6. #16
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    esattamente quello. Solo che lo avevo già fatto! E la query mi da un risultato nullo, cioè apre 1 tabella vuota
    Ecco cioè che ho scritto tramite il comando genera nella query:
    [Forms]![persone]![combo1].[Text]

    Ho messo .text perché nn +è presente .value

    E questa è la query scritta in SQL

    SELECT persone.id, persone.nome
    FROM persone
    WHERE (((persone.nome)=[Forms]![persone]![combo1].[Text]));


    generata da Access!!!

    Solo che nn funziona! Ma come mai?

  7. #17
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    [supersaibal]Originariamente inviato da ivano_76
    esattamente quello. Solo che lo avevo già fatto! E la query mi da un risultato nullo, cioè apre 1 tabella vuota
    Ecco cioè che ho scritto tramite il comando genera nella query:
    [Forms]![persone]![combo1].[Text]

    Ho messo .text perché nn +è presente .value

    E questa è la query scritta in SQL

    SELECT persone.id, persone.nome
    FROM persone
    WHERE (((persone.nome)=[Forms]![persone]![combo1].[Text]));


    generata da Access!!!

    Solo che nn funziona! Ma come mai? [/supersaibal]
    DEBUG:

    SELECT persone.id, persone.nome,(([Forms]![persone]![combo1].[Text]))
    FROM persone


    senza where
    giusto ?
    cosi' vedi cosa esce da combo
    magari e' sbagliata la logica
    magari qualche trim

    finche' non fai DEBUG non si puo' scoprire

  8. #18
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Dunque... ho fatto il debug
    Questa è la mia stringa di codice:


    SQL = "SELECT nome,id FROM Persone WHERE nome='" & Variabile & "'"


    Variabile è una variabile che memorizza il valore della combo quando ci faccio click sopra.
    In effetti il valore è corretto. Ad esempio seleziono il nome Marco e nella SQL leggo

    SQL = "SELECT nome,id FROM Persone WHERE nome='Marco'"

    Però se faccio
    DoCmd.RunSQL SQL

    Access mi dice : Un'azione EseguiSQL richiede un argomento costituito da un'istruzione SQL

    Insomma.. non capisce la mia SQL. Come si usa la SELECT in ACCESS ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.