Errore runtine DB

di Anonimizzato25932 il
5 risposte
Buongiorno,
ho un form con due listbox con riferimento alla stessa tabella di un file mdb ma di due campi diversi (una ordinata con i record normalmente, l'altra ordinata senza avere dupilcati).
Nell'eseguire il programma in lettura va tutto bene, ma in scrittura mi da erro di run-time "3027", Database o oggetto in sola lettura.
Public Function ApriDB_DatabaseProgrammi()
On Error GoTo RigaErrore
Set DB = OpenDatabase(App.Path & "\DBPROGRAMMI.mdb", False, False, "; pwd=1234")
Set rs = DB.OpenRecordset("SELECT * FROM Programmi ORDER BY nomeprogramma") 'ordino i record
Set rs = DB.OpenRecordset("SELECT DISTINCT categoriaprogramma FROM Programmi") 'ordino i record senza duplicati
Exit Function
RigaErrore:
errormsg = MsgBox("Impossibile trovare programmus.mdb!", vbCritical, "Errore")
End
End Function

5 Risposte

  • Il DISTINCT rende readonly il recordset. Quindi non puoi.

    E scrivere due Set rs uno di seguito all'altro non ha alcun senso perché il secondo sostituisce il primo.
  • Ok..., ma come posso risolvere?
  • Non so cosa devi risolvere
  • Volevo un consiglio su come risolvere il problema in scrittura.
  • Ma qual è il problema? Non hai mostrato codice in cui scrivi.

    Stai utilizzando VB6 a DAO, prodotti obsoleti che non si usano da decenni. Fra l'altro non li conosci affatto, neanche nelle loro basi e non riesci a spiegare cosa vuoi fare oltre al fatto che non segui neanche i consigli che ti si danno. E' un mix di problemi che non permette di darti molte indicazioni.

    Semplicemente non modifichi dati di un recordset derivato da una DISTINCT. Devi usare un altro tipo di recordset ma non si sa dove, come, in quale momento del programma devi modificare quei dati (quali dati)?? Che dirti ?
Devi accedere o registrarti per scrivere nel forum
5 risposte