Maschera creazione Assieme

di il
17 risposte

Maschera creazione Assieme

Buongiorno a tutti. Sono nuovo nel forum e sono un neofita con Access.
Chiedo scusa se ho creato un argomento ridondante, e chiedo ai moderatori di spostarlo.

Sto creando un DB per la gestione di distinte componenti.
Descrivo brevemente il DB:
Tabella_Componenti (ID_Componente, Attributi);
Tabella_Completi (ID_Completo, Attributi);
Tabella_DB_CPL (ID_CPL, ID_Completo; ID_Componente); è la tabella con cui ho creato la relazione molti a molti tra le prime due.

Vorrei creare un maschera che mi permette di:
1) SE IL COMPLETO NON ESISTE: compilare l'anagraifca del Completo
2) SE IL COMPLETO ESISTE, trovarlo tramite una combo e visualizzare tutti gli attributi;
Una volta fatto uno dei due passi precedenti, voglio ASSOCIARE, al COMPLETO, uno o più COMPONENTI come segue:
3) SE IL COMPONENTE NON ESISTE: crearne uno nuovo (mediante l'apertura della maschera Anagrafica Componente)
4) SE IL COMPONENTE ESISTE GIA': Cercare il componente e associarlo al Completo che sto assemblando.

Il passaggio più difficile è il 4:
In pratica ho creato una sottomaschera COMPONENTE e mediante un acombo voglio:
a) scegli Componente;
b) con un pulsante voglio fare ASSEMBLA
c) fare la stessa cosa con n componenti.

Per favore, potete aoitarmi? Ve ne sarei grato.
Forse non ho spiegato bene quello che voglio fare, chiedetemi pure approfondimenti.

Grazie mille a tutti
Ciao
Claudio

