Creazione di Recordset

Anonimo
2015-09-08T08:24:01+00:00

Buongiorno a tutti

un consiglio su un codice per creare un recordset filtrato dalla tabella "COMUNI"

filtrando sul campo CAP (testo)

Metto i riferimenti DAO

ESEMPIO BANALE

Private Sub Comando0_Click()

Dim DBCOrrente As DAO.Database

Dim REC As DAO.Recordset

Set DBCOrrente = CurrentDb

Set REC = DBCOrrente.OpenRecordset("SELECT * FROM COMUNI WHERE CAP='66054'")

    With REC

            .MoveFirst

            g = REC.Fields.Item(0).Value    'sulla prima colonna

[...]

Ora qui in DEBUG mi dà errore perchè mi dice nessun record trovato.

Non capisco perchè non crea il recordset.

Grazie mille

Un saluto.

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

3 risposte

Ordina per: Più utili
  1. Anonimo
    2015-09-08T10:17:10+00:00

    ciao Massimo,

    oltre a quanto suggerito, raccomanderei altresì l'option explicit, in modo da dichiarare la variabile G ( se non effettuata ad inizio modulo) e la definizione del tipo di recordset come la sua chiusura e distruzione ( se non esplicitamente dichiarata alla fine della sub ) set rec=nothing

    Da chiudere e distruggere anche l'oggetto database set DBCOrrente =nothing.

    il suggerimento non è influente per il problema posto, ma migliora per certo il tutto.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-09-08T09:08:12+00:00

    a me sembrerebbe tutto corretto.

    se il tuo messaggio fosse "Nessun record corrente"  allora ti direi di verificare in tabella se hai almeno un CAP corrispondente a 66054 .....

    Ma tu ci riferisci "Nessun record trovato"  ????

    comunque:

    Il campo CAP è in formato testo ??

    Il 1° campo della tabella è popolato in corrispondenza del 66054  ??

    Dopo quello spezzone di codice che ci posti chiudi il recordset e il DB  ??

    Quale è la riga che viene evidenziata in giallo dal Debug  ??

    Anche se superscontato,  hai dei valori di 66054 al campo CAP ??

    Dacci delle altre informazioni perché ti ripeto sembrerebbe tutto corretto

    .

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-09-08T08:45:18+00:00

    Ciao,

    sembra che non ci siano records con quel CAP.

    Set DBCOrrente = CurrentDb

    Set REC = DBCOrrente.OpenRecordset("SELECT * FROM COMUNI WHERE CAP='66054'")

    If Not REC.EOF Then

         With REC

                .MoveFirst

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento