Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    95

    VB6 database Ado Errore di run-time '-2147217864(80040e38)'

    Buonasera a tutti,
    come da oggetto vorrei sapere se qualcuno può aiutarmi per questo problema.

    Ho due software che in comune sfruttano in lettura e scrittura un database access 97, il primo software (principale) lascia sempre aperto il database, mentre il secondo apre solo per recuperare alcuni dati o salvare per poi chiudere.

    Problema:
    Dopo avere aperto normalmente il software principale (quindi il database rimane aperto), dal software secondario salvo dei dati e mi ritrovo con questo errore:

    Errore di run-time '-2147217864(80040e38)'

    Impossibile individuare la riga specificata per l'aggiornamento.
    E' possibile che alcuni valori siano stati modificati dopo l'ultima
    azione di lettura.

    L'errore viene dato saltando dopo aver eseguito il salvataggio dal software secondario e poi al momento della normale lettura o salvataggio del software secondario emerge il problema.

    Codice con il quale eseguo i salvataggi:
    codice:
    recDataOpzUtente("DISPOSITIVO") = OpzUtente_Dispositivo.Caption
    recDataOpzUtente("OPZIONE") = OpzUtente_Opzione.Caption
    recDataOpzUtente("DESCRIZIONE") = OpzUtente_Descrizione.Caption
    recDataOpzUtente("FUNZIONE 1") = OpzUtente_Funzione1.Caption
    recDataOpzUtente("ON OFF") = DB_OpzUtenteOnOff
    
    
    recDataOpzUtente.UpdateBatch adAffectAll
    In fase di errore l'ultima riga è quella che viene evidenziata dall'errore...

    Sapete come ovviare al problema???

    Grazie mille in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Il record che aggiorni non ha una chiave primaria?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    95
    Per la ricerca del record mi avvalgo delle label aggiornate.
    Ad ogni evento next le label assumono il nuovo valore fino a quando trovo la posizione che mi serve.
    Ovviamente prima di iniziare imposto al primo record con first.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Non hai risposto alla domanda ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    95
    Non l'ho creata ma non sapevo ne l'esistenza e neanche l'utilizzo perchè fino ad ora ha funzionato bene tutto, ovviamente utilizzando un solo software per volte intendo!
    L'applicare questa chiave primaria mi comporta modifiche sostanziali?

    Queste è il codice iniziale invece:

    codice:
    Dim dbDataOpzUtente As Connection
    Public recDataOpzUtente As ADODB.Recordset
    
    Private Sub Form_Load()
    Set dbDataOpzUtente = New Connection
    dbDataOpzUtente.CursorLocation = adUseClient
    dbDataOpzUtente.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = " & PercorsoProgettoAperto & "\Database Utente.mdb;"
    Set recDataOpzUtente = New Recordset 'sets the recordset
    recDataOpzUtente.Open "Select * from OPZIONI_UTENTE Order by ID ", dbDataOpzUtente, adOpenStatic, adLockOptimistic
    End Sub
    Queste sono tutte le dichiarazioni che eseguo prima di consultare o salvare i dati.
    La chiave primaria è necessaria al fine di ovviare quell'errore?
    E dove applicarla?
    Ultima modifica di LuigiDH; 13-06-2016 a 00:20

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    95
    Ho provato anche con adOpenDynamic ma il risultato non cambia!


  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,306
    Sposto nel forum dedicato a VB.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    95
    Dove sarebbe stato spostato? Non lo trovo!

    In ogni caso, in risposta a oregon...

    Non l'ho creata ma non sapevo ne l'esistenza e neanche l'utilizzo perchè fino ad ora ha funzionato bene tutto, ovviamente utilizzando un solo software per volte intendo!
    L'applicare questa chiave primaria mi comporta modifiche sostanziali?

    Queste è il codice iniziale invece:

    codice:
    Dim dbDataOpzUtente As Connection
    Public recDataOpzUtente As ADODB.Recordset

    Private Sub Form_Load()
    Set dbDataOpzUtente = New Connection
    dbDataOpzUtente.CursorLocation = adUseClient
    dbDataOpzUtente.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = " & PercorsoProgettoAperto & "\Database Utente.mdb;"
    Set recDataOpzUtente = New Recordset 'sets the recordset
    recDataOpzUtente.Open "Select * from OPZIONI_UTENTE Order by ID ", dbDataOpzUtente, adOpenStatic, adLockOptimistic
    End Sub

    Queste sono tutte le dichiarazioni che eseguo prima di consultare o salvare i dati.
    La chiave primaria è necessaria al fine di ovviare quell'errore?
    E dove applicarla?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    95
    Buonasera, ma nessuno sa farmi un esempio prima che divento vecchio su come implementare una chiave primaria al mio codice:

    codice:
    
    
    codice:
    Dim dbDataOpzUtente AsConnection
    Public recDataOpzUtente As ADODB.Recordset
    
    PrivateSubForm_Load()
    Set dbDataOpzUtente =NewConnection
    dbDataOpzUtente.CursorLocation= adUseClient
    dbDataOpzUtente.Open"PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = "&PercorsoProgettoAperto&"\Database Utente.mdb;"
    Set recDataOpzUtente =NewRecordset'sets the recordset
    recDataOpzUtente.Open "Select * from OPZIONI_UTENTE Order by ID ", dbDataOpzUtente, adOpenStatic, adLockOptimistic
    End Sub



  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da LuigiDH Visualizza il messaggio
    ma nessuno sa farmi un esempio prima che divento vecchio su come implementare una chiave primaria al mio codice:

    E tu che fai, aspetti di diventare vecchio prima di fare una ricerca su internet????

    La tua domanda rivela l'estrema inconsapevolezza sull'argomento quindi, come minimo, avresti già dovuto andarti a studiarti l'argomento su un libro che parla del tuo database (che dovresti già avere, e se non ce l'hai lo devo acquistare).

    Non esistono esempi di codice, perché non c'entra nulla il codice, né il linguaggio che si usa.

    Su Internet trovi milioni di informazioni.

    N.B. Se non hai la minima idea di cosa siano le chiavi primarie (PK), e quindi nemmeno le chiavi esterne (FK), sicuramente non avrai la minima idea degli indici. Se così, studiati anche quelli.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.