Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323

    [VB] Problema con oggetto

    Ciao,
    ho una classa Località con un metodo (sotto riportato) ottengo un errore alla riga "combo.AddItem objrs("Descrizione")" l'errore è "OBJECT VARIABLE OR WITH BLOCK VARIABLE NOT SET"

    Devo fare da qualche parte "set di combo =...",come,dove ???


    codice:
    Public Function GetPaeseOnly(ByVal Value As Long) As ComboBox
        'per contenere SOLO le località del paese selezionato
        Dim objconn As New ADODB.Connection
        Dim objrs As New ADODB.Recordset
        Dim sql As String
        Dim combo As ComboBox
        
        sql = "select * from Localita where FKIDPaese=" & Value
        objconn.Open cnString
        objrs.Open sql, objconn
        
        If objrs.EOF Then
            Call MsgBox("Non esistono località per il paese selezionato", vbCritical, "Non esistono località")
        Else
            'riempe la combo delle località
            Do While Not objrs.EOF
                combo.AddItem objrs("Descrizione")
                objrs.MoveNext
            Loop
        End If
        
        Pulisci objrs
        Pulisci objconn
    End Function
    Thanks.
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  2. #2
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    nessuno riesce ad aiutarmi ? non ci credo.

    Il fatto è che questa combo è dichiarata dentro una classe e non esiste "fisicamente" sul form è SOLO una variabile oggetto che dovrebbe contenere un riferimento ad una generica combobox.

    Ho dichiarato la variabile oggetto con

    codice:
        Dim combo as Combobox
    poi uso il suo metodo "additem" per aggiungere elementi

    codice:
        combo.additem objrs("Descrizione")
    ma ottengo l'errore "Object variable or With block Not set",penso sia dovuto al fatto che lui si aspetti qualcosa del genere :

    codice:
        set combo=NEW Combobox
    ma non mi permette di eseguire questa riga di codice.
    Cosa devo fare allora ?
    E' la prima volta che mi capita una cosa del genere,di solito quando avevo bisogno di una combobox la creavo mediante la ToolBox.
    In questo caso per rispettare l'incapsulamento della classe voglio creare una combobox al suo interno e poi restituirla all'esterno e solo a quel punto assegnarla ad una combobox "fisicamente" presente sul form.

    Vi prego aiutatemi...non so proprio come fare ad andare avanti.

    Grazie 1000!
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  3. #3
    dichiarala così
    dim combo as new combobox
    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
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    ho già provato ma non me lo accetta...
    come faccio ?
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    102
    La combo l'hai gia' dichiarata
    codice:
    Dim combo as Combobox
    non serve settarla cosi
    codice:
    set combo=NEW Combobox
    La tua variabile oggetto devi associarla a un particolare controllo.

    Ti faccio un esempio
    codice:
    Dim txtmytext as textbox
    set txtmytext = frmmain.txtname
    
    txtmytext.text="Ciao"

    Laufer

  6. #6
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    Temo che gli oggetti non si possano dichiarare come vuoi tu, ma solo fare come già detto.
    Al massimo puoi creare nuovi oggetti partendo da altri oggetti esistenti ed indicizzati.

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.