Solved

Object required  item.key

Posted on 2004-08-03
5
344 Views
Last Modified: 2008-03-10
Hello I get an error of object not found

Why cant my program not find the object ,
im using this as a function in a bas module



Public t As Integer  

Public Sub HideDriveFunction()

Dim X

Item.Selected = True     ' i get error here  object not found - runtime error 424
X = Item.Key                ' i get error here  object not found - runtime error 424

    If X = "Optoin1" Then
    If ListView1.SelectedItem.Checked = True Then
    t = t + 1
    End If
    End If
   
    If X = "Option2" Then
    If ListView1.SelectedItem.Checked = False Then
    t = t - 1
    End If
    End If
   
   

For i = 1 To ListView1.ListItems.Count
    If ListView1.ListItems(i).Checked Then
        ListView1.ListItems(i).Selected = True
   
    Else
        ListView1.ListItems(i).Selected = False
   
    End If

Next i

MsgBox t

End Sub
0
Comment
Question by:Jimmyx1000
5 Comments
 
LVL 28

Expert Comment

by:AzraSound
ID: 11712505
What is Item?  It is not declared anywhere.   If you are calling this function from a form that has an Item variable you need to pass it to this function, e.g.,

Public Sub HideDriveFunction(Item As WhateverTheHeckThisItemVariableRepresents)
0
 
LVL 14

Accepted Solution

by:
aelatik earned 500 total points
ID: 11712650
Jimmy,

First of all you need to declare X on top of your BAS Modukle ( outside the sub's and function's )
And within the Listview's ItemCheck SUB you need to set X to be the KEY.
After that you can use it in other subs :


Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
 X = Item.Key
End Sub
0
 
LVL 26

Expert Comment

by:EDDYKT
ID: 11714354
Or just


ie

If form1.ListView1.SelectedItem.Checked = True Then

where form1 is your form name
0
 

Author Comment

by:Jimmyx1000
ID: 11721048
Ok Basically i want to run the code below as a function from
a bas module

but get the error

' i get error  object not found - runtime error 424

if i run the code normally from my form1. it works fine
but when i insert the code into a bas module and run the function from
my form1. i get the 2 errors below.

what do i need to do to get this function to work from bas module.
------------------------------------------------------------------------

Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)

Dim X

Item.Selected = True      ' i get error here  object not found - runtime error 424
X = Item.Key                 ' i get error here  object not found - runtime error 424

    If X = "Option1" Then
    If ListView1.SelectedItem.Checked = True Then
    t = t + 1
    End If
    End If
   
    If X = "Option1" Then
    If ListView1.SelectedItem.Checked = False Then
    t = t - 1
    End If
    End If
   
   
   

For i = 1 To ListView1.ListItems.Count
    If ListView1.ListItems(i).Checked Then
        ListView1.ListItems(i).Selected = True
   
    Else
        ListView1.ListItems(i).Selected = False
   
    End If

Next i

MsgBox t


End Sub
0
 
LVL 28

Expert Comment

by:AzraSound
ID: 11759657
If called from a bas module you have to make specify which form object's originate from, e.g.,

ListView1 must be Form1.ListView1

etc.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now