+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

apertura di campo di record corrente in altra maschera

  1. #1
    Sarri non è in linea Scolaretto
    Buon giorno a tutti.
    mi trovo a risolvere un problema, ma è da una settimana che lego in rete e non ne vengo a capo.

    ho una maschera di inserimento con relazione una a "molti" -->"sottomaschera continua"

    ora mi trovo ad aggiungere nei campi della Sottomaschera continua (cioè nella tabella molti), un campo Note, che siccome può contenere una parola, ma anche una poesia per dire, per l'inserimento e anche per una consultazione futura, ho pensato di inserire di fianco a destra, un pulsante con tre puntini, che sull'evento click mi apra una semplice maschera pop up, dove inserire, e visualizzare eventuali note, del record corrente, vito che la letture di una text box, sarebbe troppo complicata!

    riesco ad aprire la maschera pop up, ma come faccio a dirli alla maschera di andare a leggere, il campo note, di quel specifico record corrente della sottomaschera?
    spero di essere stato chiaro
    Grazie a tutti

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Access offre in modo nativo questa opzione:
    Docmd.RunCommand acCmdZoomBox
    
    Se la richiami su DoppioClick non devi aggiungere altro.
    Se la richiami con il CommandButton, inserisci prima un SetFocus al controllo NOTE.
    ℹ️ Leggi di più su @Alex ...

  3. #3
    Sarri non è in linea Scolaretto
    Grazie della risposta, non conoscevo la funzione.
    Siccome non ho spazio sulla maschera, lo farei sul pulsante, ma devo per forza avere la casella di testo visibile, perche deve prendere il focus!
    c'e modo di farlo non vedendo la casella di testo?

    Ora mi sto documentando, perche la funzione e ottima ma non premette personalizzazioni, tipo, cambio del testo del titolo della maschera, forma, colore, etc....
    sto capendo che non e molto semplice...
    ci sono alternative allo zoombox? oppure...
    e personalizzabile?

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Realizzare una cosa simile è relativamente semplice...!
    Guarda questo mio vecchio demo:
    ZoomBox

    Quando scarichi il File, rinominalo con Estensione ZIP poi lo apri...
    ℹ️ Leggi di più su @Alex ...

  5. #5
    OsvaldoLaviosa non è in linea Topo di biblioteca
    Quote Originariamente inviato da Sarri
    Ora mi sto documentando, perche la funzione e ottima ma non premette personalizzazioni, tipo, cambio del testo del titolo della maschera, forma, colore, etc....
    ...ci sono alternative allo zoombox? oppure...
    e personalizzabile?
    Una volta mi sono trovato in una situazione simile alla tua e, non conoscendo ZoomBox, mi sono avvalso di una seconda maschera SINGOLA avente gli stessi campi, con il campo Note decisamente grande...che puoi personalizzare anche nel testo, ecc... Conseguenza di questa soluzione ti avvali di una istruzione tipo
    DoCmd.OpenForm "SecondaMaschera", , , "[CampoID] = " & Me!CampoID
    
    Ultima modifica di OsvaldoLaviosa; 25-08-2021 14:45 
    ℹ️ Leggi di più su OsvaldoLaviosa ...

  6. #6
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Quote Originariamente inviato da OsvaldoLaviosa Visualizza il messaggio
    Una volta mi sono trovato in una situazione simile alla tua e, non conoscendo ZoomBox, mi sono avvalso di una seconda maschera SINGOLA avente gli stessi campi, con il campo Note decisamente grande...che puoi personalizzare anche nel testo, ecc... Conseguenza di questa soluzione ti avvali di una istruzione tipo
    DoCmd.OpenForm "SecondaMaschera", , , "[CampoID] = " & Me!CampoID
    
    Non va bene per nienete questa soluzione...!
    Prima cosa la Form deve essere aperta in modalità DIALOGO, non deve poter essere rimosso il Filtro IMPOSTO dalla WHERECOND altrimenti puoi scorazzare, ma la cosa più importante è che ti trovi ad avere 2 Maschere potenzialmente in EDIT attive con la possibilità di conflitto transazionale.
    Quando chiudi la Form che hai aperto con il campo Note Grande ed hai modificato il contenuto... la Form sotto non ha il contenuto modificato ma quello vecchio... quindi se non fai il requery ma salvi prima, basta cambiare Record, è come fare un UNDO, perchè vai a RISCRIVERE il vecchio contenuto che si sovrascrive nuovamente e la modifica viene persa.

    Non è così che si gestiscono le cose.
    ℹ️ Leggi di più su @Alex ...

  7. #7
    Sarri non è in linea Scolaretto
    Eccomi di nuovo
    allora alex...

    il codice della tua maschera _Zomm della demo
    su apertura è:

    Private Sub Form_Open(Cancel As Integer)
        Dim actObj      As Object
        Dim ActFrm      As Access.Form
        Dim ms          As String
        
        Set ActFrm = Screen.ActiveForm
        If ActFrm.Name <> Screen.ActiveControl.Parent.Name Then
                ' -----------------------------------------------------------------------------------------
                ' If the ActiveObject(Name) is different from Parent(Name)
                ' our ActiveContol is in a nested one
                ' -----------------------------------------------------------------------------------------
               Set actObj = Screen.ActiveControl.Parent
                    
                ' -----------------------------------------------------------------------------------------
                ' Loop_Back until i find PARENT(Type)=FORM
                ' -----------------------------------------------------------------------------------------
                Do Until TypeOf actObj Is Form
                    Set actObj = actObj.Parent
                    DoEvents
                Loop
                Set ActFrm = actObj
       '        Me.lblForm.Caption = "SubForm : " & ActFrm.Name
       '        Me.lblControl.Caption = "Controllo : " & Screen.ActiveControl.Name
        'Else
       '        Me.lblForm.Caption = "Form : " & ActFrm.Name
       '        Me.lblControl.Caption = "Controllo : " & Screen.ActiveControl.Name
       End If
        
        Me.RecordSource = ActFrm.RecordSource
        Set Me.Recordset = ActFrm.Recordset
        
        
        If Me.NewRecord Then
            MsgBox "Prima di editare il Testo inserire il Record Corrispondente", vbCritical, "AVVISO"
            Cancel = True
        Else
            Me.TxtZoom.ControlSource = Screen.ActiveControl.ControlSource
            Me.TxtZoom.SelLength = 0
            Me.TxtZoom.SelStart = Len(Nz(Me.TxtZoom))
        End If
    End Sub
    
    
    Private Sub cmdClose_Click()
        On Error Resume Next
        DoCmd.RunCommand acCmdSaveRecord
        DoCmd.Close acForm, Me.Name
    End Sub
    
    la parte di codice:

       '        Me.lblForm.Caption = "SubForm : " & ActFrm.Name
       '        Me.lblControl.Caption = "Controllo : " & Screen.ActiveControl.Name
        'Else
       '        Me.lblForm.Caption = "Form : " & ActFrm.Name
       '        Me.lblControl.Caption = "Controllo : " & Screen.ActiveControl.Name
    
    l'ho tolta

    1° perche

    Me.lblForm.Caption
    Me.lblControl.Caption

    mi dice:

    Errore di Compilazione
    Impossibile Trovare il Metodo o il membro dei dati


    Forse perche mi manca qualche referenza?

    magari mi spieghi perche!

    2° Perche Metto nella intestazione della maschera una textbox del titolo NOTE

    un altra domanda:

    Dim ms          As String
    
    dove lo usi?
    non capisco a cosa serva?

    per il resto funziona egragiamente, e posso personalizzare la maschera con lo stesso stile di tutto il progetto.

    per quanto riguarda a usare botton

    ho risolto con:
    su click del pulsante....

    me.txtNote.setFocus
    call openZoom
    
    Ma..., mi rimane sempre l'idea di non voler vedere la textBox "TxtNote" come campo della maschera continua. per una questione di spazio.
    Certo non la posso far diventare Visibile=No, perche altrimenti non può diventare attiva quando prende il focus.
    Come posso ovviare il problema?
    la si può al meno nascondere in qualche modo?

    Grazie

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 2
    Ultimo Post: 29-08-2015, 21:36
  2. Risposte: 1
    Ultimo Post: 04-02-2015, 10:28
  3. Eliminare il record corrente in una maschera
    Da giovepan nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 04-02-2015, 09:29
  4. Access: apertura maschera da un'altra maschera
    Da ellesara nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 11-05-2007, 15:35
  5. Ricavare un valore campo del record corrente
    Da lelo74 nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 12-05-2006, 17:26