Passaggio Da Maschera a Sottomaschera con Macro

di il
5 risposte

Passaggio Da Maschera a Sottomaschera con Macro

Buongiorno a tutti, intanto vi auguro buone feste....

Ho un problema, ho una maschera Clienti-Cassa, e una sottomaschera "Sottomaschera Cassa".
Nella maschera "Clienti-Cassa" ho inserito una casella combinata , per richiamare il nome cliente che viene correttamente visualizzato
sulla sottomaschera (in pratica, ho collegato i campi master della maschera principale).

Il mio desiderio, e', che nel momento che riporto i dati sulla sottomaschera, mi piacerebbe aggiungere un nuovo record in automatico, magari con il puntatore del mouse che si posizioni su un campo specifico.(credo sia il setfocus).
Attualmente invece vedo solo l'ultimo record registrato per quel cliente, e per pulirlo devo necessariamente aggiungere un tasto New Record.

con il comando macro vai a controllo , non so come si imposta il set focus.Insomma sono nella confusione.....

Grazie in anticipo.
Alessandro

5 Risposte

  • Re: Passaggio Da Maschera a Sottomaschera con Macro

    Stai usando le macro o il VBA? Se conosci il SetFocus, esso esiste solo in VBA.
    In VBA devi scrivere
    Forms!NomeMascheraPrincipale!NomeSottomaschera!NomeControllo.SetFocus
    Con le macro esiste il comando VaiAControllo, ma mi pare che non puoi farlo "in un colpo solo", devi prima fare
    VaiAControllo--->NomeSottomaschera
    VaiAControllo--->NomeControllo

    Però non ho capito il discorso del "ripulimento"...
  • Re: Passaggio Da Maschera a Sottomaschera con Macro

    Intanto grazie....

    Provo a spiegare meglio quello che mi serve:
    devo cercare un cliente, per poi inserire per ognuno di essi vari servizi. Fino a qua nessun problema.
    con una casella combinata sulla maschera principale (CLIENTI-CASSA) seleziono il cliente.
    Mi si visualizza nella sottomaschera , il nome cliente, ma i campi riportano anche i servizi precedentemente inseriti.

    Faccio un esempio:
    Maria Rossi , in data 12/12/2016 ha effettuato un servizio lavaggio, e un servizio taglio (mi ero dimenticato di dirti che voglio gestire un parrucchiere).

    oggi 29/12, "vorrei" che Maria Rossi faccia un servizio nuovo, (esempio Manicure). Se clicco sulla asella combinata nella sottomaschera mi riporta
    i vecchi record, mentre il mio desiderio è che ogni volta che clicco un nome mi aggiunga un nuovo record per quel cliente.
    quindi con un "set focus" potrei passare al campo data della sottomaschera, ma vorrei che ci fossero gli altri campi pronti per immissione dati.

    Grazie
    Ale
  • Re: Passaggio Da Maschera a Sottomaschera con Macro

    Grazie per aver chiarito meglio la situazione. Ma continuo a non capire se stai usando macro o VBA.
    Direi che, dopo esserti posizionato sulla sottomaschera (SetFocus sulla sola sottomaschera), puoi pensare a
    DoCmd.GoToRecord con relative proprietà
    https://msdn.microsoft.com/en-us/library/office/ff194117.aspx
    https://msdn.microsoft.com/en-us/library/office/ff192641.aspx
    Analogamente esiste la corrispondente azione macro VaiARecord con medesime proprietà.
  • Re: Passaggio Da Maschera a Sottomaschera con Macro

    Il fatto e' che la casella combinata la gestisco con la macro.
    Se potessi gestirla con la vba ma non sono capace.
    La macro e' :
    "Cerca Record"
    Record = Primo
    Where = ="[ID] = " & Str(Nz([Screen].[ActiveControl];0))

    Questa macro la crea automaticamente quando creo la casella combinata.
  • Re: Passaggio Da Maschera a Sottomaschera con Macro

    Come hai creato maschera/sottomaschera? Hai usato la procedura guidata? Oppure hai fatto tutto in visualizzazione struttura?
    Hai controllato le proprietà della CORNICE sottomaschera
    Collega campi secondari: CampoID
    Collega campi master: CampoID
Devi accedere o registrarti per scrivere nel forum
5 risposte