Utilizzo corretto di next record.

di il
44 risposte

Utilizzo corretto di next record.

Buongiorno a tutti, ogni tanto mi faccio sentire con qualche problema che per voi è di facile soluzione, ma che io non riesco a risolvere.

Ora che ho 70 anni non mi arrendo, e voglio continuare ad apprendere, per cui ho girato tutto il web alla ricerca di chiare istruzioni sull'uso di “Next Record”, da quando si specifica la Query che si vuole analizzare fino alla fine della Query, ma non sono riuscito a trovare niente di chiaro e di applicabile al mio caso, che cerco di spiegare:

Io ho una Query (Contratti Query) che mi filtra i contratti scaduti, e io, record per record, devo comunicare ai singoli consulenti quali sono i contratti scaduti: come faccio ad analizzare un record alla volta?

Scusate se non uso termini tecnici e per favore abbiate un po' di pazienza: mi avete sempre aiutato e io faccio affidamento sui vostri consigli.

Francesco.

44 Risposte

  • Re: Utilizzo corretto di next record.

    05/07/2024 - Ciccio_54 ha scritto:


    come faccio ad analizzare un record alla volta?

    Occorrerebbe una sfera di cristallo per capire come aiutarti. Forse dovresti essere piu' chiaro…

    Cosa intendi per “analizzare”? Che tipo di operazioni devi fare sul recordset?

    Tu hai una query filtrata: la consulti in visualizzazione tabellare, con una form o un report?

  • Re: Utilizzo corretto di next record.

    Ciao Mailman, io la Query non la visualizzo proprio, perché opero direttamente in VBA, e da ogni report devo prendere il nome del consulente, quello del cliente e la data di scadenza, ma non è questo il problema, perché la routine l'ho già creata, solo che io vorrei sapere come fare a copiare i dati da un record alla volta.

    Per esempio, la routine accede al primo record e memorizza in variabili indicizzate i dati che interessano, poi deve passare al record successivo e memorizzare i dati che interessano eccetera, fino alla fine della Query.

    Spero di essere stato più chiaro.
    Tu che ne dici?

  • Re: Utilizzo corretto di next record.

    05/07/2024 - Ciccio_54 ha scritto:


    Ciao Mailman, io la Query non la visualizzo proprio, perché opero direttamente in VBA, e da ogni report devo prendere il nome del consulente, quello del cliente e la data di scadenza, ma non è questo il problema, perché la routine l'ho già creata, solo che io vorrei sapere come fare a copiare i dati da un record alla volta.

    Ci mostri la Routine…?

    Per esempio, la routine accede al primo record e memorizza in variabili indicizzate i dati che interessano, poi deve passare al record successivo e memorizzare i dati che interessano eccetera, fino alla fine della Query.

    Spero di essere stato più chiaro.
    Tu che ne dici?

    Diciamo che per generare REPORT usare Recordset non associato, ovvero da VBA è un grosso errore… mi viene da chiederti perchè…?
    Secondo i Report se non usi l'origine dati non puoi che gestire la prima pagina, diventa un disastro andare a gestire le altre pagine.

    Insomma secondo me, da quanto ho capito se vuoi compilare il report in modo NON ASSOCIATO da VBA, hai fatto veramente una grossa cavolata.

  • Re: Utilizzo corretto di next record.

    05/07/2024 - Ciccio_54 ha scritto:


    Per esempio, la routine accede al primo record e memorizza in variabili indicizzate i dati che interessano, poi deve passare al record successivo e memorizzare i dati che interessano eccetera, fino alla fine della Query.

    Spero di essere stato più chiaro.

    Forse per Te che hai chiaro quello che stai facendo potrebbe essere chiaro ma per noi che non sappiamo come stai operando, e' tutto abbastanza fumoso…

    Tu associ alcuni dati da una query VBA a delle variabili… e poi che ci fai con queste variabili?? Quando passi al record successivo, sovrascrivi i dati nelle stesse variabili??

    Devi chiarire meglio….

  • Re: Utilizzo corretto di next record.

    Puoi elencare tutti i campi della query “Contratti Query”? Poi spiega passo passo quello che vuoi fare indicando i nomi propri dei campi che devono svolgere quello che hai in testa tu. Se necessario esponi anche qualche esempio pratico.

  • Re: Utilizzo corretto di next record.

    Non serve nessun nome di campo …

    Deve solo spiegare cosa vuole fare con i singoli dati di ogni record che ha detto che gli servono.

    Ovviamente la lettura del recordeset va fatta in un ciclo usando la MoveNext

  • Re: Utilizzo corretto di next record.

    Veramente avete pazienza con me. Io attualmente ho creato questa routine:

    Private Sub Form_Load()
    Close
    Dim Record$(1000)
    Open "\\global\Global\Access\Copie\E-Mail.txt" For Input As #1
    w = -1
    10:
       If EOF(1) Then GoTo 1000
       w = w + 1
       Input #1, Record$(w)
    GoTo 10

    1000
    ' Stop

    End Sub

    Poi con Record$(w) mi faccio tutto quello che mi serve, ma così sono costretto a salvare la tabella in XLS e poi in TXT, mentre io vorrei operare direttamente sulla Query: è possibile?
    Ovviamente se opero direttamente sulla Query mi vado a prendere solo i campi che mi interessano, ma questo per me non è un problema, lo risolvo facilmente.

  • Re: Utilizzo corretto di next record.

    05/07/2024 - @Alex ha scritto:


    05/07/2024 - Ciccio_54 ha scritto:


    Ciao Mailman, io la Query non la visualizzo proprio, perché opero direttamente in VBA, e da ogni report devo prendere il nome del consulente, quello del cliente e la data di scadenza, ma non è questo il problema, perché la routine l'ho già creata, solo che io vorrei sapere come fare a copiare i dati da un record alla volta.

    Ci mostri la Routine…?

    Per esempio, la routine accede al primo record e memorizza in variabili indicizzate i dati che interessano, poi deve passare al record successivo e memorizzare i dati che interessano eccetera, fino alla fine della Query.

    Spero di essere stato più chiaro.
    Tu che ne dici?

    Diciamo che per generare REPORT usare Recordset non associato, ovvero da VBA è un grosso errore… mi viene da chiederti perchè…?
    Secondo i Report se non usi l'origine dati non puoi che gestire la prima pagina, diventa un disastro andare a gestire le altre pagine.

    Insomma secondo me, da quanto ho capito se vuoi compilare il report in modo NON ASSOCIATO da VBA, hai fatto veramente una grossa cavolata.

    Dove e quando ha parlato di report?

    Potrebbe anche alimentare un txt da inviare a mezzo e-mail…

  • Re: Utilizzo corretto di next record.

    05/07/2024 - Ciccio_54 ha scritto:


    Private Sub Form_Load()
    Close
    Dim Record$(1000)
    Open "\\global\Global\Access\Copie\E-Mail.txt" For Input As #1
    w = -1
    10:
       If EOF(1) Then GoTo 1000
       w = w + 1
       Input #1, Record$(w)
    GoTo 10

    1000

    Infatti parla di mail…

  • Re: Utilizzo corretto di next record.

    Non fai prima a filtrare la sql per destinatario (parametri che ti servono) e generare un xls dal recorset? O anche un txt…

  • Re: Utilizzo corretto di next record.

    Sinceramente non ho compreso la questione del Next Record.

  • Re: Utilizzo corretto di next record.

    05/07/2024 - Antony73 ha scritto:


    Sinceramente non ho compreso la questione del Next Record.

    Crea la sql

    Si posiziona al primo record

    Copia i valori che gli servono per quel record

    Passa al successivo next appunto.

    Fino al recordcount….

    Invia la mail con il file dei dati estrapolati.

  • Re: Utilizzo corretto di next record.

    A questo punto c'è una gran confusione e la pazienza non serve, piuttosto un miracolo pet comprendere.

    Non esiste una query, nè per una ribella del DB nè per un file Excel di cui mai si è parlato.

    Hai mostrato del codice che legge dati da un file di testo come si faceva con il GWBASIC di 40 anni fa…

    A questo punto cosa c'entra Access?

  • Re: Utilizzo corretto di next record.

    Non solo non usi Access come le basi richiedono, ma pensi di gestire un Report con un Array popolato dal File di Testo…

    Assurdo, incomprensibile e da evitare.

Devi accedere o registrarti per scrivere nel forum
44 risposte