Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Access] Casella combinata

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Access] Casella combinata

Postdi acquario » 17/08/09 11:06

Salve a tutti e buone ferie per chi lo è ancora, da un po' di tempo sto cercando di risolvere un problema in access ma senza esito.
Spiego: :( avendo delle maschere (in diversi DB) che sono la conseguenza di una query con un campo variabile (cioè quel campo che ti chiede di inserire il dato per poter completare la query), quello che vorrei ottenere è che la finestra che si apre all'avvio della maschera chiedendo di inserire il su detto dato, mi dia la possibilità di selezionare tale dato, da un elenco a tendina proprio come una casella combinata per l'inserimento dei dati, naturalmente se fosse possibile fare questo senza l'uso del VBA considerato che lo mastico poco, in caso contrario cercherò di capirlo un po' di più.
Grazie a tutti coloro che vorranno aiutarmi a risolvere tale problema.
acquario
acquario
Utente Junior
 
Post: 44
Iscritto il: 04/03/09 12:57

Sponsor
 

Re: [Access] Casella combinata

Postdi Flash30005 » 20/08/09 00:20

Personalmente uso le maschere nelle quali inserisco caselle combinate collegate alle tabelle.
In queste caselle seleziono il dato che desidero filtrare e con un pulsante di comando effettuo la query che prenderà come "where" il dato selezionato nella casella combinata.
Se pensi che così possa esserti utile ti dò tutte le informazioni per realizzare questo metodo.

Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Access] Casella combinata

Postdi acquario » 26/08/09 08:59

Ciao Flash30005
con qualche giorno di ritardo riprendo questo argomento, quello che mi proponi non l'ho mai provato, anche se uso molto le caselle combinate ma solo per l'immissione dati attinti da una tabella/elenco per evitare errori, quindi se e quando puoi, inviami pure qualche indicazione in merito a questo diverso utilizzo delle caselle combinate.
Ti ringrazio e ti saluto
acquario
acquario
Utente Junior
 
Post: 44
Iscritto il: 04/03/09 12:57

Re: [Access] Casella combinata

Postdi Flash30005 » 26/08/09 19:42

Apri una maschera in struttura
seleziona, nella barra degli strumenti, la casella combinata
disegnala nel corpo della maschera
apparirà una finestra di Creazione guidata
scegli Ricerca valori in una Tabella o query
Scegli la tabella dove hai i dati (che utilizzerai per la query), se non hai la tabella la crei prima della creazione guidata
nella schermata successiva scegli il campo utile (dalla finestra a sinistra verso quella destra)
nella schermata successiva puoi mettere i dati in Ordine Crescente, selezionando il campo interessato e premendo Crescente
premi avanti fino a dare il nome all'elemento es. MioElenco
Salvi la maschera (Menu)
-----
Torni nella struttura della maschera (Menu)
prendi dalla barra degli strumenti un pulsante di comando
e lo disegni nella corpo della maschera
questa volta annulli la Creazione guidata
poi con il tasto destro selezioni Genera evento e > Generatore di codice
il cursore lampeggerà all'interno dei codici:

Codice: Seleziona tutto
Private Sub Comando42_Click()
'qui inserirai la macro seguente
End Sub

quindi (a te non sarà Comando42 ma forse Comando1 o altro)

Codice: Seleziona tutto
Private Sub Comando42_Click()
Dim db As Database
wherex = " TabellaDaFiltare.NomeCampo = '" & MioElenco & "'"
Set db = CurrentDb
criterio = "Insert Into TabellaDestinazione (Campo1, Campo2, Campo3, NomeCampo, Campo4) SELECT Campo1, Campo2, Campo3, NomeCampo, Campo4 FROM TabellaDaFiltrare where " & wherex
'MsgBox criterio    '<<<< togliendo l'apice potrai vedere se Criterio è stato correttamente impostato prima dell'esecuzione
db.Execute criterio
db.Close
End Sub

Salvi il Menu e, se tutto ok, al comando del pulsante avrai la tua tabella filtrata in TabellaDestinazione

Attenzione il codice '" & MioElenco & "'" è composto da ' (apice) " (doppio apice) & Variabile (MioElenco) & " (doppio apice) ' (apice) " (doppio apice)

Fai sapere se tutto ok
(altrimenti invia un tuo Database come esempio)
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Access] Casella combinata

Postdi acquario » 27/08/09 14:15

Scusami Flash, ci ho perso la testa per tutta la mattinata ma non riesco a concludere, io non ho scritto mai una riga di codice tranne che con la macro e non riesco a capirne la struttura di quello che mi hai scritto, ora provo a inviarti uno dei tanti piccoli DB che ho, si tratta di quello che uso per portare contezza della manutenzione auto nonché archivio storico la maschera che ho creato per la prova che mi ai suggerito è d) M Maschera1
http://rapidshare.com/files/272141896/db2.mdb.html
Praticamente cercavo di creare una tabella o maschera tabulare , dell'elenco della manutenzione fatta con la possibilità di selezionare quale macchina interessare, una cosa del genere già esiste nei report, ma come dicevo nel primo topic all'avvio del report ti chiede di inserire il nome macchina senza poterlo selezionare da un elenco a tendina, per il nome macchina non è un problema ma ho altri casi in cui la stringa da inserire è molto più complessa quindi è facile sbagliare.
La dove è possibile, per favore, se puoi scrivere l'azione che svolge ogni istruzione Grazie
acquario
acquario
Utente Junior
 
Post: 44
Iscritto il: 04/03/09 12:57

