Hi Michel,
Thanks. I've just searched MSDN site for TLBINF32.dll to
no avail. So, first I need to buy a copy of Visual
Studio 6.0, correct? or ...?
Don
-----Original Message-----
Hi,
I don't think there would be a problem with
Access 97, but I can't
try it. The easiest way to put your hand on TLBINF32.dll
is through Visual
Studio; I am not aware if it can be redistribute freely
otherwise... maybe
you can check if it is available as download from MSDN
(but I seriously
doubt it is). The program is based on the fact that a
com-base element
"announces" its "methods" in a standard way. The program
just retrieve those
announces. As example, for Access 2003,
===========================
Function GetClassInfo() As String
Dim TLIapp As New TLI.TLIApplication
Dim ParamInfo As TLI.ParameterInfo
Dim Members As TLI.Members
Dim MemberInfo As TLI.MemberInfo
Dim s As String
Dim temp As String
Dim xx As Object
Dim xxxx As Form_Form1
Set xxxx = New Form_Form1
Set xx = TLIapp.InterfaceInfoFromObject(xxxx)
Set Members = TLIapp.InterfaceInfoFromObject
(Application.DoCmd).Members
For Each MemberInfo In Members
With MemberInfo
s = vbNullString
For Each ParamInfo In .Parameters
s = s & ParamInfo.Name & ", "
Next
If Right(s, 2) = ", " Then s = Left(s, Len
(s) - 2)
s = "(" & s & ")"
temp = temp & .MemberId & " " & .Name & s &
vbCrLf
End With
Next MemberInfo
GetClassInfo = temp
End Function
=====================
prints, (partial listing)
=====================
1025 RepaintObject(ObjectType, ObjectName)
1026 Rename(NewName, ObjectType, OldName)
1027 Restore()
1030 RunMacro(MacroName, RepeatCount, RepeatExpression)
1031 RunSQL(SQLStatement, UseTransaction)
1032 SelectObject(ObjectType, ObjectName,
InDatabaseWindow)
1035 SetWarnings(WarningsOn)
1036 ShowAllRecords()
1039 OpenReportOld0(ReportName, View, FilterName,
WhereCondition)
=====================
and, as you see, the sequence of numbers is not
necessary continuous.
Basically, it will be the list of Application.Method
(arguments)
Hoping it may help,
Vanderghast, Access MVP
Hi Michel,
Thank you very much for the follow-up. A couple of
things here.
A) the current FORM -based app is on Access 97,
conversion to Access 2000 failed and we don't bother to
see what's going on there).
B) Probably I don't have any VB software on my box (XP
Professional), I guess the box may have some sort of VB
support but don't if it's complete or sort of like
that.
C) Does your following VB program essentially provide
the
function of adding a new member to the field of [Name]
and assuming [MemberId] is autonumber, the underlying
table name is "Members"? Sorry I've never written a
single line in VB.
Best regards,
Don
-----Original Message-----
Hi,
You can try Application.LoadFromText, undocumented
and unsupported (so,
at your own risk if it broke in the next version) and
parse the text of the
definition, or try to use the vbe object (Access 2000
and later). If you own
VB6, you can try something like (need a reference to
TLBINF32.dll) the
following to get all the exposed method of an object
(here, Form_From1):
===========================
Option Compare Database
Option Explicit
Function GetClassInfo() As String
Dim TLIapp As New TLI.TLIApplication
Dim ParamInfo As TLI.ParameterInfo
Dim Members As TLI.Members
Dim MemberInfo As TLI.MemberInfo
Dim s As String
Dim temp As String
Dim xx As Object
Dim xxxx As Form_Form1
Set xxxx = New Form_Form1
Set xx = TLIapp.InterfaceInfoFromObject(xxxx)
Set Members = TLIapp.InterfaceInfoFromObject
(xxxx).Members '
Application.DoCmd).Members
For Each MemberInfo In Members
With MemberInfo
s = vbNullString
For Each ParamInfo In .Parameters
s = s & ParamInfo.Name & ", "
Next
If Right(s, 1) = "," Then s = Left(s, Len
(s) - 1)
s = "(" & s & ")"
temp = temp & .MemberId & " " & .Name & s
&
vbCrLf
End With
Next MemberInfo
GetClassInfo = temp
End Function
=============================
Use:
? GetClassInfo()
You still have to identify the form used as subform
(rather than using
Form1).
Hoping it may help,
Vanderghast, Access MVP
Michel,
Thank you for your follow-up, it's good to know.
Here's
a further question along the line, I'm posting a
Design
View of the FORM in question, what I intend to do
is to
figure out all the subfunctions contained in
subforms
etc
from this View or other means via the FORM, any
further
guidance would be much appreciated, the URL for the
screen capture of the FORM is,
http://68.32.63.205/AccessFORM/Form1.GIF
TIA
Don
-----Original Message-----
Hi,
The data is captured through the relation
between
a
control (on the
form) and the field (in the table) through the
control
property
ControlSource.
Me.ControlName.ControlSource="fieldName"
When a dirty record is to be saved (going to
another
record, closing the
form), the data will be exchange from the form to
the
table. When a new
record is about to be display, the exchange is
reversed,
from the table to
the control. You have no code to produce for a form
bound to a table (or
query) through the form property RecordSource.
That
is
done automatically
for you, in that case. That would not be the case
for
an
unbound form.
Hoping it may help,
Vanderghast, Access MVP
in
message
Hi,
I'm not a stranger to Access but I don't use
FORMs
for
applications.
Now, I'm tasked to develop a web app based on a
complex
FORM -based
app, the current FORM -based app works but has
problems (
one indicator: the recordset type
= Dynaset (Inconsistent Updates) ).
The design view points me to record source
(query)
behind
the form (it's a SELECT query in this case I
find),
however, the FORM in question embeds lots of
business
rules, lots of functions and/or subforms, what's
a
good
way to get to all these functions/subforms,
their interaction, and equally important, how
the FORM is going to be processed (maybe, I'm
talking
in
Web terms
, but bear with me, the question is,
how
are
we going to capture the FORM data? What gives me
the
clue? How could I find the VB code for
that?
TIA.
.
.
.