Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [VB6] problemi con delete

    salve a tutti
    Devo eliminare i campi da una tabella tramite un pulsante elimina questo è il codice:

    Dim LI As ListItem
    With ListViewSchedeCliente
    .ListItems.Clear
    Dim mdbARC As String
    mdbARC = App.Path & "\archivio.mdb"
    Set connARC = New adodb.Connection
    connARC.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbARC & "; Persist Security Info=true"
    Set recCNT = recCNT.Execute("Delete From schede Where IDS='" & .SelectedItem.Key & "'")
    Set recCNT = Nothing
    Set recCNT = New adodb.Recordset

    naturalmente nello stesso form vi è un listview.

    ma quando clicco su elimina mi da questo errore:
    Errorre di run-time '91'
    Variavile oggetto o variabile With non impostata

    Non riesco a capire dovè l'errore.
    Mi aiutate? Grazie

  2. #2
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    sarebbe utile sapere su quale riga ti da errore, nonchè (per me) mettere il codice indentato tramite pulsante #
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  3. #3
    sbaglio o manca l'end with?
    comunque quell'errore di solito si verifica se non hai impostato una variabile o non hai aggiunto il riferimento alla dll.
    mi sembra di vedere ADODB in minuscolo, probabilmente non hai i riferimentio per usarlo.
    sarebbe opportunuo indicare la riga su cui ti da l'errore.
    ciao

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Significa che da qualche parte hai dichiarato qualcosa, ma non hai poi ricevuto la memoria
    codice:
    dim cs as adodb.connection
    cs.open 'Da errore
    codice:
    dim cs as adodb.connection
    set cs=new adodb.connection 'tutto ok
    cs.open 'Da errore
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    Allora ecco di nuovo lo script con la riga dove da l'errore:
    Dim LI As ListItem
    With ListViewSchedeCliente
    .ListItems.Clear
    Dim mdbARC As String
    mdbARC = App.Path & "\archivio.mdb"
    Dim connARC As ADODB.Connection
    Set connARC = New ADODB.Connection
    connARC.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbARC & "; Persist Security Info=true"
    Set recCNT = recCNT.Execute("Delete From schede Where IDS='" & .SelectedItem.Key & "'")
    Set recCNT = Nothing
    ...
    End With

  6. #6
    dove hai dichiarato recCNT ?

  7. #7
    se dichiaro recCNT mi da errore su
    .Execute

    mi dice impossibile trovare il metodo o il membro dei dati.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma cosa e' recCNT? Perche' pensi che esista il metodo Execute per tale oggetto? Come mai utilizzi un oggetto senza dichiararlo?

  9. #9
    Si ho fatto un errore nel digitarvi il codice ora ve lo posto bene:

    Dim LI As ListItem
    With ListViewSchedeCliente
    .ListItems.Clear
    Dim mdbARC As String
    mdbARC = App.Path & "\archivio.mdb"
    Dim connARC As ADODB.Connection
    Dim recCNT As ADODB.Recordset
    Set connARC = New ADODB.Connection
    connARC.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbARC & "; Persist Security Info=true"
    Set recCNT = connARC.Execute("Delete From schede Where IDS='" & .SelectedItem.Key & "'")
    Set recCNT = Nothing
    Set recCNT = New ADODB.Recordset
    recCNT.Open ("Select * From clienti Order by Cognome Asc, Nome Asc"), connARC, 1, 1
    If recCNT.RecordCount > 0 Then
    .Enabled = True
    Do While Not (recCNT.EOF)
    Set LI = .ListItems.Add(, recCNT.Fields("IDS"), recCNT.Fields("IDS"))
    LI.SubItems(1) = recCNT.Fields("NumeroScontrino")
    LI.SubItems(2) = recCNT.Fields("DataScontrino")
    Set LI = Nothing
    recCNT.MoveNext
    Loop
    Else
    .Enabled = False
    End If
    recCNT.Close
    Set recCNT = Nothing
    connARC.Close
    Set connARC = Nothing
    End With

    End If

    da come ho capito l'errore deriva dall evidenzito in rosso

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusa ma un attimo prima fai un

    .ListItems.Clear

    e poi ti riferisci ad un

    .SelectedItem.Key

    Ovviamente non avrai nessun SelectedItem dato che hai eliminato tutti gli Item con la Clear!

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.