Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB6/EXCEL] Utilizzo controllo Data senza installazione

    Spero di essere stato chiaro nel titolo
    In pratica ho il problema di utilizzare una piccola applicazione in VB6 che legge e aggiorna i valori di un foglio excel...
    Sul mio computer funziona correttamente, ma se copio l'eseguibile ed il foglio excel su di una penna USB e provo ad utilizzare il programma su un altro PC mi da errore "run time error 91".
    Credo che sia un problema legato al controllo Data che si connette al file excel e ad una qualche dll che non è presente nel pc su cui tento di utilizzare il programma.
    Ho provato a copiare una serie di file dll nella stessa cartella del file exe ma il programma continua a non funzionare...
    In un vecchio post ho letto che normalmente le dll necessarie sono pre-installate su XP sp2 ma a me non funziona lo stesso!
    Qualcuno mi sa dare indicazioni su come risolvere senza la necessità di dover installare nulla sui vari PC in modo da avere tutto (funzionante e pronto all'uso) sulla penna USB??

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non puoi non installare i componenti che ci vogliono. In questo caso, "installare" significa scrivere nel registro di sistema delle informazioni riguardanti i controlli utilizzati e questo, a prescindere da dove stiano poi i controlli, e' una cosa che deve essere fatta.

    Però, l'errore 91, non ha a che fare con problemi di installazione, ma e' un errore di logica del tuo codice. In pratica non hai istanziato un oggetto prima di usarlo ...

  3. #3
    Capisco.... però sul mio PC il programma funziona normalmente... l'errore 91 esce nel momento in cui vado ad utilizzare il programma su altri PC!! A livello di codice quindi dovrebbe essere tutto ok..

    In quale sezione di codice dovrei istanziare gli oggetti?
    Scusa ma sono nuovo del VB


  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Si dovrebbe vedere il codice del programma ... e dovresti indicare in quale punto del programma si verifica l'errore ...

  5. #5
    Nel progetto ho incluso un form dati generato automaticamente con i campi del file excel che uso.
    Il codice associato al form è il seguente:

    codice:
    Private Sub Data1_Error(DataErr As Integer, Response As Integer)
      'Posizione per il codice di gestione degli errori
      'Se si desidera ignorare gli errori, impostare come commento la riga successiva
      'Se si desidera intercettarli, aggiungere qui il codice di gestione
      MsgBox "Intercettato errore dei dati:" & Error$(DataErr)
      Response = 0  'Ignora l'errore
    End Sub
    
    Private Sub Data1_Reposition()
      Screen.MousePointer = vbDefault
      On Error Resume Next
      'Visualizza la posizione del record corrente
      'per Recordset di tipo Dynaset e Snapshot
      Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1)
      'Per l'oggetto tabella è necessario impostare la proprietà Index
      'al momento della creazione del Recordset e utilizzare la riga seguente
      'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1
    End Sub
    
    Private Sub Data1_Validate(Action As Integer, Save As Integer)
      'Posizione per il codice di convalida
      'Questo evento viene richiamato quando si verificano le seguenti azioni
      Select Case Action
        Case vbDataActionMoveFirst
        Case vbDataActionMovePrevious
        Case vbDataActionMoveNext
        Case vbDataActionMoveLast
        Case vbDataActionAddNew
        Case vbDataActionUpdate
        Case vbDataActionDelete
        Case vbDataActionFind
        Case vbDataActionBookmark
        Case vbDataActionClose
      End Select
      'Screen.MousePointer = vbHourglass
    End Sub
    
    Private Sub Form_Load()
    
    End Sub
    Ho omesso di inserire il codice dei pulsanti per modificare/aggiunfere record e chiudere il form: si tratta anche in questo caso di codice generato dal wizard form dati.

    In pratica il programma viene eseguito normalmente ma appena apro il form mi esce "Intercettato errore dei dati: Application-defined or Object-defined error" e di seguito il famoso errore 91

  6. #6
    Ho effettuato ulteriori prove... se creo un database di tipo access da "visual data manager" e nella cartella in cui metto il file exe aggiungo la DLL VB5DB.DLL tutto funziona...
    Purtroppo con excel proprio non va.. e sono legato al suo utilizzo!!

    Suggerimenti?

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.