Re: [Access] Casella combinata

Postdi Flash30005 » 27/08/09 20:57

Ho creato una tabella "TFAuto" e relativo comando che la compila e la mostra
Ho creato una Query "d)_Q_Manutenzione_auto_immissione_dati" e relativo comando che l'avvia (si può realizzare anche un comando diretto senza query)
Ho collegato la casella combinata alla tua tabella "d) T nomi auto" invece che a "d) T Auto" come avevi fatto
Ora puoi scegliere quale comando più ti aggrada
se scegli il comando che avvia la tabella, la query è superflua
se scegli il comando attraverso la query (migliore per molti versi) puoi cancellare la tabella TFAuto e il relativo comando
La casella combinata è necessaria per entrambe
Il codice Vba è:
Codice: Seleziona tutto
Private Sub Comando2_Click()
Set db = CurrentDb
    criterio = "delete from TFAuto"
    db.Execute criterio
    If Me.ElencoAuto = "..." Then
    MsgBox "Selezionare modello Auto", vbInformation
    GoTo salta
    End If
    Wherex = " [d) T Auto].Auto = '" & ElencoAuto & "'"
    criterio = "INSERT INTO TFAuto ( Auto, Settore, Azione, Descrizione, Codice, DataAcquisto, DataUtilizzo, KmCambio, Controllo, Costo_Unit_o_List, Costo_Tot, [Note], KmAttuali ) "
    criterio = criterio & "SELECT [d) T Auto].Auto, [d) T Auto].Settore, [d) T Auto].Azione, [d) T Auto].Descrizione, [d) T Auto].Codice, [d) T Auto].DataAcquisto, [d) T Auto].DataUtilizzo, [d) T Auto].KmCambio, [d) T Auto].Controllo, [d) T Auto].[Costo Unit o List], [d) T Auto].[Costo Tot], [d) T Auto].Note, [d) T Auto].KmAttuali FROM [d) T Auto] where " & Wherex & " ORDER BY [d) T Auto].Descrizione, [d) T Auto].DataUtilizzo "
    'MsgBox criterio
    db.Execute criterio
    db.Close
   
    Dim stDocName As String
    Dim MyForm As Form
    stDocName = "TFAuto"
    Set MyForm = Screen.ActiveForm
    DoCmd.SelectObject acTable, stDocName, True
    DoCmd.OpenTable stDocName
    'DoCmd.SelectObject acForm, MyForm.Name, False
salta:
End Sub

Private Sub ComandoQuery_Click()
On Error GoTo Err_ComandoQuery_Click
    If Me.ElencoAuto = "..." Then
    MsgBox "Selezionare modello Auto", vbInformation
    GoTo salta
    End If
    Dim stDocName As String

    stDocName = "d)_Q_Manutenzione_auto_immissione_dati"
    DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_ComandoQuery_Click:
    Exit Sub

Err_ComandoQuery_Click:
    MsgBox Err.Description
    Resume Exit_ComandoQuery_Click
salta:
End Sub

Ma ti invio il file
http://rapidshare.com/files/272288511/db2m.mdb.html

Ciao

P.s. è opportuno non utilizzare mai i caratteri speciali come ")" e non lasciare mai spazi nei nomi di Tabelle, Query, Maschere, Report etc perché ciò complica il programma in Vba.
Al posto dello spazio è possibile mettere "_" (underscore) oppure ancora meglio usare l'iniziale parola maiuscola e non mettere nulla es. d)_Q_Manutenzione_auto_immissione_dati può divenire QManutAutoImmDati, nome molto più breve e ugualmente intuitivo
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Access] Casella combinata

Postdi ldmo990 » 30/08/09 18:12

Ciao Flash,
ho utilizzato quello che hai consigliato per un'altra applicazione e va benissimo!
Non sono però riuscito a non inserire nessun criterio nella casella di riepilogo in modo da non "filtrare" la query.
Riesci ad aiutarmi?
ldmo990
Newbie
 
Post: 1
Iscritto il: 30/08/09 17:51

Re: [Access] Casella combinata

Postdi acquario » 04/09/09 19:58

ciao fash
scusami se mi faccio vivo dopo tanti gg ma ho avuto un po' di problemi in uff. a causa di una grande mole di lavoro improvviso e a casa poi non ne parliamo visto che ho anche una fam. a cui badare, volevo dirti che non sono riuscito a scaricare il file forse perchè è passato molto tempo, io ricordo di aver letto che dopo qualche giorno il file viene cancellato dal server vero?, c'è la possibilità di riaverlo?
grazie
acquario
acquario
Utente Junior
 
Post: 44
Iscritto il: 04/03/09 12:57

Re: [Access] Casella combinata

Postdi acquario » 06/09/09 10:38

Ritiro quanto detto nel precedente post, operazione compiuta grazie flash, ti farò sapere
acquario
acquario
Utente Junior
 
Post: 44
Iscritto il: 04/03/09 12:57

Re: [Access] Casella combinata

Postdi acquario » 16/10/09 11:27

Prego flash di non mettermi alla gogna per non essermi fatto più vivo ma credimi non ho ancora avuto il tempo per studiare l'adattabilità del tuo operato ad altre circostanze, ma per quanto inviatomi tutto ok Grazie per la disponibilità.
acquario
acquario
Utente Junior
 
Post: 44
Iscritto il: 04/03/09 12:57


Torna a Applicazioni Office Windows


Topic correlati a "[Access] Casella combinata":


Chi c’è in linea

Visitano il forum: Nessuno e 21 ospiti