Visualizzare nuovo record dopo inserimento

Anonimo
2020-06-28T12:45:14+00:00

Salve a tutti, ancora una richiesta, ho creato una form contenente due subform di cui, la prima ripropone l'elenco di tutti i record relativi a un determinato codice, l'altra deve visualizzare solo un record, quello nel quale andrò ad inserire i nuovi dati, il tutto è visualizzabile nell'immagine che allego:

La subform dove inserisco i dati è quella posizionata immediatamente al di sopra della riga ROSSA evidenziata in figura con la freccia BLU.

Vorrei fare in modo che, una volta inseriti i dati, questa si posizionasse nuovamente su una riga vuota e con il focus posizionato nel campo evidenziato dalla freccia verde, mentre l'elenco sottostante si aggiorna con l'ultima riga inserita.

C'è qualcuno che mi può aiutare a fare quello che chiedo?

Grazie a tutti per la collaborazione

Ciro

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

4 risposte

Ordina per: Più utili
  1. Anonimo
    2020-06-28T16:51:26+00:00

    In quella che ho chiamato (3), aggiungi il seguente codice:

    Private Sub Form_Current()

    Parent.Form.Filter = "[ID]=" & Me.ID

    Parent.Form.FilterOn = True

    End Sub

    Con clic su un record di (3), visualizzi il record in (1).

    Se non hai motivi per impostare diversamente la query sottostante la (3), puoi impostare come ID decrescente: nelle Proprietà/Dati/Ordina per: [ID] DESC

    In tal modo l'ultimo record inserito sarà sempre il primo in (1) e la (2) non serve.

    Nella (1)

    • per salvare il record inserito, aggiungi un tasto che esegue Salva Record
    • aggiungi

    Private Sub Form_AfterUpdate()

        Me.Sottomaschera(3).Requery   ' Sostituendo il nome a Sottomaschera(3)

    End Sub

    Per inserire un nuovo record nella (1),  aggiungi un tasto che esegue Vai a nuovo record.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-06-28T16:04:24+00:00

    Quindi, se ho capito bene, hai:

    1. Maschera principale "Movimentazioni carico ecc"
    2. Una sottomaschera ("Maschere continue") ritagliata in modo che visualizzi un solo record
    3. Una seconda maschera continua che visualizza tutti i record.

    Mi sembra anche di capire che non hai impostato la sincronizzazione fra le maschere.

    Faccio qualche verifica e ti rispondo.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2020-06-28T15:12:52+00:00

    Ciao FrancoSchettino, grazie per la risposta e il suggerimento, nell'ordine:

    il record sopra l'intestazione è una sottomaschera che riporta gli stessi campi della sottomaschera che vedi sotto l'intestazione, è necessaria per avere la riga di inserimento dati sempre allo stesso punto.

    Quanto alle istruzioni che suggerisci, dove vanno inserite e quando?

    In pratica io voglio che, una volta inseriti i dati nel record sopra l'intestazione, si aggiorni l'elenco riportato sotto l'intestazione mentre, il record sopra l'intestazione deve nuovamente svuotarsi pronto a ricevere una nuova serie di dati

    Spero di aver chiarito tutto.

    Grazie

    Ciro

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2020-06-28T14:49:27+00:00

    Non capisco come mai ci sia un record sopra l'intestazione "Data - Num Doc - Q.tà Carico - ecc" della maschera continua; è un'altra maschera?

    Comunque, le istruzioni che chiedi sono:

        DoCmd.GoToRecord acDataForm, "Nome maschera", acNewRec 

    e

    DoCmd.GoToControl "Nome controllo"

    In alternativa a GoToControl, puoi settare il controllo come il primo nella sequenza sulla maschera.

    La risposta è stata utile?

    0 commenti Nessun commento