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

    DataReport: Errore di Automazione... urgentissimo!

    Il progetto può chiamare due report differenti che vengono caricati dinamicamente a seconda della scelta dell'utente.
    Mi genera il seguente errore:
    "Run-time error 430
    Class does not support Automation or does not support expeced interface"

    Questo è il codice che utilizzo:
    codice:
    Sub Stampa()
     'Dim mioReport As DataReport
    
     Dim mioFiltro As String, mioDataMember As String
     Dim mioTipoIndirizzo As Integer
     Dim mioDataMemberPerIncompleti As String, mioTipoRicerca As String
     Dim mioTipoStampa As String, mioTipoPrint As Integer
    
      mioFiltro = "IDAcquisitore = " & CLng(dcAcquisitori.BoundText)
      mioTipoPrint = fnTipoDiStampa
    
      'imposto il tipo di stampa: se buste o etichette
      Select Case mioTipoPrint 
            Case 0: Set mioReport = drStampaBuste: mioTipoStampa
                                  = "Buste": mioTipoIndirizzo = 1
            Case 1: Set mioReport = drStampaEtichetteGrandi: 
                        mioTipoStampa = "Etichette": mioTipoIndirizzo = 2
      End Select
    
      'imposto il filtro per la stampa: se acquisitore o firmatario
      Select Case fnFiltro
            Case 0 'acquisitore
                   mioTipoRicerca = "Acquisitori"
            Case 1 'firmatario
                   mioTipoRicerca = "Firmatari"
      End Select
    
      Dim mioElenco As New clsDati
      mioElenco.Filtro = mioFiltro
      mioElenco.tipoRicerca = mioTipoRicerca
      mioElenco.tipoStampa = mioTipoStampa
      mioElenco.TipoIndirizzo = mioTipoIndirizzo
    
      'assegno il datamember al datareport per la stampa:
      Set mioReport.DataSource = mioElenco
      mioReport.DataMember = "BusteEtichette"
      If mioTipoPrint = 0 Then
           mioReport.Orientation = rptOrientLandscape
      End If
      mioReport.Show 1
    
      Set mioElenco = Nothing
      Set mioReport = Nothing
    
      Unload Me
    
    End Sub
    non riesco a capire cosa me lo provochi...
    e ho pure fretta di risolvere...
    mi date una mano ragazzi?

    Grazie

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    In che senso non sai cosa te lo provochi?
    Sai la riga di codice che va in tilt?
    Te lo da solo quando il progetto è compilato? Quando lo metti in un altro PC?


  3. #3
    la classe che usi fa farte dell'exe o di una dll esterna?
    hai provato a registrare di nuovo l'ocx del datareport?
    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

  4. #4
    Originariamente inviato da sebamix
    In che senso non sai cosa te lo provochi?
    Sai la riga di codice che va in tilt?
    Te lo da solo quando il progetto è compilato? Quando lo metti in un altro PC?

    hai ragione seba, non l'ho specificato.
    l'errore si genera solo quando il prg è compilato, quindi non so su quale riga si blocca l'esecuzione.
    e lo fa anche sul mio pc, quindi non è un problema legato alla presenza o meno sul computer dove si esegue di visual basic.

    Originariamente inviato da xegallo
    la classe che usi fa farte dell'exe o di una dll esterna?
    hai provato a registrare di nuovo l'ocx del datareport?
    la classe è nel progetto... e la uso dovunque, ma l'errore si genera solo qui.
    come si fa a riregistrarlo?




    ragazzi siete due tesori. grazie

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    Metodo pacchiano (non ridere ma ogni tanto lo uso).
    Metti un MsgBox dopo ogni istruzione (es. Msgbox "1", MsgBox "2",...) così sai esattamente cosa ti da problemi.

    (oggi sono fagiano -> )

  6. #6
    seba ho provato come mi hai detto e ho individuato la "zona", solo che devo ripostare tutto il codice completo, la "zona" rossa è la colpevole:
    codice:
    Sub Stampa()
    
     'Dim mioReport As DataReport
    
     Dim mioFiltro As String, mioDataMember As String
     Dim mioTipoIndirizzo As Integer
     Dim mioDataMemberPerIncompleti As String
     Dim mioTipoRicerca As String
     Dim mioTipoStampa As String
     mioFiltro = "IDAcquisitore = " & CLng(dcAcquisitori.BoundText)
    
     'imposto il tipo di stampa: se buste o etichette
     Select Case fnTipoDiStampa
            Case 0: Set mioReport = drStampaBuste
                        mioTipoStampa = "Buste"
                        mioTipoIndirizzo = 1
            Case 2: Set mioReport = drStampaEtichetteGrandi
                        mioTipoStampa = "Etichette"
                        mioTipoIndirizzo = 2
     End Select
    
     'imposto il filtro per la stampa: se acquisitore o firmatario
     Select Case fnFiltro
            Case 0 'acquisitore
                   mioTipoRicerca = "Acquisitori"
            Case 1 'firmatario
                   mioTipoRicerca = "Firmatari"
     End Select
    
     Dim mioElenco As New clsDati
     mioElenco.Filtro = mioFiltro
     mioElenco.tipoRicerca = mioTipoRicerca
     mioElenco.tipoStampa = mioTipoStampa
     mioElenco.TipoIndirizzo = mioTipoIndirizzo
    
     Dim NumIndInc As Long
     NumIndInc = mioElenco.ContaIndirizziIncompleti
     'CONTROLLO SE CI SONO INDIRIZZI INCOMPLETI
     If NumIndInc > 0 Then 'ci sono indirizzi incompleti
        Dim miaForm As New frmIndirizziIncompleti
        With miaForm
             .mioFiltro = mioFiltro
             .mioTipoRicerca = mioTipoRicerca
             .mioTipoStampa = mioTipoStampa
             .mioTipoIndirizzo = mioTipoIndirizzo
             .RiempiElenco
             .Show 1
        End With
        Exit Sub
     End If
    
     End If
    
     'Proseguo con la stampa
     'assegno il datamember al datareport per la stampa:
      Set mioReport.DataSource = mioElenco
      mioReport.DataMember = "BusteEtichette"
    
      If fnTipoDiStampa = 0 Then
         mioReport.Orientation = rptOrientLandscape
      End If
      mioReport.Show 1
    
     Set mioElenco = Nothing
     Set mioReport = Nothing
    
     Unload Me
    
    End Sub
    mioElenco.ContaIndirizziIncompleti è una funzione che sta nella classe che controlla tutti gli indirizzi e ne verifica la completezza.
    vi posto anche questo codice:
    codice:
    Public Function ContaIndirizziIncompleti() As Long
    
     Dim mioCmd As New ADODB.Command
     Dim mioPar As ADODB.Parameter
    
     With mioCmd
          .ActiveConnection = miaConn
          .CommandText = "sp_ControllaElencoPerStampaBusteEtichette" ' 
                         & mvarTipoStampa
          .CommandType = adCmdStoredProc
     End With
    
     'aggiungo i parametri al command appena settato
     Set mioPar = New ADODB.Parameter
     Set mioPar = mioCmd.CreateParameter("@mioFiltro", adVarChar, 
                  adParamInput, 500, mvarFiltro)
     mioCmd.Parameters.Append mioPar
    
     Set mioPar = New ADODB.Parameter
     Set mioPar = mioCmd.CreateParameter("@TipoRicerca", adVarChar, 
                  adParamInput, 20, mvarTipoRicerca)
     mioCmd.Parameters.Append mioPar
              
     Set mioPar = New ADODB.Parameter
     Set mioPar = mioCmd.CreateParameter("@TipoRicerca", adSmallInt, 
                  adParamInput, 4, mvarTipoIndirizzo)
     mioCmd.Parameters.Append mioPar
    
     Set mioRS = mioCmd.Execute()
     ContaIndirizziIncompleti = mioRS.RecordCount
              
     Set mioRS = Nothing
              
    End Function
    questo è quanto... aiutatemi voi...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    il problema te lo da il compilato anche sulla macchina dalla quale l'hai generato?

    il problema dovrebbe stare nella classe, di solito sono problemi legati ai componenti ADO.


    adesso vedo se trovo qualcosa nella Knowledge base con quel messaggio di errore

  8. #8
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    lady, butta un occhio QUI





    il link non funziona, appena ti apre la pagina cerca la stringa:
    Run-time error 430 Class does not support Automation or does not support expected interface

    nella KB Inglese

  9. #9
    grazie dark, ora do un'occhiata.
    cmq ho individuato la riga su cui si genera l'errore, è quella in rosso:
    codice:
    Public Function ContaIndirizziIncompleti() As Long
    
     Dim mioCmd As New ADODB.Command
     Dim mioPar As ADODB.Parameter
    
     With mioCmd
          .ActiveConnection = miaConn
          .CommandText = " sp_ControllaElencoPerStampaBuste_
                           Etichette" ' & mvarTipoStampa
          .CommandType = adCmdStoredProc
     End With
    
     'aggiungo i parametri al command appena settato
     Set mioPar = New ADODB.Parameter
     Set mioPar = mioCmd.CreateParameter("@mioFiltro", adVarChar, 
                  adParamInput, 500, mvarFiltro)
     mioCmd.Parameters.Append mioPar
    
     Set mioPar = New ADODB.Parameter
     Set mioPar = mioCmd.CreateParameter("@TipoRicerca", adVarChar, 
                  adParamInput, 20, mvarTipoRicerca)
     mioCmd.Parameters.Append mioPar
              
     Set mioPar = New ADODB.Parameter
     Set mioPar = mioCmd.CreateParameter("@TipoRicerca", adSmallInt, 
                  adParamInput, 4, mvarTipoIndirizzo)
     mioCmd.Parameters.Append mioPar
    
     Set mioRS = mioCmd.Execute()
     ContaIndirizziIncompleti = mioRS.RecordCount
              
     Set mioRS = Nothing
              
    End Function

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  10. #10
    quale devo installare?

    io uso la 2.6
    MDAC

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

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.