Creare [stringa] da caselle combinate

di il
8 risposte

Creare [stringa] da caselle combinate

Buongiorno a tutti , sarò molto grato a chi mi aiuterà a risolvere quest'ostacolo di percorso. Ho un DB ACCESS nel quale ho costruito una maschera (con visualizzazione MASCHERE CONTINUE) che contiene tre menu a tendina (casella combinata CC1 - CC2- CC3) i quali sono alimentati ognuno da una tabella distinta con 2 colonne senza ID (es. TAB1 =[NOME] e [COGNOME] - TAB2 =[VERNICE] e [COLORE] - TAB3 =[MATERIALE] e [SPESSORE]). Ogni casella combinata visualizza al momento della scelta entrambe le colonne per maggior informazione es.[NOME] e [COGNOME] ovviamente una volta effettuata la scelta viene mostrato soltanto il valore della prima colonna. A questo punto io vorrei creare un campo [STRINGA ] sempre nella stessa maschera dove concatenare i valori però della seconda colonna esempio =[COGNOME]&[COLORE]&[SPESSORE]. Inizialmente per risolvere la cosa avevo associato ai vari aggiornamenti delle caselle combinate l'istruzione VBA tipo ME.[STRINGA] = ME.CC1.column(1) ecc. Purtroppo però essendo la visualizzazione in MASCHERE CONTINUE aggiornando la CC1 del primo record mi va ad inserire il valore in [STRINGA] anche nei record successivi visualizzati non mantenendo l'indipendenza dei record. Domanda : esiste un modo in VBA o anche tramite SQL per far si che il campo [STRINGA] si mantenga indipendente per ogni singolo record? Spero di essermi spiegato... Grazie in anticipo.

8 Risposte

  • Re: Creare [stringa] da caselle combinate

    2 Problemi... le Combo devono avere assolutamente il Campo ID come CampoAssociato, e questo perchè le Tabelle devono relazionari per campo CHIAVE e non sarà mai il Nome o Cognome... quindi quello che fai è sbagliato.
    Quando avrai corretto, per risolvere quello che dici, si alimenta la Combo con una Query di questo tipo:
    
    SELECT ID, ([Nome] & " - " & [Cognome]) As NomCogn FROM NomeTabella OrderBy Cognome,Nome
    poi si imposta la visualizzazione con 2 Colonne di cui le larghezze sono "0;8cm"...

    Fai attenzione che hai commesso un gravissimo errore concettuale.
  • Re: Creare [stringa] da caselle combinate

    Grazie per la risposta.
    Capisco cosa stai dicendo , davo però per scontato che le tabelle associate ai menu a tendina non avendo , in questo caso ,relazioni di alcun tipo potessero stare senza ID in quanto fungono da elenco statico. Detto questo aggiungo l'ID e provo ad applicare la query. Per il punto 2 ok. Ti faccio sapere.
  • Re: Creare [stringa] da caselle combinate

    I riferimenti indicizzati sono sempre importanti velocizzano le ricerche... ma il vantaggio fondamentale è che domani se cambi il descrittivo non devi cambiare nulla sui pregressi... in quanto l'indice non cambia.
    Ovviamente questo in taluni è un difetto... ma basta saperlo.
  • Re: Creare [stringa] da caselle combinate

    Ciao @Alex , ho analizzato meglio la tua risposta e penso che non ci siamo capiti molto bene... Comunque nessun problema , ho allegato 4 immagini per farti capire esattamente che cosa voglio ottenere. Se qualcuno può aiutarmi grazie in anticipo.
    Allegati:
    10677_276b34a8cd2e1b7ab553ba6dc073c1ad.jpg
    10677_276b34a8cd2e1b7ab553ba6dc073c1ad.jpg

    10677_e05fc41de3371d403c9a8a3d9b4aae18.jpg
    10677_e05fc41de3371d403c9a8a3d9b4aae18.jpg

    10677_97ad05e52f9395c34461a3b6a3db92da.jpg
    10677_97ad05e52f9395c34461a3b6a3db92da.jpg

    10677_6d61361a87a8c1f77cd2b69c8e82cfd5.jpg
    10677_6d61361a87a8c1f77cd2b69c8e82cfd5.jpg
  • Re: Creare [stringa] da caselle combinate

    Mi chiedo che senso abbia postare immagini illeggibili.


    Elimina tutto quello che non c'entraa nulla e mostra solo la parte di interesse.
  • Re: Creare [stringa] da caselle combinate

    Vediamo se va meglio questa immagine....
    Allegati:
    10677_27f05d666f1028db0c4a9c3c03bea966.jpg
    10677_27f05d666f1028db0c4a9c3c03bea966.jpg
  • Re: Creare [stringa] da caselle combinate

    Devi obbligatoriamente visualizzare il valore ID(Numerico)....?
    Perchè se metti a ZERO la colonna ID visualizzi direttamente il campo TESTO, di solito si fa così...

    Le maschere continue sono un problema per queste cose, ma prova a scrivere nella proprietà OrigineControllo della TextBox una cosa di questo tipo adeguando i Nomi ovviamente
    
    =[NomeComboBox].Column(2)
    Potresti avere una brutta sorpresa però... verifica bene.
  • Re: Creare [stringa] da caselle combinate

    Io non ho capito tutto-tutto il discorso, ma se il problema è solo quello di "ottimizzare" le caselle combinate, suggerisco la lettura di questo documento
Devi accedere o registrarti per scrivere nel forum
8 risposte