+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Rinumerare tutti i record selezionati

  1. #1
    aldodellacasa non è in linea Scolaretto
    Ciao a Tutti
    Ho un programmino in VB6 che mi aggiorna dei record su una tabella di un archivio MDB. Con una selezione discrimino e metto in ordine i record voluti. Dopo questa selezione ho la necessità di assegnare ad ogni record un numero progressivo sul campo POS partendo da 1 a x… TotaleRecord. Tuttora utilizzo questa routin ma mi è molto lenta considerando circa 3000 record.
    '
    For i = 1 to TotaleRecord
      MioRs!Pos = i
      MioRs.Update
      MioRs.MoveNext
    Next i
    '
    
    'Conoscete qualche trucchetto per copiare o assegnare di botto a tutti i record un numero progressivo sul campo POS? eventualmente è possibile con l'ausilio di una tabella di appoggio dove ho già i miei numeri progressivi.!!??
    Saluti Aldo

  2. #2
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Quote Originariamente inviato da aldodellacasa Visualizza il messaggio
    Ho un programmino in VB6 che mi aggiorna dei record su una tabella di un archivio MDB. Con una selezione discrimino e metto in ordine i record voluti.
    Quindi mi sembra di capire che crei una nuova tebella. Se è così ti basta definire il campo POS come autoincrementante.
    ℹ️ Leggi di più su Brontolo ...

  3. #3
    aldodellacasa non è in linea Scolaretto
    No scusa forse non mi sono spiegato bene, non devo creare un'altra tabella ma devo inserie i valori progressivi su quella. Supponevo però; (sarebbe mica il caso non so non conosco sistemi fattibili) di avere dei numeri progressivi già registrati da qualche parte ad esempio su una tabella di appoggio, fissa statica magari con un solo campo POS dove vi sono già registrati numeri progressivi, copiare quindi di botto al volo questi numeri sulla mia tabella.......!!!!???? Forse sto fantasticando vero?

  4. #4
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Spesso la soluzione più appropriata si ottiene spiegando qual'è l'obbiettivo finale che si vuole raggiungere, anziché cercare per forza il metodo per fare qualcosa che potrebbe anche non essere necessario.
    Mi spiego: tu fai un estrazione da una tabella selezionando un certo numero di record; poi intendi numerare progressivamente solo questi record (quindi non tutti) sulla stessa tabella. Perché? A cosa può servire una cosa del genere?

    Non sarà che a te interessa invece avere numerati solo i record nel recordset ottenuto dall'estrazione? In questo caso non c'è bisogno di un campo, ma basta fare riferimento ad una proprietà.

    Ripeto, spiega cosa vuoi fare; aumenta le probabilità di trovare la soluzione migliore.

    ℹ️ Leggi di più su Brontolo ...

  5. #5
    aldodellacasa non è in linea Scolaretto
    Si proprio così :........estrazione o sarebbe più appropriato selezione di una tabella che tra l'altro visualizzo su di un DataGrid e sulla griglia vedo un certo numero di record ordinati per graduatoria di posizione. Siccome sono stati tolti e aggiunti record intendo rinumerare progressivamente solo questi record (quindi non tutti quelli che ho in tabella). Dopo aver fatto la selezione e ordinamento non hanno più un numero progressivo nel campo POS questa operazione la faccio sulla stessa tabella visualizzata (tabelle ne ho solo una).
    Alla tua domanda [A cosa può servire una cosa del genere?] Ti rispondo: solo quei record selezionati e ordinati in quel modo hanno bisogno di una graduatoria la quale indica a chi assegnare dei bonus in base alla Posizione di graduatoria data proprio dal campo Pos. Campo che tutt'ora aggiorno con la routin descritta in precedenza.
    Il mio problema è quello: esiste in un altro modo più veloce rispetto alla mia routin per riempire il mio campo Pos progressivamente?

  6. #6
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Quindi il tuo obiettivo è quello di numerare progressivamente le righe della griglia, non necessariamente i record del recordset.
    Se la griglia serve solo a visualizzare la classifica, cioè non è richiesto di editare i valori delle celle, allora ti conviene usare una griglia più semplice, come la FlexGrid, con la quale ti basterà assegnare alle celle di una colonna il valore dell'indice di riga.
    ℹ️ Leggi di più su Brontolo ...

  7. #7
    aldodellacasa non è in linea Scolaretto
    Ehhhh si si......ok va bene (però l'appetito vien mangiando) e facendo delle prove mi sono accorto che non sempre devo solo visualizzare ma in qualche caso devo proprio scrivere il valore sul MioRs. Che faccio secondo Te, discrimino i 2 casi, 1- utilizzando la FlexGrid quando visualizzo; 2-quando devo scrive sul Rs uso la mia routin, magari con la datagrid che mi è più famigliare?
    Non conosci qualche trucchetto per evitare la FlexGrid e scrivere sul MioRs ?

  8. #8
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Purtroppo la DataGrid non consente di avere colonne unbound. O utilizzi un altro tipo di griglia che lo consente, o rendi editabile una FlexGrid con una tecnica che è descritta anche nella guida MSDN, oppure puoi creare, con la tua query, una nuova tabella temporanea che ha anche un campo autoincrementante ed usare questa come origine dati per la DataGrid.
    ℹ️ Leggi di più su Brontolo ...

  9. #9
    aldodellacasa non è in linea Scolaretto
    Ciao Brontolo sono rientrato solo ora.
    Grazie del consiglio, proverò ad usare una secoda tabella con un campo autoincrementante,....Ma mi sa che alla fin fine non ci guadagno nulla in tempo di elaborazione, nel caso in cui devo scrivere ed avere dei valori incrementali memorizzati con un bel MioRs.Update sulla mia prima tabella.
    Grazie ancora per il tuo interessamento al problema
    Saluti Aldo

  10. #10
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Quote Originariamente inviato da aldodellacasa Visualizza il messaggio
    Ma mi sa che alla fin fine non ci guadagno nulla in tempo di elaborazione
    Secondo me ci dovresti guadagnare invece. Puoi farlo con una query unica anziché eseguire un Update per ogn record.
    ℹ️ Leggi di più su Brontolo ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 5
    Ultimo Post: 05-06-2019, 22:26
  2. Stampa record selezionati da casella di riepilogo
    Da rossonero nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 28-06-2017, 11:15
  3. copia record selezionati in una casella riepilogo
    Da weldor nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 13-01-2014, 19:39
  4. agire su più record selezionati
    Da corrado nel forum Microsoft Word
    Risposte: 11
    Ultimo Post: 22-02-2008, 15:32
  5. Access: Cancellazione record selezionati
    Da agnepi nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 19-11-2007, 14:06