Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 8 su 8

Disabilitare/Abilitare pulsanti scorrimento record

  1. #1
    -Giro- non è in linea Novello
    Post
    27
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao ragazzi
    ho implementato il mio semplicissomo programmino composto da 2 tabelle e da una maschera con 2 pulsanti per scorrere i record, ma c'è qualcosa che succede e non riesco a capire ...penso sia una banalità ma col codice che ho inserito non ne vengo a capo.
    Private Sub Form_Current()
    If CurrentRecord = 1 Then
        cmdRecordPrecedente = False 
        cmdPrimoRecord = False
        Comando23.Enabled = False
        Else
        cmdRecordPrecedente = True
        cmdPrimoRecord = True
        Comando23.Enabled = True
      
        End If
    If CurrentRecord = Recordset.RecordCount Then
        cmdRecordSuccessivo = False
        cmdUltimoRecord = False
        Comando24.Enabled = False
        Else
        cmdRecordSuccessivo = True
        cmdUltimoRecord = True
        Comando24.Enabled = True
        End If
        
    Set rs = Nothing
    End Sub
    
    Il pulsante da me inserito Comando24 (record successivo) si abilita solamente dopo aver premuto "record successivo" nella barra in basso, ma non quando apro la maschera... quale potrebbe essere il problema?
    Inoltre non si disabilitano i pulsanti primo e ultimo record della barra quando sta rispettivamente sul primo o sull'ultimo record...

    Ho fatto molte prove e ricerche su internet ma non sono riuscito a risolvere, potete darmi qualche indicazione?

    Dimenticavo di scrivere che uso Access 2003

    Vi ringrazio

  2. #2
    L'avatar di seamission
    seamission non è in linea Scribacchino
    Post
    1,347
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao giro
    La barra di scorrimento record in basso a sinistra la puoi nascondere dalle proprietà della maschera,non ti posso dire con precisione quale proprietà devi inibire in quanto non ho con me il Pc, per i tasti usa l'auto composizione la cosa si dovrebbe risolvere facendo creare a access i tasti di scorrimento, ma ti vorrei porre un quesito e se devi scorrere 100/200/300 record quanto tempo impieghi? Io preferisco una combo che visualizza tutti. I record in ordine alfa/numerico .....scorro l'elenco e apro il record voluto. Access crea anche questa.
    Fai delle prove e facci sapere
    ℹ️ Leggi di più su seamission ...

  3. #3
    -Giro- non è in linea Novello
    Post
    27
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ti ringrazio seamission!
    la barra di scorrimento non mi serve nasconderla, ho solo disabilitato il pulsantino "nuovo record" nelle proprietà della maschera (consenti aggiunte=no).
    La routine sopra disabilita (sempre nella barra) il pulsante "record precedente" se si visualizza il primo record ed il pulsante "record successivo" se si visualizza l'ultimo record evitando la comparsa del messaggio "impossibile andare a record precedente o successivo" e fin qui tutto ok.
    Dovrebbe disabilitare anche (sempre nella barra) "vai a primo o ultimo record" quando mi trovo rispettivamente al primo o ultimo record, ma non funziona perchè i tasti rimangono attivi ...magari si può correggere però non fa nulla, non esce alcun messaggio.

    Il problema rimane sui 2 pulsanti da me creati con la procedura guidata (Comando23 e Comando24), la routine non abilita il Comando24 (record successivo) all'apertura della maschera, il Comando24 si abilita solo se scorro almeno un record tramite la barra in basso a sinistra.
    Ecco un'immagine per farti capire meglio

    Come vedi appena si lancia il programma e si apre la maschera il pulsante (record successivo) da me creato rimane disabilitato

    Forse la routine la devo mettere su Form_Open o su Form_Load?

    Per lo scorrimento dei record non c'è problema, arriveranno al massimo a 20

  4. #4
    L'avatar di seamission
    seamission non è in linea Scribacchino
    Post
    1,347
    Like Inviati  
    0
    Like Ricevuti  
    0
    Non saprei rispondere se provi ad allegare il db faccio delle prove.
    ℹ️ Leggi di più su seamission ...

  5. #5
    Bogus non è in linea Scolaretto
    Post
    298
    Like Inviati  
    0
    Like Ricevuti  
    0
    il Comando24 si abilita solo se scorro almeno un record tramite la barra in basso a sinistra.
    Forse la routine la devo mettere su Form_Open o su Form_Load?
    Proprio così!!
    L'evento current della maschera si verifica quando l'utente visualizza un nuovo record e, quindi,
    il codice sarà eseguito ogni volta che ci si sposta da un record all'altro.
    Ciao
    ℹ️ Leggi di più su Bogus ...

  6. #6
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Post
    16,804
    Like Inviati  
    0
    Like Ricevuti  
    23
    Vedi come ho fatto quì se ti può andare bene:
    http://forum.masterdrive.it/access-7...nagment-69075/
    ℹ️ Leggi di più su @Alex ...

  7. #7
    -Giro- non è in linea Novello
    Post
    27
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ragazzi ho trovato e provato una routine "semplicissimoa" che fa quello che voglio
    Private Sub Form_Current()
    Dim recClone As DAO.Recordset
     
    Set recClone = Me.RecordsetClone
     
    recClone.Bookmark = Me.Bookmark    'must synchronize
     
    recClone.MovePrevious
      Me![Comando23].Enabled = Not (recClone.BOF)
    recClone.MoveNext
     
    recClone.MoveNext
      Me![Comando24].Enabled = Not (recClone.EOF)
    recClone.MovePrevious
    End Sub
    
    @Seamission
    se vuoi il DB posso inviartelo lo stesso ....così alla prossima difficoltà sai già di che parlo (scherzo ...però se vuoi te lo mando)

    @bogus
    avevo pensato che la cosa non quadrava ma la routine sopra funziona

    @Alex
    ho aperto il tuo DB e mi sono permesso di "cannibalizzare" la routine che mi interessava eliminando parte del codice riferito agli altri pulsanti ed ha funzionato, ma non sono riuscito a far disabilitare il pulsante (mio Comando24) next record quando arrivavo all'ultimo record perchè sul tuo è abilitato per l'inserimento di un nuovo record, mentre il mio no.
    Alla routine Private Sub Move2Rec in questo punto
    Case Is = Access.AcRecord.acNext
                    If .CurrentRecord < .Recordset.RecordCount Then
                      .Recordset.MoveNext
                    ElseIf frmMain.AllowAdditions Then
                      .Recordset.AddNew
                    End If
    
    non so cosa scrivere dopo (e se ci vuole) ElseIf per far disabilitare il Comando24 (nex record) visto che AllowAdditions l'ho disabilitato dalle proprietà della maschera.

    Siete stati gentilissimi, vi ringrazio per avermi risposto

  8. #8
    Bogus non è in linea Scolaretto
    Post
    298
    Like Inviati  
    0
    Like Ricevuti  
    0
    L'evento current della maschera si verifica quando l'utente visualizza un nuovo record e, quindi,
    il codice sarà eseguito ogni volta che ci si sposta da un record all'altro.
    @bogus
    avevo pensato che la cosa non quadrava ma la routine sopra funziona
    Funziona perchè la routine che usi adesso si muove tra i record.
    recClone.MovePrevious
    recClone.MoveNext
    Ciao
    ℹ️ Leggi di più su Bogus ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Abilitare / non disabilitare filtro
    Da chiaravar nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 08-01-2018, 13:40
  2. Abilitare/disabilitare tasto F11
    Da Pippino3 nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 24-05-2017, 18:33
  3. Abilitare/Disabilitare Scheda di rete
    Da devildragon nel forum Visual Basic .Net
    Risposte: 4
    Ultimo Post: 06-05-2011, 15:57
  4. abilitare pulsanti sotto la maschera
    Da nao nel forum Adobe Flash, ActionScript
    Risposte: 0
    Ultimo Post: 10-03-2011, 11:27
  5. disabilitare e abilitare tasto
    Da donini nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 04-02-2007, 23:12