implements statement

H

Hemant_india

hi everybody
i have copied the the code below from helpFile from "Implement statement"
and have pasted the code accordingly . while running the coed i get error
message as "Method or Data Member not defined when i click any of the
commandButton
please explain
The following code for the shared declarations is in a class called
PersonalData:
Public Name As String
Public Address As String
The code supporting the customer data is in a class module called Customer:
Implements PersonalData
Private Property Get PersonalData_Address() As String
PersonalData_Address = "CustomerAddress"
End Property

Private Property Let PersonalData_Address(ByVal RHS As String)
'
End Property

Private Property Let PersonalData_Name(ByVal RHS As String)
'
End Property

Private Property Get PersonalData_Name() As String
PersonalData_Name = "CustomerName"
End Property
The code supporting the supplier data is in a class module called Supplier:
Implements PersonalData

Private Property Get PersonalData_Address() As String
PersonalData_Address = "SupplierAddress"
End Property

Private Property Let PersonalData_Address(ByVal RHS As String)
'
End Property

Private Property Let PersonalData_Name(ByVal RHS As String)
'
End Property

Private Property Get PersonalData_Name() As String
PersonalData_Name = "SupplierName"
End Property
The following code supports the Selector form:
Private cust As New Customer
Private sup As New Supplier

Private Sub Command1_Click()
Dim frm2 As New Form2
Set frm2.PD = cust
frm2.Show 1
End Sub

Private Sub Command2_Click()
Dim frm2 As New Form2
Set frm2.PD = sup
frm2.Show 1
End Sub
The following code supports the Data Entry form:
Private m_pd As PersonalData
Private Sub Form_Load()
With m_pd
Text1 = .Name
Text2 = .Address
End With
End Sub
Public Property Set PD(Data As PersonalData)
Set m_pd = Data
End Property
 
K

keepITcool

remember classes are objects and must be initialized.

in form2 either
dim m_pd as NEW personaldata
or add Form_Initialize()
Set m_pd=new personaldata

Further when you study implements:
Create the properties GET/LET/SET in your BASE class.
(dont use simple public variables)

Then in the cust/supp class modules you can use the
combo's in the top of the modulewindow to easily implement
the derived classes props.

--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Hemant_india wrote in
 
H

Hemant_india

hi keep'cool

Dim frm2 As New Form2'<====Here I get error msg
i am still confused.
 
K

keepITcool

missed your post. s/b a reply to mine :)

Add Option Explicit to all your modules and classes.
then try to compile.

If Form2 cannot compile you'll get the error as indicated.
I had your code working, but binned the project.

--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Hemant_india wrote in
 
H

Hemant_india

hi keepITcool
why binned the project?
i waiting for your guidance
i hope u are not angry at me :)
 
K

keepITcool

AHA..
I just noticed you copied your code exactly
from VBA help.

That example is faulty, as it applies to VB forms
not VBA userforms.

Also (as stated earlier) i have a few gripes with using public
variables in the base class.

I've recreated the project..it's waiting for you.
drop me an email to keepitcool AT chello DOT nl
and you'll get a working copy by return.

--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Hemant_india wrote in
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top