17 Risposte

  • Re: Maschera creazione Assieme

    Non è chiaro se preferisci lavorare con maschera/sottomaschera oppure direttamente in maschera DB_CPL.
    Prova comunque a leggere qui

  • Re: Maschera creazione Assieme

    Nella relazione MOLTI a MOLTI, tutt'altro che banale... la SottoMaschera viene basata sulla Tabella di Appoggio, quella che chiami [Tabella_DB_CPL].
    In pratica Maschera basata su [Tabella_Completi] e SottoMaschera in modalità Continua su [Tabella_DB_CPL].
    In questa SottoMaschera al posto del controllo TextBox associato al campo [ID_Componente] metterai una ComboBox associata sempre al campo [ID_Componente] ma con RowSourceType=Query e RowSource="SELECT ID_Componente, Attributi FROM Tabella_Componenti...."

    In questo modo assegni ad ogni Completo il suo componente andando a popolare la Tabella intermedia.

    Io preferisco usare delle ListBox... perchè mi consente anche di fare selezioni MULTIPLE... ma serve più dimestichezza con il codice.
  • Re: Maschera creazione Assieme

    Innanzitutto, ancora grazie.
    @ Osvaldo: vorrei avere una maschera unica basata su DB_CPL, ma se rimase difficile posso passare a maschera/sottomaschera.

    Provo ad adottare i vostri consigli e vi aggiorno

    Ciao
    Claudio
  • Re: Maschera creazione Assieme

    Lavorando su maschera DB_CPL avrai 2 caselle combinate. Quando scegli dalla 1a incontrerai il problema c'è o non c'è e ti comporterai di conseguenza con il giochetto di ApriMaschera e Requery (scenario 1). Idem dicasi per la 2a casella combinata.
  • Re: Maschera creazione Assieme

    Ho seguito il file Word allegato da Osvaldo, e devo dire che funziona tutto.
    Ho un problema con il seguente codice VBA
    Private Sub Comando121_Click()
    [Forms]![Distinta_Completi]![Smsc_DB_CPL]![ID_Componente] = [Me]![ID_Componente]
    DoCmd.Close acForm, "Anagrafica_Componente"
    [Forms]![Distinta_Componenti]![Smsc_DB_CPL]![ID_Componente].Requery
    End Sub

    Quello originale, scritto nel file word è:
    Private Sub ImpostaB_Click()
    [Forms]![A]![C]![IDB] = [Me]![IDB]
    DoCmd.Close acForm, "B"
    [Forms]![A]![C]![IDB].Requery
    End Sub

    Dove è l'errore?
    Ho provato anche ad impostare la macro ma non funziona ugualmente.
    Sembra che il problema riseida in questa parte : [Forms]![Distinta_Completi]![Smsc_DB_CPL]![ID_Componente] = [Me]![ID_Componente]

    Grazie
    Ciao
  • Re: Maschera creazione Assieme

    Io ho capito che stai lavorando sulla sola maschera DB_CPL. Quindi devi seguire il solo Scenario 1 che non prevede SOTTOMASCHERA. Questi codici che hai postato hanno la sintassi tipica delle sottomaschere.

    Fai attenzione quando scrivi codice VBA. In base al regolamento del forum è vivamente richiesto di:
    - mentre scrivi nel rettangolo dell'editor, clicca in basso su "Editor completo & Anteprima": appariranno molti più tasti
    - quindi seleziona il testo contenente il codice VBA e poi clicca su Code per farlo apparire con i tipici caratteri stile Courier New più familiari al colpo d'occhio dei programmatori
    - per controllare che tutto stia bene, puoi cliccare su Anteprima
  • Re: Maschera creazione Assieme

    Buonasera,

    ho creato un DB relazionale, come suggerito da Alex (immagine Relazioni)

    Ho creato una maschera in cui vorrei:
    Sotto maschera Assieme --> scelgo l'assieme (UNO)
    Sotto maschera Particolare --> scelgio n particolari da associare all'Assieme (Padre)
    Sotto maschera Normalizzato --> scelgio n normalizzati da associare all'Assieme (Padre)

    Sotto maschera Distinta è il riepilogo del tutto

    Non riesco a creare le associazioni.
    Per favore, qualcuno mi sa dare un indirizzo?
    Grazie mille
    Ciao
    Claudio
    Allegati:
    20757_4779ff6ce997799a6dd05e2a46c7904e.png
    20757_4779ff6ce997799a6dd05e2a46c7904e.png

    20757_b38f8e715c231155dcc67286821c39d1.png
    20757_b38f8e715c231155dcc67286821c39d1.png
  • Re: Maschera creazione Assieme

    Buongiorno,
    ho riletto tutti i post pubblicati e tento qualche suggerimento... (sperando di non aver male interpretato la struttura)

    punto 1
    Vorrei creare un maschera che mi permette di:
    1) SE IL COMPLETO NON ESISTE: compilare l'anagraifca del Completo
    Quindi immagino (da possibile utente) ad una maschera con sottomaschera dove:
    - in un textbox nella maschera, effettuo una ricerca scrivendo il nome del modello che vorrei inserire/ricercare
    - ad una sottomaschera che mi visualizzi eventuali riscontri in base a ciò che scrivo nel textbox.

    quindi...
    punto 2
    2) SE IL COMPLETO ESISTE, trovarlo tramite una combo e visualizzare tutti gli attributi;
    ...seleziono il modello nella sottomascera, premo un pulsante nella maschera e apro un altra maschera con sottomaschera che mostri il dettaglio del Completo (nella maschera) e i componenti necessari all'assemblaggio (nella sottomaschera).

    punto 3
    3) SE IL COMPONENTE NON ESISTE: crearne uno nuovo (mediante l'apertura della maschera Anagrafica Componente)
    ...La sottomaschera (descritta nel punto 1) sarebbe vuota quindi premo un pulsante che mi apre la maschera di creazione nuovo completo...

    punto 4
    Una volta fatto uno dei due passi precedenti, voglio ASSOCIARE, al COMPLETO, uno o più COMPONENTI come segue:
    ...cui, successivamente, inserisco i componenti necessari all'assemblaggio...

    e qui bisogna considerare
    4) SE IL COMPONENTE ESISTE GIA': Cercare il componente e associarlo al Completo che sto assemblando.
    giusto?
  • Re: Maschera creazione Assieme

    Ciao ANgelo,

    grazie per aver letto il mio post.
    Giusto!

    Vorrei allegare il db che sto creando ma non me lo fa allegare!!

    Provo a descriverlo
    Il tutto parte dalla maschera crea assieme.
    1) tramite pulsante "Inserisci Assieme" cerco l'assieme che voglio CREARE e premo sul textBox in rilevo.
    1.a)Se non lo torvo con il pulsante Nuovo Assieme, creo l'anagrafica del nuovo assieme.
    2) All'assieme selezionato nel passo 1) inizio ad associare i diversi particolari, scegliendoli tramite il taso Scegli Particolare.
    I passaggi sono uguali al punto 1: se esiste lo seleziono, se non esiste ne creo uno nuovo.

    Il problema è che fin quì va tutto bene.
    Lo step successivo è:
    Creare il complessivo formato da:
    - Uno o Più Assiemi;
    - Sicuramente Più di un normalizzato
    - Uno o Più Particolari.

    Quindi ho pensato che creando un database relazionale (padre Figlio) potevo evitare la complessità del db che ho impostato io e sopratutto facilitare la creazione della distinta.

    Grazie mille
    Ciao
    Claudio
  • Re: Maschera creazione Assieme

    Mi sfugge qualcosa...
    Forse una struttura ad albero aiuterebbe a comprendere la gerarchia delle tabelle...
    • Complessivo
      • assieme ( 1 o +)
        • componenti (1 o +)
    Normalizzati (1 o +) e particolari (>1) dove vanno?
    Nel tuo ultimo post i componenti non li hai menzionati mentre nel primo si... I'm confused!
  • Re: Maschera creazione Assieme

    OK,

    la struttura è:

    Oggetto Finito
    • - Gruppo Funzionale A
      • - Complessivo A
        • - Assieme a (formato da Particolari e in alcuni casi Normalizzati)
          • - ParticolareA
          • - ParticoalreB
        • -NormalizzatoX
        • -NormalizzatoY
      • - Complessivo B
        • - Assieme B (formato da Particolari e in alcuni casi Normalizzati)
          • - ParticolareA
          • - ParticoalreC
        • -NormalizzatoY
  • Re: Maschera creazione Assieme

    Se non ho capito male non c'é una dipendenza specifica tra complessivi, assiemi, particolari e normalizzati... Tutto si può ripetere all'infinito come parte di qualcosa più grande... Una specie di assemblato nell'assemblato... Almeno questo é quello che ho dedotto dalle tue "linee" visto che non hai utilizzato il tag list quando hai fatto il post... Ho dedotto bene?

    Inoltre i componenti non esistono più... Mi pare... Non li hai scritti...
  • Re: Maschera creazione Assieme

    Ho corretto il messaggio precedere, aggiungendo i tag list


    In pratica per componenti intendo una tabella che racchiude: Particolari, Normalizzait e Assiemi perchè hanno gli stessi attributi.
    La tabella sarebbe :
    Tbl_Componenti
    • PK) CODICE vedi post a cui mi hai appena risposto
    • Tipologia (Particolare, Normalizzato, Assieme)
    • Serial Number
    • Altri attributi
  • Re: Maschera creazione Assieme

    Quindi...
    2) SE IL COMPLETO ESISTE, trovarlo tramite una combo e visualizzare tutti gli attributi;
    immagino ti riferissi ai Complessivi?
    3) SE IL COMPONENTE NON ESISTE: crearne uno nuovo (mediante l'apertura della maschera Anagrafica Componente)
    e
    4) SE IL COMPONENTE ESISTE GIA': Cercare il componente e associarlo al Completo che sto assemblando.
    immagino ti riferissi alla tabella che contiene Particolari, Normalizzati e Assiemi

    i gruppo funzionale invece non dovranno essere associati ad altri oggetti finiti vero?... non li hai menzionati mi pare...
Devi accedere o registrarti per scrivere nel forum
17 risposte