[AccessD] Openargs Mystery

Darren darren at activebilling.com.au
Tue Apr 29 20:51:07 CDT 2014


"... And I am not putting down OpenArgs... just refuse to welcome them with OpenArms."

Gold, pure gold!


-----Original Message-----
From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Benson
Sent: Wednesday, 30 April 2014 1:43 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Openargs Mystery

Doesn't diminish the value of using a table for the same purpose and calling a function to extract,  use... even edit... the "OpenArgs" table if by naming it that way I make a small concession in favor of a property which I have come to quite happily exist without.

And I am not putting down OpenArgs... just refuse to welcome them with OpenArms.

As our esteemed colleague Darryl is fond of saying, YMMV and Horses for courses.

I prefer Hearses for Curses.

; l
On Apr 29, 2014 11:35 AM, "Rocky Smolin" <rockysmolin at bchacc.com> wrote:

> I have used OpenAgrs extensively since I 'discovered' them.  The most 
> useful thing I found is to combine OpenArgs with the split function to 
> pass multiple arguments.
>
> I have an audit trail form which pops up when the user does an 
> inventory transaction.  It has a lot of fields and can be called from 
> a variety of places in the application and lots of different sources 
> for the same field in the audit trail record.
>
> So I call it like this concatenating the arguments separated by commas:
>         DoCmd.OpenForm "frmAuditTrail", , , , , acDialog, 
> (Me.PartNumber & "," _
>             & dblDiff & "," _
>             & dblOldQOH & "," _
>             & dblOldQOH + dblDiff & "," _
>             & Nz(Forms!frmSupplySide!txtStandardCost) & "," _
>             & Nz(Me.OrderNumber, "") & "," _
>             & 2)
>         End If
>
> Then in the audit trail form I Dim varOpenargs() As String
>
> And in the _Open event simply
>
>     ' parse OpenArgs
>     varOpenargs() = Split(Nz(Me.OpenArgs), ",")
>
> Each of the arguments is then available in the varOpenArgs array.  For
> example:
>
> ' OpenArgs
> ' 0 part number
> ' 1 transaction quantity
> ' 2 old balance
> ' 3 new QOH
> ' 4 std cost
> ' 5 audit reference
> ' 6 audit type
> ' 7 lot serial
> ' 8 source location
> ' 9 target location
> '10 old source QOH
> '11 old target QOH
> '12 new source QOH
> '13 new target QOH
>
> ' 1) Shipment, 2) Receipt, 3) To WIP,
> ' 4) Physical Inv., 5) Dir Chg. QOH,
> ' 6) Shortage, 7) Scrap 8) Edit MIL, 9) Other
>
>     Me.txtPartNumber = varOpenargs(0)
>     Me.txtXactQty = varOpenargs(1)
>     Me.txtOldBalance = varOpenargs(2)
>     Me.txtNewBalance = varOpenargs(3)
>     Me.txtStandardCost = Format(varOpenargs(4), "###,###,###.####")
>     Me.txtTotalStandardCost = Val(Nz(varOpenargs(1))) * Val(varOpenargs(4))
>     If gdblActualCost = 0 Then
>         Me.txtActualCost = Format(varOpenargs(4), "###,###,###.####")
>         Me.txtTotalActualCost = Val(Nz(varOpenargs(1))) *
> Val(varOpenargs(4))
>     Else
>         Me.txtActualCost = Format(gdblActualCost, "###,###,###.####")
>         Me.txtTotalActualCost = Val(Nz(varOpenargs(1))) * gdblActualCost
>     End If
>
> HTH someone
>
> Rocky
>
>
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Benson
> Sent: Tuesday, April 29, 2014 8:13 AM
> To: 'Access Developers discussion and problem solving'
> Subject: Re: [AccessD] Openargs Mystery
>
> This is more like it!
>
> Thanks Jim, I agree with you.
>
> Art, you can cancel my request unless you disagree with Jim!
>
> 'Twould be a purdy stupid property that dissipates just before you need it.
> Kinda the opposite of Experience, which doesn't show up until after 
> you need it.
>
> For the record, I believe in global variables and 
> SaveSettings/GetSettings
> -
> even, on occasion, in temp tables - because you can reach and/or 
> modify these at will from all over an application (even after a 
> Compact & Repair in the latter's case...) without relying on something 
> sent into an opening form's arguments.
>
> I guess I might use OpenArgs if I knew for sure I would never open a 
> form recursively or open one form that might consume/destroy the data 
> I could possibly need for another form. On the other hand, the same 
> logic that tells me what to set for OpenArgs could be telling me what 
> to be storing as which controllers, for which Forms, in an 
> OPENING_DIRECTIVES table which I intend to look up to from within the 
> opening form. That way I get different data types to play with, not 
> some densely populated string which OpenArgs is.
>
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman
> Sent: Tuesday, April 29, 2014 10:59 AM
> To: 'Access Developers discussion and problem solving'
> Subject: Re: [AccessD] Openargs Mystery
>
>
> Their good for the life of the form as long as you don't break code 
> execution.
>
> Jim.
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur 
> Fuller
> Sent: Tuesday, April 29, 2014 10:39 AM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Openargs Mystery
>
> Rocky,
>
> This is known behaviour. If you really want to keep the OpenArgs then 
> grab them immediately and store them; otherwise they are toast as soon 
> as anything happens.
>
>
> On Tue, Apr 29, 2014 at 10:32 AM, Gustav Brock <gustav at cactus.dk> wrote:
>
> > Hi Rocky
> >
> > Have you tried removing the call of adhScaleForm?
> >
> > /gustav
> >
> > -----Oprindelig meddelelse-----
> > Fra: accessd-bounces at databaseadvisors.com [mailto:
> > accessd-bounces at databaseadvisors.com] På vegne af Rocky Smolin
> > Sendt: 29. april 2014 15:52
> > Til: 'Access Developers discussion and problem solving'
> > Emne: [AccessD] Openargs Mystery
> >
> > Dear List:
> >
> > I call a form which is bound to a table with a list of companies.  
> > The called form is where the data for the company is entered/edited.  
> > So I
> pass
> > the autonumberID, the PK of the company to the called form, do a
> FindFirst,
> > and walla! company is displayed.  I use this technique a lot.
> >
> > So the calling statement is:
> >
> >       DoCmd.OpenForm "frmAssociations", , , , , , 
> > Me.fldSRAssociationID
> >
> > I put a breakpoint here and hover over Me.fldSRAssociationID and 
> > sure enough the value  10005 is in Me.fldSRAssociationID.
> >
> > Press F8 and the _Open event of the called form executes:
> >
> > Private Sub Form_Open(Cancel As Integer)
> >
> >     Call adhScaleForm(Me, 1600, 800, 96, 96, rctOriginal)
> >
> >     If Not IsNull(Me.OpenArgs) Then
> >         Me.RecordsetClone.FindFirst "fldAssociationID = " &
> > Val(Me.OpenArgs)
> >         Me.Bookmark = Me.RecordsetClone.Bookmark
> >     End If
> >
> > End Sub
> >
> > At the point where the first line of code is ready to execute (I'm 
> > in break mode now so the execution stops on every line) I hover over 
> > Me.OpenArgs and it shows Me.OpenArgs = Null.
> >
> > Where's my OpenArg?  Why does it disappear.  I never saw this 
> > behavior before.  Any ideas?
> >
> > This is A2003 BTW.
> >
> > MTIA
> >
> > Rocky
> >
> >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
>
>
>
> --
> Arthur
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
--
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