[AccessD] A2003: Table Driven button list on Continuous Forms

Mark A Matte markamatte at hotmail.com
Thu Sep 11 10:05:37 CDT 2008


Darren,

Glad to help...and thank you for the compliment...

I've used this technique for a number of things...especially when I don't have a lot of space.  1 app has a report/status screen...and the user needs to toggle between 3 different recordsets and I didn't want them to go to a different form for each view...so I have 1 subform...and 3 buttons...each button just changes the control source of the subform to display whatever query/recordset I choose.

I suppose that could be done with your tab situation.

Good luck.

Thanks Again,

Mark A. Matte

 



> From: darren at activebilling.com.au
> To: accessd at databaseadvisors.com
> Date: Thu, 11 Sep 2008 10:03:47 +1000
> Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms
>
> Hi Mark
>
> Genius - Love it - It does exactly what I wanted - I only went with Cont Forms
> as I thought this would be the best way to achieve buttons on the fly
>
> This has opened a whole new world for this project and I can go back to single
> record forms as my subform - Way Cool
>
> This may also sort out an issue I have with a set number of TABS on the form not
> being enough and having to add more in design view then redistribute the app,
> versus 'creating' the required number on the fly - oooooh I am excited
>
> Many many thanks
>
> Darren
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte
> Sent: Wednesday, 10 September 2008 11:58 PM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms
>
>
> Sorry...this is not on a continuos form...but I think the concept is here in
> spirit. If you have 5 records...you get 5 buttons...3 records...3 buttons.
>
> Mark
>
>
>> From: markamatte at hotmail.com
>> To: accessd at databaseadvisors.com
>> Date: Wed, 10 Sep 2008 12:51:46 +0000
>> Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms
>>
>>
>> Darren,
>>
>> I done something similar...but not with buttons. So I modified to see if I
> could get what you need. I used a form,subform, and table. I got the idea from a
> sample Candace Tripp had on her site years ago. There is no error
> handling...just code.
>>
>> Let me know if you have any questions or need a sample mdb.
>>
>> Thanks,
>>
>> Mark A. Matte
>>
>> Here is the code for each form:
>> SubForm: sfrmMyButtons
>>
>> Option Compare Database
>>
>> Function ImClicked()
>> Dim CNM
>> Dim ctlCurrentControl As Control
>>
>> Set ctlCurrentControl = Screen.ActiveControl
>> CNM = Right(ctlCurrentControl.Name, Len(ctlCurrentControl.Name) - 4)
>>
>> If Me("tgl_" & CNM) = 0 Or IsNull(Me("tgl_" & CNM)) = True Then
>> Me("tgl_" & CNM) = -1
>> Me("lb1_" & CNM).Visible = False
>> Me("lb2_" & CNM).Visible = True
>> Else
>> Me("tgl_" & CNM) = 0
>> Me("lb1_" & CNM).Visible = True
>> Me("lb2_" & CNM).Visible = False
>> End If
>> End Function
>>
>>
>> Main Form: frmMakeButton
>>
>>
>> Function MakeButtons()
>> Dim dbs As Database, rst As Recordset, intI As Integer
>> Dim ctlLabel As Control, ctlText As Control, ctlToggle As Control, ctlButton
> As Control
>> Dim intDataX As Integer, intDataY As Integer
>> Dim intLabelX As Integer, intLabelY As Integer
>> DoCmd.OpenForm "sfrmMyButtons", acDesign
>>
>> Dim ctl As Control
>> LoopAgain:
>> For Each ctl In Forms!sfrmMyButtons.Controls
>> Dim test
>> DeleteControl "sfrmMyButtons", ctl.Name
>> Next ctl
>> If Forms!sfrmMyButtons.Controls.Count> 0 Then GoTo LoopAgain
>> Set dbs = CurrentDb
>> Set rst = dbs.OpenRecordset("SELECT Table2.emails FROM Table2 WHERE
> Table2.Group= '" & [Forms]![frmMakeButton]![Combo3] & "';")
>>
>> rst.MoveLast
>> rst.MoveFirst
>>
>> intLabelX = 100
>> intLabelY = 100
>> intDataX = 1000
>> intDataY = 100
>>
>> For intI = 1 To rst.RecordCount
>> '********************************
>> Set ctlToggle = CreateControl("sfrmMyButtons", acToggleButton, , "", "",
> intLabelX, intLabelY, 2000, 500)
>> ctlToggle.Name = "tgl_" & rst!emails
>> ctlToggle.TabStop = 0
>> ctlToggle.Enabled = False
>> Set ctlLabel = CreateControl("sfrmMyButtons", acLabel, , "",
> "66666666662222222000000", intLabelX, intLabelY, 2000, 500)
>> ctlLabel.Name = "lb1_" & rst!emails
>> ctlLabel.Caption = rst!emails
>> ctlLabel.TextAlign = 2
>> Set ctlLabel = CreateControl("sfrmMyButtons", acLabel, , "",
> "66666666662222222000000", intLabelX, intLabelY + 100, 2000, 500)
>> ctlLabel.Name = "lb2_" & rst!emails
>> ctlLabel.Caption = rst!emails
>> ctlLabel.TextAlign = 2
>> ctlLabel.Visible = False
>> Set ctlButton = CreateControl("sfrmMyButtons", acCommandButton, , "",
> "66666666662222222000000", intLabelX, intLabelY, 2000, 500)
>> ctlButton.Visible = True
>> ctlButton.Name = "cmd_" & rst!emails
>> ctlButton.Transparent = True
>> ctlButton.OnMouseDown = "=imClicked()"
>> ctlButton.OnMouseUp = "=imClicked()"
>> intLabelY = intLabelY + 500
>>
>> '********************************
>> rst.MoveNext
>>
>> Next intI
>> Set dbs = Nothing
>> Set rst = Nothing
>> DoCmd.Close acForm, "sfrmMyButtons", acSaveYes
>> End Function
>>
>> Private Sub Combo3_AfterUpdate()
>> Me!sfrmMyButtons.SourceObject = ""
>> MakeButtons
>> Me!sfrmMyButtons.SourceObject = "sfrmMyButtons"
>> End Sub
>>
>>> From: darren at activebilling.com.au
>>> To: accessd at databaseadvisors.com
>>> Date: Tue, 9 Sep 2008 09:52:18 +1000
>>> Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms
>>>
>>> Hi Kath
>>>
>>> Thanks for the reply
>>> I just wanted to build a list of buttons (that grows and shrinks)on a
> continuous
>>> form for each of our clients. Clients are selected by tabs and the list of
>>> buttons is 'built' on each tab click (In a sub form). The table is a list of
>>> applications each client has and I want a button list of their applications
> and
>>> I wanted the caption on the button and the list of buttons to be table
> driven.
>>>
>>> That ain't gonna work. So I used a transparent text box over the no caption
>>> button that looked OK until you click it. Then the mouse simply moves to the
>>> text box and the text of 'the button' is selected. Then I wanted the 'look'
> of a
>>> button being pushed and look of a button being released when the mouse got to
>>> this transparent text box. Too tricky
>>>
>>> I gave up - can't easily be done and I have already used an inappropriate
> amount
>>> of time chasing the 'look'
>>>
>>> Darren
>>>
>>> -----Original Message-----
>>> From: accessd-bounces at databaseadvisors.com
>>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kath Pelletti
>>> Sent: Tuesday, 9 September 2008 9:10 AM
>>> To: Access Developers discussion and problem solving
>>> Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms
>>>
>>> Darrren -
>>>
>>> I'm not sure that I *entirely* understand what you are trying to do, but if
>>> you want bound controls which look like rounded buttons, then can draw a
>>> rounded button (in Word or PPoint), and then sit the bound control on top of
>>> it (text box) and set it's back style to transparent.
>>>
>>> Why do you need a mouse down/up event?
>>>
>>> kath
>>>
>>> ----- Original Message -----
>>> From: "Darren D"
>>> To: "'Access Developers discussion and problem solving'"
>>>
>>> Sent: Monday, September 08, 2008 10:24 PM
>>> Subject: [AccessD] A2003: Table Driven button list on Continuous Forms
>>>
>>>
>>>> Hi All
>>>>
>>>>
>>>>
>>>> I have a table of application names that will grow and shrink with many
>>>> fields
>>>> but the 2 of interest are.
>>>>
>>>> APPID = AutoNumber and AppName = Text
>>>>
>>>>
>>>>
>>>> I want a continuous form to have a button for each item in that table.
>>>>
>>>> Trouble is It is a bit tricky to get the caption for each button to = the
>>>> AppName for each record in the table
>>>>
>>>> I can 'fake' it using labels but if I write a routine to simulate a mouse
>>>> down
>>>> and mouse up to mimic raises and depressions then
>>>>
>>>> all the labels that are simulated buttons on the form depress and raise at
>>>> the
>>>> same time
>>>>
>>>> Besides I would prefer to have the 'rounded' look to the buttons simply to
>>>> match
>>>> the rest of my screen design
>>>>
>>>>
>>>>
>>>> I know many people have done this sort of thing before - But how have you
>>>> managed it on a continuous form driven by a table
>>>>
>>>>
>>>>
>>>> Many thanks in advance
>>>>
>>>>
>>>>
>>>> Darren
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>
>> _________________________________________________________________
>> See how Windows connects the people, information, and fun that are part of
> your life.
>> http://clk.atdmt.com/MRT/go/msnnkwxp1020093175mrt/direct/01/
>> --
>> AccessD mailing list
>> AccessD at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/accessd
>> Website: http://www.databaseadvisors.com
>
> _________________________________________________________________
> Stay up to date on your PC, the Web, and your mobile phone with Windows Live.
> http://clk.atdmt.com/MRT/go/msnnkwxp1020093185mrt/direct/01/
> --
> 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

_________________________________________________________________
See how Windows Mobile brings your life together—at home, work, or on the go.
http://clk.atdmt.com/MRT/go/msnnkwxp1020093182mrt/direct/01/



More information about the AccessD mailing list