IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Access
  New Posts New Posts RSS Feed - Errore run time '380' nella ListView [RISOLTO]
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


REGISTRATEVI su IALWeb forum!

Errore run time '380' nella ListView [RISOLTO]

 Post Reply Post Reply
Author
Message
Platform View Drop Down
Utente Avanzato
Utente Avanzato
Avatar

Joined: 20/Set/2017
Status: Offline
Points: 955
Post Options Post Options   Thanks (0) Thanks(0)   Quote Platform Quote  Post ReplyReply Direct Link To This Post Topic: Errore run time '380' nella ListView [RISOLTO]
    Posted: 21/Dic/2017 at 08:40
Salve ho un problema di cui non riesco a trovare una soluzione.
Ho questa funzione qua all'interno di una form:

Sub LoadListViewIngressoImprese()
    Dim ListViewElenco As New ListView
    Set ListViewElenco = Me.ListView_IngressoImprese.Object
    With Me.ListView_IngressoImprese
        .View = lvwReport
        .GridLines = True
        .FullRowSelect = True
        .ListItems.Clear
        .ColumnHeaders.Clear
    End With
    Set rstElenco = p_Elenco.Getrst
    LoadListViewFromRecordset ListViewElenco, rstElenco, 10000
    ListViewElenco.SortKey = 1
    ListViewElenco.Sorted = True
End Sub

Sto utilizzando una query, quando i dati nella tabella p_IngressoImprese sono presenti al suo interno non avviene alcun tipo di errore e avviene l'esecuzione di questo codice:

Public Sub rib_Pratica_DocumentiOnAction(control As IRibbonControl)
    Select Case control.Id
        Case "Sicurezza_IngressoImpresa"
            j = 1
            Set p_IngressoImpresa = New CIngressoImpresa
            p_IngressoImpresa.SetIdPratica = p_Pratica.GetId
            Set p_Elenco = p_IngressoImpresa
            p_Elenco.rstElenco
            PaginaVisibile Form_frm_P_Pratica.Pagine_Pratica, j
            RoutineA
            Form_frm_P_Pratica.AbilitaCtl
            SASMenu1 = True
            rib_Pratica.InvalidateControl ("rib_SASMenu1")
            SASMenu2 = False
            rib_Pratica.InvalidateControl ("rib_SASMenu2")
        End Select
End sub
Sub RoutineA()
    On Error GoTo HandleError
        Form_frm_P_Pratica.LoadListViewIngressoImprese
ExitHere:
    Exit Sub
HandleError:
    MsgBox ("Errore di Run-Time '380': 'Valore della proprietÓ non valido', Form_P_Pratica, Metodo: LoadListViewIngressoImprese, Comando che da errore: 'Set ListViewElenco = Me.ListView_IngressoImprese.Object', Vai su File: 'Compatta e ripristina Database' ")
    Resume ExitHere
End Sub

La query utilizzata Ŕ descritta in questo codice:

Function IElenco_rstElenco() As DAO.Recordset
    m_SQL = "SELECT Tab_P_IngressoImprese.ID, Tab_P_IngressoImprese.DataIngressoImpresa, Tab_A_Imprese.Ragione FROM Tab_A_Imprese INNER JOIN (Tab_P_Pratiche INNER JOIN Tab_P_IngressoImprese ON Tab_P_Pratiche.Id = Tab_P_IngressoImprese.Id_Pratica) ON Tab_A_Imprese.Id = Tab_P_IngressoImprese.id_Impresa"
    Set m_rst = CurrentDb.OpenRecordset(m_SQL + NzPratica(m_Id_Pratica), dbOpenDynaset)
    Set IElenco_rstElenco = m_rst
End Function
Private Function NzPratica(ByVal newValue As Integer) As String
    If newValue = 0 Then
        NzPratica = ""
    Else
        NzPratica = " WHERE Tab_P_IngressoImprese.Id_Pratica=" + Nzz(m_Id_Pratica)
    End If
End Function
Private Function Nzz(ByVal newValue As Integer) As String
    If newValue = 0 Then
        Nzz = "'*'"
    Else
        Nzz = CStr(newValue)
    End If
End Function

E' la funzione usata dall'interfaccia p_Elenco quando Ŕ settata come CIngressoImprese.
Come stavo dicendo quando Tab_P_IngressoImprese non contiene al suo interno non ha almeno un recordset con l'Id_Pratica corrispondente al dato della Tab_P_Pratiche.Id e corrispondente a un dato di Tab_A_Imprese.Id da errore, esempio ho una pratica in questo momento e ho salvato un m_Id_Pratica come valore 2 se non esiste almeno un  dato all'interno della tabella con Id_Pratica=2 mi darÓ l'errore nella listView sul comando:

Set ListViewElenco = Me.ListView_IngressoImprese.Object

Ovvero l'errore di run time /380' in visualizzazione struttura.
Sapete darmi una soluzione al problema?
Il problema Ŕ dovuto a cosa? Alla query o a qualcos'altro?



Edited by Platform - 21/Dic/2017 at 11:00
Back to Top
Sponsored Links


Back to Top
Platform View Drop Down
Utente Avanzato
Utente Avanzato
Avatar

Joined: 20/Set/2017
Status: Offline
Points: 955
Post Options Post Options   Thanks (0) Thanks(0)   Quote Platform Quote  Post ReplyReply Direct Link To This Post Posted: 21/Dic/2017 at 10:59
Ho trovato una soluzione al problema dopo tentavivi di vario genere(Non vi dico)
Ho pensato se il problema Ŕ dovuto al fatto che il recordset Ŕ vuoto allora impediamo che venga eseguito il comando:

Sub RoutineA()
    If p_Elenco.Getrst.EOF Then GoTo ExitHere
    On Error GoTo HandleError
        Form_frm_P_Pratica.LoadListViewIngressoImprese
ExitHere:
    Exit Sub
HandleError:
    MsgBox ("Errore di Run-Time '380': 'Valore della proprietÓ non valido', Form_P_Pratica, Metodo: LoadListViewIngressoImprese, Comando che da errore: 'Set ListViewElenco = Me.ListView_IngressoImprese.Object', Vai su File: 'Compatta e ripristina Database' ")
    Resume ExitHere
End Sub

In questo modo il comando
Form_frm_P_Pratica.LoadListViewIngressoImprese
non viene eseguito se non Ŕ necessario.
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,063 seconds.