[AccessD] Solution Looking for a Problem

Jim Dettman jimdettman at verizon.net
Thu Jan 22 07:01:32 CST 2009


  Been doing that since A2 days<g>.  All this is nothing new; it's straight
out of the ADH.  Typical call with open args:

"ADD;SETCTRLTODATA=txtCustomerID:" & NewData & ";EXITTOFORM=frmLoad"

 and the generic form routine:

      ' Set any controls required by calling form.
      varOpenArgs = Nz(frm.OpenArgs, "")
      If Not (varOpenArgs = "") Then
        var = glrGetTagFromString(varOpenArgs, "SETCTRLTODATA")
        If Not IsNull(var) Then Call SetControlsToData(frm, Mid$(var, 1))
      End If

And the actual routine:

Sub SetControlsToData(frm As Form, strData As String)

  ' Set controls on frm to values contained in strData.
  ' Delimiter is a ":".  Format of strData is control name: value.
  
  Dim intPairNumber As Integer
  Dim varControlName As Variant
  Dim varData As Variant
  intPairNumber = 1

  Do
    varControlName = dhExtractString(strData, intPairNumber, ":")
    If varControlName = "" Then Exit Do
    varData = dhExtractString(strData, intPairNumber + 1, ":")
    frm(varControlName) = varData
    intPairNumber = intPairNumber + 2
  Loop

End Sub

  John's not the only one with a framework, although I don't as much class
stuff as he does.  Most of my stuff was written along ago and works well
enough not to tinker with it.

Jim. 

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka
Sent: Wednesday, January 21, 2009 7:02 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Solution Looking for a Problem

For doing something like this, you could go even further and do this:

OpenArgs="txtPartNumber=Something|txtXactQty=Somethingelse"

Dim strArray() as String
Dim strItems() as String
Dim I as long
strArray=split(me.OpenArgs,"|")
for i=0 to ubound(strArray)
	strItems=Split(strArray(i),"=")
	Me(strItems(0))=strItems(1)
Next i

That way you can change the open arguments without changing the code
behind the form.  Of course, this only works if you are just setting the
values of controls.

Drew

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin
at Beach Access Software
Sent: Wednesday, January 21, 2009 2:46 PM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] Solution Looking for a Problem

I needed to pass multiple arguments to a pop up form through OpenArgs.
So I
needed to parse them.  Found this on the web:
 
Dim Hold_OpenArgValues() as String
Hold_OpenArgValues()=Split(Me.OpenArgs, "|")
 
except I DIMmed Hold_OpenArgValues as varOpenArgs as Variant.
 
and walla!  the three comma delimited arguments I passed showed up just
where they were supposed to:
 
    Me.txtPartNumber = varOpenargs(0)
    Me.txtXactQty = varOpenargs(1)
    Me.txtAuditReference = varOpenargs(2)

Note the array is zero based. 
 
One line to parse openargs! (not counting the DIM)  
 
Who knew?
 


 	
	
 

Rocky Smolin

Beach Access Software

858-259-4334

www.e-z-mrp.com <http://www.e-z-mrp.com/> 

www.bchacc.com <http://www.bchacc.com/> 

 

 


-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
The information contained in this transmission is intended only for the
person or entity to which it is addressed and may contain II-VI Proprietary
and/or II-VI Business Sensitive material. If you are not the intended
recipient, please contact the sender immediately and destroy the material in
its entirety, whether electronic or hard copy. You are notified that any
review, retransmission, copying, disclosure, dissemination, or other use of,
or taking of any action in reliance upon this information by persons or
entities other than the intended recipient is prohibited.


-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list