Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    [ADO] MoveNext non funziona

    Ciao.. voglio innanzitutto far presente ai moderatori che nono sono in crossposting, infatti c'è una mia discussione con titolo "problema con movenext" aperta ieri che ha un titolo simile a questa ma il contenuto è diverso.. magari quella potete anche cancellarla
    Allora io mi connetto con ado al mio database e apro il recordset in questo modo:
    codice:
    Private Sub Form_Load()
    
    'connessione al datbase
    Set cnonn = New ADODB.Connection
    cnonn.CursorLocation = adUseServer
    cnonn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=ONN97.mdb"
    
    'recordset
    Set rsonn = New ADODB.Recordset
    rsonn.CursorLocation = adUseServer
    rsonn.Open "SELECT * FROM Clienti;", _
    cnonn, adOpenKeyset, adLockOptimistic, adCmdText
    ...
    poi creo questa funzione:
    codice:
    Private Function scrivivalue()
    t_socion = rsonn.Fields("socio_n").Value
    t_brevetto = rsonn.Fields("brevetto").Value
    t_nome = rsonn.Fields("nome").Value
    t_cognome = rsonn.Fields("Cognome").Value
    t_turno = rsonn.Fields("turno").Value
    t_natoa = rsonn.Fields("nato_a").Value
    t_datanascita = rsonn.Fields("data_nascita").Value
    t_quota = rsonn.Fields("quotaversata").Value
    t_scadenza = rsonn.Fields("scadenza").Value
    t_ora = rsonn.Fields("ora").Value
    End Function
    ed al click sul pulsante "avanti" (per scorrere i record) associo queste righe:
    codice:
    Private Sub avanti_Click()
    rsonn.MoveNext
    scrivivalue
    If rsonn.EOF Then
    rsonn.MoveFirst
    scrivivalue
    label_i.Visible = False
    indietro.Enabled = True
    avanti.Enabled = False
    label_a.Visible = True
    label_a.Caption = "FINE RECORD"
    End If
    End Sub
    il problema stà nel fatto che non mi riconosce If rsonn.EOF Then infatti quando arrivo alla fine dei record mi dà questo errore:
    Il record corrente corrisponde all'inizio o alla fine oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente ed il debug mi segna in giallo t_socion = rsonn.Fields("socio_n").Value nella funzione "scrivivalue"

    Qualcuno per favore mi sà dire il perchè? eppure l'if sembra giusto
    Ciao
    Voglio l'alt+s anche per FF

  2. #2
    prova così:

    [code]

    Private Sub avanti_Click()
    rsonn.MoveNext

    If rsonn.EOF Then
    rsonn.MoveFirst
    label_i.Visible = False
    indietro.Enabled = True
    avanti.Enabled = False
    label_a.Visible = True
    label_a.Caption = "FINE RECORD"
    End If

    scrivivalue

    End Sub

    [code]

  3. #3

    Ri-posto

    Prova così

    codice:
    Private Sub avanti_Click()
        rsonn.MoveNext
        
        If rsonn.EOF Then
            rsonn.MoveFirst
            label_i.Visible = False
            indietro.Enabled = True
            avanti.Enabled = False
            label_a.Visible = True
            label_a.Caption = "FINE RECORD"
        End If
    
        scrivivalue
    End Sub
    Prima avevo troncato i tag


  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    funziona
    qual'era il problema ? il richiamo della funzione nell'if ? perchè non funzinava?
    Voglio l'alt+s anche per FF

  5. #5
    richiamavi scrivivalue prima di avere fatto il controllo EOF

    :mavieni:

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    aaaa..
    Voglio l'alt+s anche per FF

  7. #7
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    ancora una cosa..
    adesso dovrei inserire un nuovo record e faccio così:
    codice:
    Private Sub b_nuovocliente_Click()
    If b_nuovocliente.Caption = "NUOVO CLIENTE" Then
    rsonn.AddNew
    b_nuovocliente.Enabled = False
    End If
    End Sub
    però i campi non si cancellano.. cioè non succede nulla i campi in pratica rimangono pieni.. come dovrei fare?
    Voglio l'alt+s anche per FF

  8. #8
    non si svuotano per intercessione dello spirito santo

    creati una funzione

    codice:
    Private Function svuota_campi()
        t_socion = ""
        t_brevetto = ""
        t_nome = ""
        t_cognome = ""
        t_turno = ""
        t_natoa = ""
        t_datanascita = ""
        t_quota = ""
        t_scadenza = ""
        t_ora = ""
    End Function
    te la richiami e magicamente si svuotano....
    a proposito dopo .addnew se non fai .update il record aggiunto sta li in giro ma sul db non si inserisce...

  9. #9
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    io a dire la verità avevo creato questa funzione :
    codice:
    Private Function scrivivaluevuoto()
    t_socion = rsonn.Fields("socio_n").Value = ""
    t_brevetto = rsonn.Fields("brevetto").Value = ""
    t_nome = rsonn.Fields("nome").Value = ""
    t_cognome = rsonn.Fields("Cognome").Value = ""
    t_turno = rsonn.Fields("turno").Value = ""
    t_natoa = rsonn.Fields("nato_a").Value = ""
    t_datanascita = rsonn.Fields("data_nascita").Value = ""
    t_quota = rsonn.Fields("quotaversata").Value = ""
    t_scadenza = rsonn.Fields("scadenza").Value = ""
    t_ora = rsonn.Fields("ora").Value = ""
    End Function
    e l'ho richiamata così:
    codice:
    Private Sub b_nuovocliente_Click()
    If b_nuovocliente.Caption = "NUOVO CLIENTE" Then
    rsonn.AddNew
    scrivivaluevuoto
    b_nuovocliente.Enabled = False
    End If
    End Sub
    ma mi dice utilizzo di null non valido quando clicco sul pulsanti aggiungi record
    poi questo update no riesco a capirlo.. ciè non dovrei inserirlo nel pulsante "salva record" ?
    Thanx
    Voglio l'alt+s anche per FF

  10. #10

    Re: [ADO] MoveNext non funziona

    Originariamente inviato da dops
    Ciao.. voglio innanzitutto far presente ai moderatori che nono sono in crossposting, infatti c'è una mia discussione con titolo "problema con movenext" aperta ieri che ha un titolo simile a questa ma il contenuto è diverso..
    vorrei far presente agli utenti ch i moderatori sanno leggere e non leggono solo i titoli
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.