Casella combinata

di il
6 risposte

Casella combinata

Ciao A tutti, premetto che sono un principiante in access e devo risolvere il seguente problema.
Ho una maschera principale dove è indicato un numero commessa, all'apertura tramite un pulsante, di una seconda maschera, dove è presente una casella combinata, la quale contiene tutte le commesse create, vorrei, che il dato della casella combinata deve posizionarsi sul numero della commessa relativo alla maschera principale e tutti gli altri record devono essere vuoti.
Allegati:
22918_640ff916f917cfa74cbe234a83282ae6.jpg
22918_640ff916f917cfa74cbe234a83282ae6.jpg

22918_f7091956395aa6af66e2b85b1ef34c03.jpg
22918_f7091956395aa6af66e2b85b1ef34c03.jpg

6 Risposte

  • Re: Casella combinata

    Nomi cognomi e società sarebbero da evitare ... meglio oscurarli ....
  • Re: Casella combinata

    Pippo_012 ha scritto:


    Ho una maschera principale dove è indicato un numero commessa, all'apertura tramite un pulsante, di una seconda maschera, dove è presente una casella combinata, la quale contiene tutte le commesse create, vorrei, che il dato della casella combinata deve posizionarsi sul numero della commessa relativo alla maschera principale e tutti gli altri record devono essere vuoti.
    Aiuto! Ci credi che non riesco a seguirti? Potresti ridire la stessa cosa usando i nomi propri di:
    maschera1, maschera2
    nome casella combinata
    nomi degli altri campi
  • Re: Casella combinata

    Che rapporto esiste tra la maschera Gestione e la maschera Note...?
    Immagino siano legate dalla commessa...? 1-1 oppure
    Se 1-1 immagino sia solo uno zoom della nota a quel punto la combo però non avrebbe senso...
    Se 1-M si articola... e fatico a capire il legame relazionale tra i 2... ma la necessità della combo mi lascia perplesso ugualmente.

    Come apri la 2? Codice nel caso vi siano dei Criteri...
  • Re: Casella combinata

    Ciao Alex,
    le maschere sono legate dal numero commessa 1-M. La maschera note si apre tramite il pulsante (inserisci nota) comandato da una macro. La combo mi serve, dopo aver aperto la maschera "note" dirgli a quale commessa deve associare la nota.

    Sicuramente ci sarà un metodo meno articolato, ma come ho accennato io sono un principiante.
  • Re: Casella combinata

    Pippo_012 ha scritto:


    Ciao Alex,
    le maschere sono legate dal numero commessa 1-M. La maschera note si apre tramite il pulsante (inserisci nota) comandato da una macro. La combo mi serve, dopo aver aperto la maschera "note" dirgli a quale commessa deve associare la nota.

    Sicuramente ci sarà un metodo meno articolato, ma come ho accennato io sono un principiante.
    Mmmmm qualche cosa non torna...!
    Se la Maschera Commesse apre la Maschera Note, e le tabelle sono in 1-M, va da se che la Maschera Note deve aprirsi in automatico sulla Commessa, non devi selezionarla tu...!
    Quindi Essendo una NOTA, devi definire se sei in Aggiunta o in Editazione.
    Se sei in Aggiunta devi passare sul parametro OpenArgs l'IDPK della Commessa che rappresenta la ChiaveEsterna che lega 1-m
    Su Load della Form(Note) aperta in modalità Aggiunta, leggi il parametro OpenArgs e valorizzi come DefaultValue il Controllo IdCommessa che deve essere NON EDITABILE.
    Riassumendo dalla Form Commesse, su Button di Inserimento Note:
    
    DoCmd.OpenForm "MascheraNote", , , , acFormAdd, acDialog, Me.IdCommessa
    Nella Form Note:
    
    Private Sub Form_Load()
        If Len(Me.OpenArgs & vbNullString) > 0 Then
            Me.IdCommessa.DefaultValue = Chr(34) & Me.OpenArgs & Chr(34)
        End If
    End Sub
    Ovviamente tu vorrai leggere non il Numero della FK della Commessa, ma il Titolo della commessa, quindi metterai un Controllo Non associato NON EDITABILE che, recuperando il Valore di IdCommessa recupera il Destittivo o Nome...!
    Ti basta mettere nella TextBox come OrigineControllo
    
    =DlookUp("NomeCommessa";"tblCommesse";"IdCommessa=" & [IdCommessa])
    Se invece apri la Maschera Note in modalità EDIT, l'apertura avverrà in questo modo:
    
    DoCmd.OpenForm "MascheraNote", , , "[IdCommessa=" & Me.IdCommessa, acFormEdit, acDialog
  • Re: Casella combinata

    Se o capito bene la combo la devo eliminare.
    Domani provo.
Devi accedere o registrarti per scrivere nel forum
6 risposte